Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

YCbCr420ToYCbCr422_Filter

Convert 4:2:0 image to 4:2:2 image with additional filtering.

Syntax

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
);
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 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:
IPP_UPPER
Upper (first) slice
IPP_CENTER
Middle slices
IPP_LOWER
Lowermost (last) slice
IPP_LOWER && IPP_UPPER && IPP_CENTER
Image is not sliced
Description
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.
Return Values
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804