RGBToYCbCr422

Convert from RGB to 16-bit per pixel YCbCr with 4:2:2 sampling

Synopsis

FwStatus   fwiRGBToYCbCr422_8u_C3C2R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize roiSize );
FwStatus   fwiRGBToYCbCr422_8u_P3C2R ( const Fw8u * const pSrc[3]int srcStepFw8u * pDstint dstStepFwiSize roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YCbCr color space with 4:2:2 chroma subsampling, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a 16-bit per pixel YCbCr image with 4:2:2 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.