[FFmpeg-devel] [PATCH v6 3/9] avformat: add vvc raw demux

Nuo Mi nuomi2021 at gmail.com
Thu Feb 18 10:47:55 EET 2021


On Thu, Feb 18, 2021 at 6:52 AM Mark Thompson <sw at jkqxz.net> wrote:

> On 17/02/2021 01:51, Nuo Mi wrote:
>
> > +    for (i = 0; i < p->buf_size - 1; i++) {
> > +        code = (code << 8) + p->buf[i];
> > +        if ((code & 0xffffff00) == 0x100) {
> > +            uint8_t nal2 = p->buf[i + 1];
> > +            int type = (nal2 & 0xF8) >> 3;
> > +
> > +            if (code & 0xc0) // forbidden_zero_bit and
> nuh_reserved_zero_bit
> > +                return 0;
> > +
> > +            if ((nal2 & 0x7) == 0) // nuh_temporal_id_plus1
> > +                return 0;
> > +
> > +            switch (type) {
> > +            case VVC_SPS_NUT:       sps++;  break;
> > +            case VVC_PPS_NUT:       pps++;  break;
> > +            case VVC_IDR_N_LP:
> > +            case VVC_IDR_W_RADL:
> > +            case VVC_CRA_NUT:
> > +            case VVC_GDR_NUT:       irap++; break;
> > +            }
> > +        }
> > +    }
> > +
> > +    if (sps && pps && irap)
> > +        return AVPROBE_SCORE_EXTENSION + 1; // 1 more than .mpg
>
> How well does this test fully distinguish from previous standards using
> the same start code style?
>
> (Can I have an H.264 or H.265 raw stream which passes this test?  Can an
> H.266 stream ever pass the test for those codecs, implying we need to
> update them?)
>
The nal_unit_type located in a different byte. When a H.265 bitstream
has nuh_layer_ids equal to  VVC_SPS_NUT,  VVC_PPS_NUT and  VVC_IDR_N_LP,
can pass the test. Vice versa
All h266 conformance test clips will not detect as other formats. But if
you have a well-designed clip, it may be. This is normal case for a raw
bytestream detector.

>
> > +    return 0;
> > +}
> > +
> > +FF_DEF_RAWVIDEO_DEMUXER(vvc, "raw VVC video", vvc_probe,
> "h266,266,vvc", AV_CODEC_ID_VVC)
> >
>
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list