[FFmpeg-devel] [PATCH 0/3] add vvc raw demuxer
Mark Thompson
sw at jkqxz.net
Mon Dec 14 22:44:01 EET 2020
On 14/12/2020 13:31, Nuo Mi wrote:
> Hi Mark,
> I have almost done the cbs for sps, pps, and slice header. I will start to
> implement the parser.
This looks fun :)
> Few questions for you:
> 1. We need over-read some nals to detect the frame boundaries. But those
> nals may switch/replace sps/pps. Do we need to use an output cbs and get
> frames from the output cbs?
I'm not seeing where this can happen - if you see a new parameter set then you must be in a new AU so you don't parse it, while a new VCL NAL as part of a new frame with no PS before it must have a parsable header? (Or am I missing some problematic case?)
> 2. We can't handle an incompleted nal in current cbs.
> https://github.com/FFmpeg/FFmpeg/blob/03c8fe49ea3f2a2444607e541dff15a1ccd7f0c2/libavcodec/h2645_parse.c#L437,
> do we have a plan to fix it? What's your suggstion for the frame split?
I'm unsure what the question is. You will always need to keep reading until you split a valid NAL unit which isn't in the current AU (noting that a slice is the last slice in the current frame is never sufficient, because suffixes might follow).
> 3. How to well test the cbs?
Passthrough is the best initial test, by making an h266_metadata bsf (even if it has no options). The existing test coverage in FATE of CBS is primarily driven by this - for H.26[45], the input streams there are a subset of the H.26[45].1 conformance test streams chosen to cover as much of the header space as possible.
I recommend enabling the write support ASAP (by adding the second include of cbs_h266_syntax_template.c), because the double build can shake out other problems too.
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list