Skip to content

3.11.7

Choose a tag to compare

@superuser404notfound superuser404notfound released this 20 Jun 17:24

Fixed

Malformed Dolby Vision "Profile 8.6" rejected by AVPlayer (#53)

Some HEVC sources are tagged Dolby Vision Profile 8 with an invalid dv_bl_signal_compatibility_id (typically 6, which is really P7's marker) because an old tool confused the profile with the dvhe08.06 level field. The bitstream is a single-layer HDR10-base P8.1 stream, but a dvvC whose compat id contradicts the db1p brand makes AVPlayer reject the variant outright.

Previously the engine classified it as P8.1 yet stream-copied the source dvcC unmodified, so the invalid compat survived into init.mp4 and playback failed.

On a DV-capable panel the engine now normalizes the container dvcC to a valid P8.1 (compat = 1, profile = 8, el_present = 0) so the dvvC and the db1p supplemental agree and AVPlayer accepts it. No per-packet RPU work is done, since the elementary stream is already P8.1.

On a non-DV panel the existing strip path still forces the HDR10 fallback, matching what the server does when it marks the file DOVIInvalid.

Internally this decoupled the container dvcC rewrite (rewriteDoviConfigTo81) from the P7 per-packet RPU conversion, so both routes (P7 and the malformed P8.6) share the container fix without P8.6 running an unnecessary packet rewrite.

Thanks to @DrHurt for the report and the precise diagnosis.

Full changelog: 3.11.6...3.11.7