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

James Almer jamrial at gmail.com
Sat Apr 17 22:33:34 EEST 2021


On 4/17/2021 3:15 PM, James Almer wrote:
> 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;

You can probably remove the av_unused attribute.

>> +            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