Why is there a discrepancy in CVImageBufferYCbCrMatrix between full range and video range formats?

40 views Asked by At

I am looking at the 420v (kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange) and 420f (kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) options offered via AVCaptureDevice.Format when setting up an AVCaptureDevice. Both formats deliver pixel buffers with Rec.709 color primaries and transfer functions (ITU_R_709_2); however, the full range format uses the Rec.601 YCbCr matrix (ITU_R_601_4), while the video range format uses the Rec.709 YCbCr matrix (ITU_R_709_2).

Is there some kind of historical context I'm missing that would explain this difference?

Edit: this question is in no way a duplicate of Difference between full-range (420f) and video range (420v) for YCrCb pixel formats on iOS. I fully understand the difference between full range and video range signals as discussed in that post. I am asking a very specific question about the choice of YCbCr matrices between the two formats. Restated: why would the full-range format utilize the older Rec.601 coefficients for converting luma and chroma information to RGB, even though the format operates on colors in the Rec.709 space which defines its own YCbCr coefficients?

0

There are 0 answers