diff mbox series

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

Message ID 20210417173111.20314-1-anton@khirnov.net
State New
Headers show
Series [FFmpeg-devel] lavc/libaomdec: fix build without AOM_CTRL_AOMD_GET_FRAME_FLAGS
Related show

Checks

Context Check Description
andriy/configure warning Failed to apply patch
andriy/configure warning Failed to apply patch

Commit Message

Anton Khirnov April 17, 2021, 5:31 p.m. UTC
---
 libavcodec/libaomdec.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

Comments

James Almer April 17, 2021, 6:15 p.m. UTC | #1
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
James Almer April 17, 2021, 7:33 p.m. UTC | #2
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
diff mbox series

Patch

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