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


FwStatus   fwiRGBToCbYCr422_8u_C3C2R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize roiSize );
FwStatus   fwiRGBToCbYCr422Gamma_8u_C3C2R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize roiSize );


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.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).


These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the CbYCr 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 CbYCr 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.

*A version of this function supports CbYCr gamma correction.