Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
YCrCb422ToRGB, YCrCb422ToBGR
Convert 16-bit per pixel YCrCb image to 24 or 32-bit per pixel RGB or BGR image.
Syntax
Case 1: Operation on pixel-order data
IppStatus ippiYCrCb422ToRGB_8u_C2C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize roiSize);
IppStatus ippiYCrCb422ToRGB_8u_C2C4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize roiSize, Ipp8u aval);
IppStatus ippiYCrCb422ToBGR_8u_C2C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize roiSize);
IppStatus ippiYCrCb422ToBGR_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 ippiYCrCb422ToRGB_8u_C2P3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst[3], 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 plane 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 plane 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'Cr'Cb' image pSrc, packed in 4:2:2 sampling format (see Table “Pixel-Order Image Formats” and Table “Planar Image Formats” for more details) to the 24-bit gamma-corrected R'G'B' or B'G'R' image pDst according to the same formulas as the function ippiYCbCrToRGBdoes. The output R'G'B' values are saturated to the range [0..255]. Y'Cr'Cb' image with 4:2:2 sampling is also known as YVYU format.
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 ippiYCrCb422ToRGB_8u_C2C4R function.
    #define WIDTH 2
    #define 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 = ippiYCrCb422ToRGB_8u_C2C4R(pSrc, srcStep, pDstRGB, dstStep, roiSize, alphaValue);
    if ( status == ippStsNoErr) 
        printf("\n *************  passed ****************\n");
    else 
        printf("\n *************  failed ****************\n");