Developer Reference

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

YCbCr422ToYCbCr420

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

Syntax

Case 1: Operation on planar data
IppStatus ippiYCbCr422ToYCbCr420_8u_P3R(const Ipp8u*
pSrc
[3], int
srcStep
[3], Ipp8u*
pDst
[3], int
dstStep
[3], IppiSize
roiSize
);
IppStatus ippiYCbCr422ToYCbCr420_8u_P3P2R(const Ipp8u*
pSrc
[3], int
srcStep
[3], Ipp8u*
pDstY
, int
dstYStep
, Ipp8u*
pDstCbCr
, int
dstCbCrStep
, IppiSize
roiSize
);
Case 2: Conversion from pixel-order to planar data
IppStatus ippiYCbCr422ToYCbCr420_8u_C2P3R(const Ipp8u*
pSrc
, int
srcStep
, Ipp8u*
pDst
[3], int
dstStep
[3], IppiSize
roiSize
);
IppStatus ippiYCbCr422ToYCbCr420_8u_C2P2R(const Ipp8u*
pSrc
, int
srcStep
, Ipp8u*
pDstY
, int
dstYStep
, Ipp8u*
pDstCbCr
, int
dstCbCrStep
, 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
Pointer to the ROI in the pixel-order source image. Array of pointers to the ROI in each plane of the planar source image.
srcStep
Distance in bytes between starts of consecutive lines in the source image. Array of distance values for the source image planes.
pDst
Array of pointers to the ROI in each plane for a three-plane destination image.
dstStep
Array of distances in bytes between starts of consecutive lines in each plane for a three-plane destination image.
pDstY
Pointer to the ROI in the luminance plane for a two-plane destination image.
dstYStep
Distance in bytes between starts of consecutive lines in the luminance plane of a destination image.
pDstCbCr
Pointer to the ROI in the interleaved chrominance plane for a two-plane destination image.
dstCbCrStep
Distance in bytes between starts of consecutive lines in the chrominance plane of a destination image.
roiSize
Size of the ROI in pixels, height and width should be multiple of 2.
Description
This function operates with ROI (see Regions of Interest in Intel IPP ).
This function converts the
4:2:2
image
pSrc
to the
4:2:0
image. The source image can be two-channel or three-plane , destination image always is planar with two or three planes (see Table
“Pixel-Order Image Formats”
and Table
“Planar Image Formats”
). Two-plane image contains luminance samples
Y0
,
Y1
,
Y2
, .. in the first plane
pDstY
, and interleaved chrominance samples
Cb0
,
Cr0
,
Cb1
,
Cr1
, ... in the second plane
pDstCbCr
.
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 any field of the
roiSize
is less than 2.

Example

The code example below shows how to use the function
ippiYCbCr422ToYCbCr420_8u_C2P3R
.
{ Ipp8u* ImageI420[3]; int stepI420[3]; Ipp8u* ImageYUY2; int stepYUY2; IppiSize roiSize = { 1024, 768}; ImageI420[0] = ippiMalloc_8u_C1( roiSize.width, roiSize.height, &(stepI420[0])); ImageI420[1] = ippiMalloc_8u_C1( roiSize.width, roiSize.height, &(stepI420[1])); ImageI420[2] = ippiMalloc_8u_C1( roiSize.width, roiSize.height, &(stepI420[2])); ImageYUY2 = ippiMalloc_8u_C2( roiSize.width, roiSize.height, &stepYUY2 ); ippiYCbCr422ToYCbCr420_8u_C2P3R( ImageYUY2, stepYUY2, ImageI420, stepI420, roiSize); ippiFree(ImageI420[0]); ippiFree(ImageI420[1]); ippiFree(ImageI420[2]); ippiFree(ImageYUY2); }

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