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

Reply via email to