Libavcodec can now handle the AV1CodecConfigurationRecord structure as-is when passed as extradata, so the standard behavior of read-box-into-extradata should suffice, just like with AVC and HEVC. --- libavformat/mov.c | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c index 2b90e31170..2698269b4d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -5324,34 +5324,6 @@ static int mov_read_tmcd(MOVContext *c, AVIOContext *pb, MOVAtom atom) return 0; } -static int mov_read_av1c(MOVContext *c, AVIOContext *pb, MOVAtom atom) -{ - AVStream *st; - int ret; - - if (c->fc->nb_streams < 1) - return 0; - st = c->fc->streams[c->fc->nb_streams - 1]; - - if (atom.size < 4) { - av_log(c->fc, AV_LOG_ERROR, "Empty AV1 Codec Configuration Box\n"); - return AVERROR_INVALIDDATA; - } - - /* For now, propagate only the OBUs, if any. Once libavcodec is - updated to handle isobmff style extradata this can be removed. */ - avio_skip(pb, 4); - - if (atom.size == 4) - return 0; - - ret = ff_get_extradata(c->fc, st->codecpar, pb, atom.size - 4); - if (ret < 0) - return ret; - - return 0; -} - static int mov_read_vpcc(MOVContext *c, AVIOContext *pb, MOVAtom atom) { AVStream *st; @@ -6875,7 +6847,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = { { MKTAG('A','A','L','P'), mov_read_avid }, { MKTAG('A','R','E','S'), mov_read_ares }, { MKTAG('a','v','s','s'), mov_read_avss }, -{ MKTAG('a','v','1','C'), mov_read_av1c }, +{ MKTAG('a','v','1','C'), mov_read_glbl }, { MKTAG('c','h','p','l'), mov_read_chpl }, { MKTAG('c','o','6','4'), mov_read_stco }, { MKTAG('c','o','l','r'), mov_read_colr }, -- 2.28.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".