Visible to Intel only — GUID: GUID-22A3C97D-A5C6-4511-BC27-503FCD1D686F
Visible to Intel only — GUID: GUID-22A3C97D-A5C6-4511-BC27-503FCD1D686F
YCbCr422ToRGB
Converts an YCbCr image with the 4:2:2 sampling to the RGB image.
Syntax
Case 1: Operation on pixel-order data
IppStatus ippiYCbCr422ToRGB_8u_C2C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize roiSize);
IppStatus ippiYCbCr422ToRGB_8u_C2C4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize roiSize, Ipp8u aval);
Case 2: Conversion from pixel-order to planar data
IppStatus ippiYCbCr422ToRGB_8u_C2P3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst[3], int dstStep, IppiSize roiSize);
Case 3: Conversion from planar to pixel-order data
IppStatus ippiYCbCr422ToRGB_8u_P3C3R(const Ipp8u* pSrc[3], int srcStep[3], Ipp8u* pDst, int dstStep, IppiSize roiSize);
Include Files
ippcc.h
Domain Dependencies
Headers: ippcore.h, ippvm.h, ipps.h, ippi.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib
Parameters
pSrc |
Pointer to the source image ROI for pixel-order image. An array of pointers to ROI in each separate source planes for planar images. |
srcStep |
Distance, in bytes, between the starting points of consecutive lines in the source image. |
pDst |
Pointer to the ROI in the destination pixel-order image. An array of pointers to ROI in each planes of the destination planar image. |
dstStep |
Distance, in bytes, between the starting points of consecutive lines in the destination image. |
roiSize |
Size of the source and destination ROI in pixels. |
aval |
Constant value to create the fourth channel. |
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function converts the Y'Cb'Cr' image pSrc with the 4:2:2 sampling (see Table “Pixel-Order Image Formats” and Table “Planar Image Formats” for more details) to the gamma-corrected R'G'B' image pDst according to the same formulas as the function ippiYCbCrToRGB does. The output R'G'B' values are saturated to the range [0..255].
Return Values
ippStsNoErr |
Indicates no error. Any other value indicates an error or a warning. |
ippStsNullPtrErr |
Indicates an error condition if pSrc or pDst is NULL. |
ippStsSizeErr |
Indicates an error condition if roiSize has a field with a zero or negative value. |
Example
The code example below demonstrates how to use the ippiYCbCr422ToRGB_8u_C2C4R function.
const int WIDTH = 2; const int HEIGHT = 2; Ipp8u pSrc[WIDTH * HEIGHT * 2] = { 236,50,236,80, 236,50,236,80, }; Ipp8u pDstRGB[(WIDTH * HEIGHT) * 4]; int srcStep = WIDTH * 2, dstStep = WIDTH * 4; IppiSize roiSize = {WIDTH, HEIGHT}; Ipp8u alphaValue = 0xFF; IppStatus status = ippiYCbCr422ToRGB_8u_C2C4R(pSrc, srcStep, pDstRGB, dstStep, roiSize, alphaValue); if ( status == ippStsNoErr) printf("\n ************* passed ****************\n"); else printf("\n ************* failed ****************\n");