1. Color formats in software components[edit source]
Depending on the software component, a color format name and definition may slightly differ. The table below references the main information relating to the different color formats.
Software frameworks | Include links & Examples | Support checks |
---|---|---|
Linux® kernel |
include/uapi/drm/drm_fourcc.h |
modetest |
Linux® kernel
V4L2 camera or V4L2 video |
include/uapi/linux/videodev2.h |
Command examples for cameras: v4l2-ctl -d /dev/video3 -D media-ctl -d platform:dcmipp -p Command examples for V4L2 video codecs: v4l2-ctl --list-formats-out-ext v4l2-ctl -d /dev/video0 --list-formats-ext |
GStreamer framework |
video-format.html and |
gst-inspect-1.0 waylandsink gst-inspect-1.0 --no-colors v4l2jpegenc |
2. Extra information[edit source]
2.1. YUV packed, full planar and semi-planar[edit source]
The "YUV" color format (also named YCbCr) memory buffers can be organized in 3 ways:
- packed (or co-planar) with 1 buffer: for instance "YUY2" for some camera outputs
- semi-planar with 2 buffers: for instance "NV12" for some video hardware decoders
- full-planar with 3 buffers: for instance "I420" and "YV12" for some software video decoders
2.2. Colorimetry[edit source]
In some particular use case, it may be important to consider:
- ITU-R BT.601 (SDTV analog) Vs. BT.709 (HDTV digital)
- Limited (16-235, for video) Vs. full range (for JPEG)
2.3. RAW Bayer color formats[edit source]
- RAW Bayer color formats : https://en.wikipedia.org/wiki/Bayer_filter