Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6729 Discussions

ippiRGBToYCbCr422_8u_C3C2R with interlace and pixel grouping

franknatoli
New Contributor I
417 Views
Need to convert RGB24 to YCbCr 422 interlaced with four pixel groups. The RGB is not interlaced, i.e., is a single contiguous bitmap. Output YCbCr needs to be interlaced, i.e., divided into two "fields", one block for even rows, one block for odd rows. And output YCbCr needs to group pixels by fours, i.e., each 32 bits contains four [8 bit] Cb values, then four [8 bit] Y values then four [8 bit] Cr values, etc.

There is no ipp function that directly implements this, correct?

Can I use ippRGBToYCbCr422_8u_C3C2R with a "srcStep" that jumps over interlaced rows? That is, I specify a "srcStep" that is twice the byte length of each RGB row, thus jumping over the odd row when processing even rows, and vice versa?

But I must manipulate the output buffer byte by byte to achieve the four pixel groupings, correct?
0 Kudos
1 Reply
Ying_H_Intel
Employee
417 Views

Hello,

Yes, seeing from IPP manual, there are some format conversion function which support interlace. but it seems no onecandothefunctionality you need.

And yes, use 2x srcStep should be ok to jusmp over rows. but no function to make the four pixel groupings.

(not related, butquery about four pixel groupings, YCbCr 422 C2 will be YCbYCr.. 2 pixel a group, total 32bit. If 4 Cb, 4Y, 4Cr, the format 422 haven't so much Cb and Cr?)

Best Regards,
Ying

CbYCr422ToYCbCr420_Interlace

Converts interlaced 4:2:2 CbYCr image to 4:2:0 YCbCr image.

Syntax

IppStatus ippiCbYCr422ToYCbCr420_Interlace_8u_C2P3R

0 Kudos
Reply