Pure black Y′CbCr image is converted to RGB (1, 0, 1) when playing from 8-bit source

Hi, I created FB6064639 (aka rdar://50235272) a while ago. I was notified that the issue was fixed in 10.15 beta 5.


I can confirm that it was partially fixed. I left some additional comments in the bug report but have not received a response yet. I am posting on Apple Developer Forums in the hopes that someone at Apple might see this.


Here is the summary from the original bug report:

“Pure black should show as (0, 0, 0). It does so when playing a 10-bit video in QuickTime Player. However, when playing an 8-bit video, it shows as (1, 0, 1) instead. This is especially noticeable on an OLED TV.”


10.15 beta 5 fixes the problem when using `AVPlayer` (which is what QuickTime Player uses). However, `AVSampleBufferDisplayLayer` is still broken. I debugged a little and found that they both use `CAImageQueue` and the color spaces that they are specifying in the pixel buffers are the exact same. I am at a loss for what could cause the difference in behavior between these two components.