lavc/libaomdec: fix build with 1.0.0

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
This commit is contained in:
Anton Khirnov 2021-04-17 16:12:30 +02:00
parent 0c7aef84a0
commit d43b26b30d

View File

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