The world beyond OpenH264
The world beyond OpenH264
Posted Mar 26, 2025 15:46 UTC (Wed) by farnz (subscriber, #17727)In reply to: The world beyond OpenH264 by mcatanzaro
Parent article: Bhattcharya: Closing the chapter on OpenH264
This gets complicated, and you'd need to actually test with a conformance suite to find out what it actually supports, or do a detailed dive into the code.
As best I can tell from a cursory code inspection, the README is correct in as far as it goes; it only fully supports CBP, but doesn't bail out on the wrong profile marker in the bitstream (allowing you to at least attempt to decode potentially unsupported profiles), and supports a subset of Main and High Profiles. Note that just because you flagged your video as Main profile doesn't mean it's actually using all the features of Main Profile; it's permissible for a video flagged as High profile to use only CBP features, for example.
What I'm seeing is signs that someone's added support for B slices, CABAC encoding, and some (but not all) of the options around quantization matrixes present in High profile. As a result, it doesn't support Main or High profiles, but it does support the output of some encoders.
For background, the profiles tell you what bitstream components the decoder can handle (or the encoder can use); the levels tell you how many macroblocks/second, macroblocks/frame and bits/second your decoder needs to handle to keep up, and how big the decoded picture buffer is. If you're claiming support for a profile in a decoder, you're claiming that you can decode all of the bitstream elements that that profile permits, but (for example), I'm not spotting code to handle separate quantization parameters for Cb and Cr planes, which is required for High profile, but not used by common encoders.
Posted Mar 27, 2025 0:26 UTC (Thu)
by numgmt (guest, #167446)
[Link]
The world beyond OpenH264