Difference between full-range (420f) and video range (420v) for YCrCb pixel formats on iOS

avfoundation, colors, image, ios

Solution

Video range means that the Y component only uses the byte values from 16 to 235 (for some historical reasons). Full range uses the full range of a byte, namely 0 to 255.

The chroma components (Cb, Cr) always use full range.

Problem

Two (of the three supported) pixel formats on the iPhone 4S are: ``` kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange kCVPixelFormatType_420YpCbCr8BiPlanarFullRange ``` Does anyone know the difference, and are there any consequences/advantages of using one over the other? The descriptions from Apple are basically identical: http://developer.apple.com/library/mac/#documentation/QuartzCore/Reference/CVPixelFormatDescriptionRef/Reference/reference.html

Original source