Convert BGR data block to 4:1:1 YCbCr MCU
SSE2
FwStatus | fwiBGRToYCbCr411LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR565ToYCbCr411LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR555ToYCbCr411LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); |
pDstMCU[3] | Array of pointers to destination MCU image blocks. | |
pSrcBGR | Pointer to source image ROI for BGR image format. | |
srcStep | Source buffer step size (width of the buffer in bytes). |
These functions step through a 16X16 data block in a source buffer, convert the source data from the BGR color model to the YCbCr color space with 4:1:1 chroma sub-sampling, level-shift the unsigned values to signed values, create a minimum coded unit, and write the data to a destination buffer.
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