Developer Reference for Intel® Integrated Performance Primitives
Convert 4:2:0 image to 4:2:2 image with additional filtering.
IppStatus ippiYCbCr420ToYCbCr422_Filter_8u_P3R(const Ipp8u* pSrc[3], int srcStep[3], Ipp8u* pDst[3], int dstStep[3], IppiSize roiSize);
IppStatus ippiYCbCr420ToYCbCr422_Filter_8u_P2P3R(const Ipp8u* pSrcY, int srcYStep, const Ipp8u* pSrcCbCr, int srcCbCrStep, Ipp8u* pDst[3], int dstStep[3], IppiSize roiSize);
IppStatus ippiYCbCr420ToYCbCr422_Filter_8u_P2C2R(const Ipp8u* pSrcY, int srcYStep, const Ipp8u* pSrcCbCr, int srcCbCrStep, Ipp8u* pDst, int dstStep, IppiSize roiSize, int layout);
ippcc.h
Headers: ippcore.h, ippvm.h, ipps.h, ippi.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib
pSrc |
Array of pointers to the ROI in each plane for a three-plane source image. | ||||||||
srcStep |
Array of distances in bytes between starts of consecutive lines in each plane for a three-plane source image. | ||||||||
pSrcY |
Pointer to the ROI in the luminance plane for a two-plane source image. | ||||||||
srcYStep |
Distance in bytes between starts of consecutive lines in the luminance plane of a source image. | ||||||||
pSrcCbCr |
Pointer to the ROI in the interleaved chrominance plane for a two-plane source image. | ||||||||
srcCbCrStep |
Distance in bytes between starts of consecutive lines in the interleaved chrominance plane of the source image. | ||||||||
pDst |
Pointer to the ROI in the pixel-order destination image. Array of pointers to the ROI in each plane of the planar destination image. | ||||||||
dstStep |
Distance in bytes between starts of consecutive lines in the destination image. Array of distance values for the destination image planes. | ||||||||
roiSize |
Size of the ROI in pixels. | ||||||||
layout |
Slice layout. Possible values:
|
This function operates with ROI (see Regions of Interest in Intel IPP).
This function converts the 4:2:0 planar source image pSrc to the 4:2:2 image pDst and performs additional filtering. The source image can be two- or three-plane image (see Table “Planar Image Formats”). The first plane of the two-plane source image pSrcY contains luminance samples Y0, Y1, Y2, ..., the second plane pSrcCbCr contains interleaved chrominance samples Cb0, Cr0, Cb1, Cr1, .... . The destination image pDst can be three-plane or two-channel (see Table “Pixel-Order Image Formats” and Table “Planar Image Formats”).
The function flavors ippiYCbCr420ToYCbCr422_Filter_8u_P3R and ippiYCbCr420ToYCbCr422_Filter_8u_P2P3R additionally perform the vertical upsampling using a Catmull-Rom interpolation (cubic convolution interpolation). In this case roiSize.width should be multiple of 2, and roiSize.height should be multiple of 8.
The function ippiYCbCr420ToYCbCr422_Filter_8u_P2C2R additionally performs deinterlace filtering. Commonly it is used to process images that are divided into slices. In this case slice layout should be specified, since the function processes the first (upper), last (lowermost), and intermediate (middle) slices differently. The height of slices should be a multiple of 16.
The image slices should be processed exactly in the following order: the first slice, intermediate slices, the last slice.
The function may be applied to a not-sliced image as well. In this case roiSize.width and roiSize.height should be multiple of 2.
ippStsNoErr |
Indicates no error. Any other value indicates an error. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error condition if roiSize.width has wrong value. |