[FFmpeg-devel] [PATCH v2 10/11] avcodec: add vvc metadata bsf

Nuo Mi nuomi2021 at gmail.com
Sat Jan 9 17:11:44 EET 2021


Hi James,
On Sat, Jan 9, 2021 at 10:53 PM James Almer <jamrial at gmail.com> wrote:

> On 1/9/2021 4:34 AM, Nuo Mi wrote:
> > use following command to test:
> > ffmpeg -i in.bin  -c:v copy -bsf vvc_metadata -f vvc out.bin
> >
> > 79.11%(197/249) can bit match with original clips
> > 6.83%(17/249) are not bit match, the original clips has redundant
> emulation prevent bytes
> > other all failed since vvdec failed to decode the first frame
>
> You don't (or shouldn't) need a decoder in order to do bitstream
> filtering, since it works on packets (codec copy) and not frames.
>
> Since the decoder you submitted is, if committed, going to be external,
> it will not be present in most libavcodec builds out there. This means
> that you should ensure parsing of such files can succeed without a
> decoder, so bsfs can run without it. If not possible already in the
> state you wrote it in patch 8/11, it can be achieved by temporarily
> setting some values in the parser until an internal decoder is implemented.
> For AV1 i had to set avctx dimensions and pixel format, both things i
> removed once the internal decoder (as barebones as it is) was
> introduced, since it's its job. I assume h266 will require the same.

Thanks for suggestion. I will try it.
I tried to disable hevc native decoder, and use hevc bsf only. It got the
same error as vvc.
Do we need fix this too?




> > ---
> >   configure                      |   1 +
> >   libavcodec/Makefile            |   1 +
> >   libavcodec/bitstream_filters.c |   1 +
> >   libavcodec/vvc_metadata_bsf.c  | 243 +++++++++++++++++++++++++++++++++
> >   4 files changed, 246 insertions(+)
> >   create mode 100644 libavcodec/vvc_metadata_bsf.c
> >
> > diff --git a/configure b/configure
> > index 5ff743d9c2..b41f2af151 100755
> > --- a/configure
> > +++ b/configure
> > @@ -3184,6 +3184,7 @@ mjpeg2jpeg_bsf_select="jpegtables"
> >   mpeg2_metadata_bsf_select="cbs_mpeg2"
> >   trace_headers_bsf_select="cbs"
> >   vp9_metadata_bsf_select="cbs_vp9"
> > +vvc_metadata_bsf_select="cbs_h266"
>
> For the sake of consistency, this bsf should be called h266_metadata and
> not vcc_metadata, seeing the other two are h264 and h265 respectively.
> It's part of what i suggested, but guess it got mixed in between the rest.
>
This is a funny part. Seems the filter name is hevc_metadata. But the class
name is h265_metadata_bsf...

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