Convert 16-bit RGB to YCbCr (JPEG)


FwStatus   fwiRGB565ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u * pSrcRGBint srcStepFw8u * pDstYCbCr[3]int dstStepFwiSize roiSize );
FwStatus   fwiRGB555ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u * pSrcRGBint 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).
pSrcRGB   Pointer to source image ROI for RGB 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 RGB 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 RGB source encoding.

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

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