[FFmpeg-devel] [PATCH] avcodec: Add avpriv_codec_get_cap_skip_frame_fill_param()

James Almer jamrial at gmail.com
Wed Apr 20 20:05:40 CEST 2016


On 4/20/2016 2:49 PM, Michael Niedermayer wrote:
> With this the use of the caps_internal from libavormat can be avoided
> 
> TODO: bump version
> 
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/internal.h |    2 ++
>  libavcodec/utils.c    |    4 ++++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/libavcodec/internal.h b/libavcodec/internal.h
> index 24d320c..6c0efec 100644
> --- a/libavcodec/internal.h
> +++ b/libavcodec/internal.h
> @@ -293,6 +293,8 @@ const uint8_t *avpriv_find_start_code(const uint8_t *p,
>                                        const uint8_t *end,
>                                        uint32_t *state);
>  
> +int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
> +
>  /**
>   * Check that the provided frame dimensions are valid and set them on the codec
>   * context.
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 44843a4..9766bb0 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -1160,6 +1160,10 @@ int av_codec_get_max_lowres(const AVCodec *codec)
>      return codec->max_lowres;
>  }
>  
> +int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){
> +    return !!(codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM);
> +}

Might as well do a generic accessor function like "int avpriv_codec_get_caps(const AVCodec *codec)"
or "int avpriv_codec_check_cap(const AVCodec *codec, int cap)" if this field is going to be used
outside lavc.
If for whatever reason any of the other flags need to be checked in lavf, you'll not need to
introduce another avpriv function.

> +
>  static void get_subtitle_defaults(AVSubtitle *sub)
>  {
>      memset(sub, 0, sizeof(*sub));
> 



More information about the ffmpeg-devel mailing list