Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of 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.

CAUTION:

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.