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 ippiYCbCrToRGB
does. 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 ifpSrcorpDstisNULL.
- ippStsSizeErr
- Indicates an error condition ifroiSizehas 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");