Convert from YCbCr with 4:2:0 sampling to 16-bit BGR


FwStatus   fwiYCbCr420ToBGR565_8u16u_P3C3R ( const Fw8u * const pSrc[3]int srcStep[3]Fw16u * pDstint dstStepFwiSize roiSize );
FwStatus   fwiYCbCr420ToBGR555_8u16u_P3C3R ( const Fw8u * const pSrc[3]int srcStep[3]Fw16u * pDstint dstStepFwiSize roiSize );
FwStatus   fwiYCbCr420ToBGR444_8u16u_P3C3R ( const Fw8u * const pSrc[3]int srcStep[3]Fw16u * pDstint dstStepFwiSize roiSize );


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


This function steps through an ROI in a source buffer, converts the source data from the YCbCr color space with 4:2:0 chroma subsampling to the BGR color model, and writes the converted data to a destination buffer.

A YCbCr image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected BGR 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)