YCbCr420ToCbYCr422_Interlace
Converts interlaced 4:2:0 YCbCr image to 4:2:2 CbYCr image.
Syntax
IppStatus ippiYCbCr420ToCbYCr422_Interlace_8u_P3C2R(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
- Array of pointers to the ROI in each plane for source image.
- srcStep
- Array of distances in bytes between starts of consecutive lines in each plane for the source image.
- pDst
- Pointer to the destination image ROI.
- dstStep
- Distance in bytes between starts of consecutive lines in the destination image.
- roiSize
- Size of the source and destination ROI in pixels, its width must be multiple of 2, and height must be multiple of 4.
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function converts the interlaced planar
4:2:0
image to the pixel-order 4:2:2
two-channel image. Three-plane source image has the following order of pointers: Y
-plane, Cb
-plane, Cr
-plane.The destination image pDst
has the following sequence of samples: Cb0
, Y0
, Cr0
, Y1
, Cb1
, Y2
, Cr1
, Y3
, Cb2
, ...The conversion is performed in accordance with the following formulas:
Yn
dest
= Ynsrc
;Cb0(Cr0)
dest
= (5*Cb0(Cr0)src
+ 3*Cb2(Cr2)src
+ 4)/8;Cb1(Cr1)
dest
= (7*Cb1(Cr1)src
+ Cb3(Cr3)src
+ 4)/8;Cb2(Cr2)
dest
= (Cb0(Cr0)src
+ 7*Cb2(Cr2)src
+ 4)/8;Cb3(Cr3)
dest
= (3*Cb1(Cr1)src
+ 5*Cb3(Cr3)src
+ 4)/8;Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error.
- ippStsNullPtrErr
- Indicates an error condition if any of the specified pointers isNULL.
- ippStsSizeErr
- Indicates an error condition ifroiSize.widthis less than 2, orroiSize.heightis less than 4.
- ippStsDoubleSize
- Indicates a warning ifroiSize.widthis not multiple of 2, orroiSize.heightis not multiple of 4.