[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