Convert 16-bit BGR to YCbCr (JPEG)


FwStatus   fwiBGR565ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u * pSrcBGRint srcStepFw8u * pDstYCbCr[3]int dstStepFwiSize roiSize );
FwStatus   fwiBGR555ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u * pSrcBGRint srcStepFw8u * pDstYCbCr[3]int dstStepFwiSize roiSize );


dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pSrcBGR   Pointer to source image ROI for BGR image format.
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 16-bit source data from the BGR color model to the YCbCr color space, and write the converted data to a destination buffer.

There are separate functions for 555 and 565 bit-per-channel BGR source encoding.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R