[FFmpeg-devel] [PATCH 1/2] avformat/mov: remove special handling of av1c extradata

Jan Ekström jeebjp at gmail.com
Sat May 8 20:12:50 EEST 2021


On Sat, May 8, 2021 at 3:46 PM James Almer <jamrial at gmail.com> wrote:
>
> On 5/8/2021 9:29 AM, Jan Ekström wrote:
> > 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 295a8e2b99..f67bb2441f 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -5295,34 +5295,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;
> > @@ -6850,7 +6822,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 },
>
> LGTM

Thanks, applied as 45e3b6a68b61114bbb24083dcb71a5991efa4fb0 .

Jan


More information about the ffmpeg-devel mailing list