Dolby Vision Profile 7 & 8 support (.ts/.mkv files)

I would assume @james is referring to Dolby Vision Profile 8.1 to Profile 5. I’d also assume that they’re not actually on-the-fly transcoding to ICtCp, but probably just transcoding the container to MP4 and the metadata to fake the Apple TV into think it’s a Profile 5 file… The Apple TV seems to be willing to play Profile 8.1 files that are incorrectly tagged as Profile 5 files… my understanding is that this is how Apple plays back their screensavers while Dolby Vision content is playing.


I believe the logic is currently active for all P8 levels, but will likely only be useable for 8.1.

In essence, we’re re-tagging these files as P5 which can then be decoded natively on the Apple TV. As @speedy suggests, there is no actual conversion going on here as that is a much heavier process that could not be done in real-time.


Hi @james , is there a macOS build available for testing?

I’m interested in iOS and macOS builds with this enabled if it’s not a feature specific to Apple TV.

FEL->MEL would also be nice


Here are some samples I made for testing. All files share the same original source video and metadata. They should be almost identical (in theory).

The naming rule of suffix:

_IPT: encoded bitstream is IPT colorspace, for profile 5.

_PQ: encoded bitstream is BT2020 YCbCr colorspace (normal HDR10)

_P5 / _P81: the container has a profile 5 / 8.1 configuration box.

_CM29 / _CM4: the RPU in bitstream is CM v2.9 / v4. The CM v4 RPU also has CM v2.9 fallback metadata in it.

The following tests are done with macOS. More tests are needed with tvOS. Please note you should not use macOS reference modes with fixed luminance for Dolby Vision tone-map testing, as they skip the Display Management part in Dolby Vision pipeline.

With QuickTime, PQ P81 files fallback to HDR10, PQ P5 files trigger Dolby Vision. IPT P5 CM2 matches IPT P5 CM4 (Apple ignores CMv4 metadata in profile 5 playback, it only uses CM v2.9 metadata).

With latest infuse beta, PQ P5 files match PQ P81 files, so the re-tagging on the fly works well.

However, the problem is PQ CM4 files don’t match IPT P5 files, it’s heavily oversaturated, and it can be noticed without a comparison. The PQ CM2 files has a more acceptable difference (hard to tell the difference / hard to notice without comparison).

So infuse needs to check the RPU in bitstream, if the container said it’s profile 8.1. If the RPU has CMv4 metadata, it should not playback as Dolby Vision. It can be done with just single frame of RPU.


On my iPad Pro 2017, CMv4 saturation seems OK.

I have seen you mentioned it a few times, but I have watched several contents that are CMv4 and I never noticed any oversaturation, could it be a device-based problem?

Left = IPT_CM4, Right = PQ_CM4

Both are displaying Dolby Vision.

Also from my test results, L2_saturation_gain is used in CMv4 instead of L8 saturation, so maybe it’s fine on iOS devices?

L8 saturation = no work

CMv29 vs CMv4

OK, maybe my eyes aren’t picky enough.

Just from the thumbnails alone, the red, grid structure in the background has a minor but noticeably brighter beige for PQ.

Yes it depends on devices, on macOS the PQ P5 CMv4 is unacceptable, on iPhone it still has a larger difference compared to other videos. It seems like difference on iPad is small.

1 Like

OK that is over saturated, like they are drunk high for drinking what inside the glowing blue bottle, lol.

What uses cm4 anyways? So far, all I’ve noticed is that the blu-rays I’ve went through all use cm2.9

Hitman’s Wife’s Bodyguard
Ambulance 2022
Puss in Boots 2022
I would love to check if there’s any list.

It’s up to the creators, CM v4 has been out for a few years now and has no limitations when used on Blu-ray. But yes most studios still use CM v2.9.

1 Like

Look at the Arrow Studios, most releases (Donnie Darko, etc) are CM v4.

Has anyone tested to see whether tvOS also has issues with YCC CM4 playback?

Also, does CM4 always contain CM29 fallback? If so, could Infuse instead do something to always fallback to CM29?

1 Like

Yes, a valid CM v4 RPU always contains CM v2.9 fallback metadata. It’s possible to downgrade RPU (remove the CM v4 part in it), but it needs to manipulate the bitstream, I don’t know if it’s easy to integrate.


Confirm CMv4 has oversaturation problem on MacBook Pro 2021, some one with ATV should test it.
On my iPad the output is SDR, I don’t know if that may relate to the problem?

Seems also fine on iPhone 13 Pro Max

@james Extremely thankful to the firecore team for working on this. Great work so far. Any idea if it would be possible to force a CM 2.9 fallback like @Rainbaby is describing? Thanks!

I tested the new version and got very good results:

Apple TV 4K 2022 TV-Led mode + Hisense 55A9G OLED

P8.1 CM v2.9: OK
P8.4 CM v2.9: Not OK
P8.1 CM v4.x: OK (except L2, but that’s not a problem)
P8.4 CM v4.x: Not OK

Please also force P8.4 to P5 header and then the RPU will be used for iPhone recordings.

1 Like