YCbCr422ToRGB

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

Synopsis

FwStatus   fwiYCbCr422ToRGB_8u_C2C3R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize roiSize );
FwStatus   fwiYCbCr422ToRGB_8u_C2P3R ( const Fw8u * pSrcint srcStepFw8u * const pDst[3]int dstStepFwiSize roiSize );
FwStatus   fwiYCbCr422ToRGB_8u_P3C3R ( const Fw8u * const pSrc[3]int srcStep[3]Fw8u * pDstint dstStepFwiSize roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
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).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

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

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

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)