GNOME Bugzilla – Bug 738281
h264parse, h265parse: disable passthrough if upstream doesn't provide profile/level info
Last modified: 2018-11-03 13:27:33 UTC
+++ This bug was initially created as a clone of Bug #732239 +++ > Now we only need to disable passthrough mode in h26*parse if > not all information is available in the upstream caps yet :) Info could be set on caps directly or be in codec_data for AVC of course. Question is what about byte-stream input, do we re-check pass through mode once we have acquired the initial caps? do we wait for SPS/PPS before outputting anything? (might do that already)
There's also bug #737487 but I think it's a slightly different issue, even if somewhat related.
I think we shouldn't aim at passthrough, but simply teach the parser to operate in-place when doing nal->nal or au->au. Mainly because the parser need to detect header updates, and for that you minimally need to check the nal types. Note that passthrough has been completly disabled, and it seems that h264parse always copy the stream. In AVC, in-place parsing is nearly free, but in byte-stream, we still need scanning. I think we should solve this cost by saving the NAL offset table as a meta. This way, element element that iterates the NALS (like rtph264depay) could set this table, and then parsing becomes nearly free if you need a parser afterward (e.g. because you need more fields to be set in the caps, hence more SPS/PPS parsing).
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/181.