Re: YUV444 contradicting wikipedia

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi


"4:x:y" refers to chroma subsampling, details here: 
https://en.wikipedia.org/wiki/Chroma_subsampling. With "YUV 4:4:4" each 
pixel has 1 Luma information and 1 Chroma information: 1 Y + 1 Cb + 1 Cr 
= 24 bits per pixel.


In top of that, each of the three components (Y, Cb, Cr) can be stored 
in a single memory plane (packed format), just like usual RGB formats 
are. Or components can be stored in 2 (Y + Cb-Cr) or 3 (Y + Cb + Cr) 
memory planes.


The combination of the chroma subsampling and the number of planes, 
defines a pixel format. The problem is that each sub-system (DRM, V4L2, 
GStreamer, ...) uses its own constants with unfortunately unconsistent 
names across them.


Let's consider the YUV 4:4:4 with three planes format:

DRM =    DRM_FORMAT_YUV444

V4L2 =   V4L2_PIX_FMT_YUV444M

GStreamer = GST_VIDEO_FORMAT_Y444

As you can see, although all of them specify the same pixel format, the 
names are quite different.

And regarding V4L2_PIX_FMT_YUV444 (not ending with "M"), it defines 
another format with the following specifications:

- YUV packed

- 4:4:4 chroma sampling

- Alpha (when supported by driver)

- 4 (not 8) bits per component

Very different from the "standard" YUV 4:4:4 pixel format.

I agree that its name is confusing, but since it is part of the API, we 
shall consider that it won't be updated.

 From what I have seen, DRM (maybe because it is a relatively recent 
'framework') has a clear definition of the pixel formats.


Fabien


On 10/27/2016 08:16 AM, Guennadi Liakhovetski wrote:
> Hi,
>
> Looks like the Linux definition of the (packed) YUV444 format contradicts
> wikipedia. According to
> https://linuxtv.org/downloads/v4l-dvb-apis-new/uapi/v4l/pixfmt-packed-yuv.html
> The Linux V4L2_PIX_FMT_YUV444 format takes 16 bits per pixel, whereas the
> wikipedia
> https://en.wikipedia.org/wiki/YUV#Converting_between_Y.E2.80.B2UV_and_RGB
> says it's 24 bits per pixel. I understand that the wikipedia doesn't have
> an absolute authority, but I also saw other sources using the same
> definition. So, looks like some confusion is possible.
>
> Thanks
> Guennadi
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux