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

(ippiYCbCr444ToYCbCr420_8u_C2P3R) is there any? + Y211

Tamer_Assad
Innovator
503 Views

Hi everyone,

Is there a convertion funcion to convert a raw AYUV (YUV+Alpha - 32bit)?

from: YUV 4:4:4 (AYUV)

to: YUV 420 (iYUV 3 planes)

if not, is there another indirect method? (ex. YCbCr444ToYCbCr422)

also, is there is a support for the 8bit Y211?

Best regards,

Tamer


0 Kudos
4 Replies
Artem_V_Intel
Employee
503 Views

Hello Tamer,

Please take a look at the YUVToRGB_8u_AC4R and RGBToYUV420_ippiRGBToYUV420_8u_C3P3R functions pair in ippiman.pdf. Is it suitable for you?

Regarding to 8bit Y211, please take a look at the 4:2:2 YCbCr format description in ippiman.pdf. Did you mean this format or something else?

Thanks,

Artem

0 Kudos
Tamer_Assad
Innovator
503 Views

Hi Artem,

Thank you for your care.

Here is a list of the color formats I found difficulties working with:

Color model

FOURCC

code

MS DirectShow GUID

Sampling

Bits per pixel

1

YUV

AYUV

MEDIASUBTYPE_AYUV

Alpha:4:4:4

32

2

YUV

Y211

MEDIASUBTYPE_Y211

2:1:1

8

3

YUV

Y411

MEDIASUBTYPE_Y411

4:1:1

12

4

YUV

Y41P

MEDIASUBTYPE_Y41P

4:1:1

12

5

RGB

-

MEDIASUBTYPE_RGB32

RGB+Alpha

32

6

RGB

-

MEDIASUBTYPE_ARGB32

RGB+Alpha

32

- ippman doesnt confirm the ability to work with 32 bits formats, respectively the YUVToRGB & RGBToYUV functions. would you confirm this?

Though, for RGB & ARGB I utilize the ippiCopy to convert them to RGB24 as a common format within ipp. Im not sure of the results yet, is this is the correct approach?

- YUV 4:1:1 formats, according to the FOURCC, the sequence of the Y, U, V components differs; I need to identify the exact YUV411 format(s) used within IPP.

- does IPP supports the YUV 2:1:1 format (FOURCC Y211) ? it is like the YUV 4:2:2 but YUV 2:1:1 has Y component every other pixel (1Y per 2 pixels).

Regards,

Tamer

0 Kudos
Artem_V_Intel
Employee
503 Views

Hi Tamer,

Sorry for the delay in my response. Could you specify exactly, do you use planar or pixel image format?

1) IPP planar image formats doesn't support alpha channel. Please see the table of possible planar formats on pp. 267-269 of ippiman.pdf.

2) Two YUV 4:1:1 planar formats supported. (Figures 6-15 and 6-16 in ippiman.pdf show components order in this formats).

3) If my understanding of your description of YUV 2:1:1 is right it is not supported by IPP at the moment.

Best regards,

Artem

0 Kudos
Tamer_Assad
Innovator
503 Views

Dear Artem,

Thank you for your concern.

Im trying to process all possible raw color formats delivered from various cameras, convert them to i420/iYUV 4:2:0 planar format so then they are good for ipp video encoding.

Apparently I do not have a specific input format, my code detects the camera output color format, convert it, and produce the ready iYUV buffers for further processing.

Currently, I have the following input formats supported: iYUV, YV12, YUY2, , UYVY YVYU, YUYV, RGB565, RGB24, , RGB32, ARGB32

For the 32 bits RGB (RGB32, ARGB), I used ippiCopy_8u_AC4C3R as an intermediate conversion procedure, this provides a good RGB24 buffer that suites the ippiRGBToYCbCr420_8u_C3P3R.

However, I cant locate a suitable ipp function to convert from raw YUV 4:4:4 to YUV 4:2:0.. can you help?

Reference the FOURCC.org, Y411 and Y41P are YUV 4:1:1 packed; so thank you for the info that ipp supports 4:1:1 planar formats only.

Also, FOURCC.org defined the Y211, as an 8 bpp packed format (seems to be less common). Thanks again for confirming that ipp does not support it.

Best regards,

Tamer

0 Kudos
Reply