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

ID 790148
Date 10/31/2024
Public
Document Table of Contents

YCbCr420To422_Interlace

Converts interlaced YCbCr image from 4:2:0 sampling format to 4:2:2 format.

Syntax

IppStatus ippiYCbCr420To422_Interlace_8u_P3R(const Ipp8u* pSrc[3], int srcStep[3], Ipp8u* pDst[3], int dstStep[3], 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

Array of pointers to the ROI in each plane for destination image.

dstStep

Array of distances in bytes between starts of consecutive lines in each plane for 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 source image pSrc to the 4:2:2 image pDst. Three-plane image has the following order of pointers: Y-plane, Cb-plane, Cr-plane.

The conversion is performed in accordance with the following formulas:

Yndest = 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 is NULL.

ippStsSizeErr

Indicates an error condition if roiSize.width is less than 2, or roiSize.height is less than 4.

ippStsDoubleSize

Indicates a warning if roiSize.width is not multiple of 2, or roiSize.height is not multiple of 4.