[FFmpeg-devel] [PATCH] avcodec: deprecate getters and setters for AVCodecContext and AVCodec fields
James Almer
jamrial at gmail.com
Wed Nov 15 06:20:55 EET 2017
On 11/13/2017 12:16 AM, James Almer wrote:
> The fields can be accessed directly, so these are not needed anymore.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> libavcodec/avcodec.h | 20 ++++++++++++++++++++
> libavcodec/utils.c | 2 ++
> libavcodec/version.h | 3 +++
> 3 files changed, 25 insertions(+)
>
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 8c76c9f908..9fda5dc270 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -3235,22 +3235,39 @@ typedef struct AVCodecContext {
> int apply_cropping;
> } AVCodecContext;
>
> +#if FF_API_CODEC_GET_SET
> +/**
> + * Accessors for some AVCodecContext fields. These used to be provided for ABI
> + * compatibility, and do not need to be used anymore.
> + */
> +attribute_deprecated
> AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);
> +attribute_deprecated
> void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val);
>
> +attribute_deprecated
> const AVCodecDescriptor *av_codec_get_codec_descriptor(const AVCodecContext *avctx);
> +attribute_deprecated
> void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc);
>
> +attribute_deprecated
> unsigned av_codec_get_codec_properties(const AVCodecContext *avctx);
>
> +attribute_deprecated
> int av_codec_get_lowres(const AVCodecContext *avctx);
> +attribute_deprecated
> void av_codec_set_lowres(AVCodecContext *avctx, int val);
>
> +attribute_deprecated
> int av_codec_get_seek_preroll(const AVCodecContext *avctx);
> +attribute_deprecated
> void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
>
> +attribute_deprecated
> uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);
> +attribute_deprecated
> void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);
> +#endif
>
> /**
> * AVProfile.
> @@ -3387,7 +3404,10 @@ typedef struct AVCodec {
> const char *bsfs;
> } AVCodec;
>
> +#if FF_API_CODEC_GET_SET
> +attribute_deprecated
> int av_codec_get_max_lowres(const AVCodec *codec);
> +#endif
>
> struct MpegEncContext;
>
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index b3a578110b..e50de6e89b 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -552,6 +552,7 @@ enum AVPixelFormat avpriv_find_pix_fmt(const PixelFormatTag *tags,
> return AV_PIX_FMT_NONE;
> }
>
> +#if FF_API_CODEC_GET_SET
> MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase)
> MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)
> MAKE_ACCESSORS(AVCodecContext, codec, int, lowres)
> @@ -567,6 +568,7 @@ int av_codec_get_max_lowres(const AVCodec *codec)
> {
> return codec->max_lowres;
> }
> +#endif
>
> int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){
> return !!(codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM);
> diff --git a/libavcodec/version.h b/libavcodec/version.h
> index 9c17e5716d..f4872267f1 100644
> --- a/libavcodec/version.h
> +++ b/libavcodec/version.h
> @@ -120,6 +120,9 @@
> #ifndef FF_API_GETCHROMA
> #define FF_API_GETCHROMA (LIBAVCODEC_VERSION_MAJOR < 59)
> #endif
> +#ifndef FF_API_CODEC_GET_SET
> +#define FF_API_CODEC_GET_SET (LIBAVCODEC_VERSION_MAJOR < 59)
> +#endif
>
>
> #endif /* AVCODEC_VERSION_H */
Pushed alongside some patches removing their usage (i think i didn't
miss any).
More information about the ffmpeg-devel
mailing list