GNOME Bugzilla – Bug 732239
h264parse: expose parsed profiles to downstream
Last modified: 2014-11-12 06:08:00 UTC
It would be interesting to expose profile/level information parsed from the bitstream to allow better negotiation of the downstream decoder. This could serve two purposes: (i) fallbacks to SW decoder if the HW decoder does not support a particular profile (e.g. high-10 or baseline), (ii) allow decoder to handle base layers/views only if needed, or use the complete MVC or SVC decoder.
I thought h264parse does that already? I mean it puts profile and level into the caps on the srcpad. Doesn't it? There's code that depends on that to work :)
(In reply to comment #1) > I thought h264parse does that already? I mean it puts profile and level into > the caps on the srcpad. Doesn't it? There's code that depends on that to work > :) Hmm, no, it just forwards what comes from the demuxer. :) So, for raw byte streams, you don't get anything.
Funny, we should implement that (for all the parsers, also audio parsers). The demuxers could even be wrong ;)
Created attachment 288084 [details] [review] videoparsers: h264: expose parsed profile and level to downstream
Now we only need to disable passthrough mode in h26*parse if not all information is available in the upstream caps yet :) commit 2817472b9ede1034d9592ccea524fc0103bc5b62 Author: Sebastian Dröge <sebastian@centricular.com> Date: Thu Oct 9 11:46:23 2014 +0300 h265parse: expose parsed profile, tier and level to downstream https://bugzilla.gnome.org/show_bug.cgi?id=732239 commit b1a286cd7c6b1a4bc6a8e81cac79aa3ccd5ff523 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Thu Oct 9 01:18:16 2014 +0300 h264parse: expose parsed profile and level to downstream Set parsed profile and level in src caps. https://bugzilla.gnome.org/show_bug.cgi?id=732239
FYI, I will open a new bug stated as follows: h264parse: expose compatible profiles set to downstream This is in view to allowing a wider range of supported set, when really applicable. e.g. some "extended" profile streams to "main" as alternate profile specification, if applicable. Likewise for "multiview-high" to "stereo-high" when applicable, etc.