[FFmpeg-devel] [PATCH] lavc/libaomdec: fix build without AOM_CTRL_AOMD_GET_FRAME_FLAGS

James Almer jamrial at gmail.com
Sat Apr 17 21:15:56 EEST 2021


On 4/17/2021 2:31 PM, Anton Khirnov wrote:
> ---
>   libavcodec/libaomdec.c | 22 ++++++++++++----------
>   1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
> index 6de3bcc5c3..143c45b620 100644
> --- a/libavcodec/libaomdec.c
> +++ b/libavcodec/libaomdec.c
> @@ -161,7 +161,6 @@ static int aom_decode(AVCodecContext *avctx, void *data, int *got_frame,
>       AVFrame *picture      = data;
>       const void *iter      = NULL;
>       struct aom_image *img;
> -    aom_codec_frame_flags_t av_unused flags;
>       int ret;
>   
>       if (aom_codec_decode(&ctx->decoder, avpkt->data, avpkt->size, NULL) !=
> @@ -200,15 +199,18 @@ static int aom_decode(AVCodecContext *avctx, void *data, int *got_frame,
>               return ret;
>   
>   #ifdef AOM_CTRL_AOMD_GET_FRAME_FLAGS
> -        ret = aom_codec_control(&ctx->decoder, AOMD_GET_FRAME_FLAGS, &flags);
> -        if (ret == AOM_CODEC_OK) {
> -            picture->key_frame = !!(flags & AOM_FRAME_IS_KEY);
> -            if (flags & (AOM_FRAME_IS_KEY | AOM_FRAME_IS_INTRAONLY))
> -                picture->pict_type = AV_PICTURE_TYPE_I;
> -            else if (flags & AOM_FRAME_IS_SWITCH)
> -                picture->pict_type = AV_PICTURE_TYPE_SP;
> -            else
> -                picture->pict_type = AV_PICTURE_TYPE_P;
> +        {
> +            aom_codec_frame_flags_t av_unused flags;
> +            ret = aom_codec_control(&ctx->decoder, AOMD_GET_FRAME_FLAGS, &flags);
> +            if (ret == AOM_CODEC_OK) {
> +                picture->key_frame = !!(flags & AOM_FRAME_IS_KEY);
> +                if (flags & (AOM_FRAME_IS_KEY | AOM_FRAME_IS_INTRAONLY))
> +                    picture->pict_type = AV_PICTURE_TYPE_I;
> +                else if (flags & AOM_FRAME_IS_SWITCH)
> +                    picture->pict_type = AV_PICTURE_TYPE_SP;
> +                else
> +                    picture->pict_type = AV_PICTURE_TYPE_P;
> +            }
>           }
>   #endif

LGTM.

For context, aom_codec_frame_flags_t in libaom 1.0.0 is defined in 
aom_encoder.h, whereas for newer versions it was moved to aom_codec.h


More information about the ffmpeg-devel mailing list