|
Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
|
The '|' characters separate the pixels or logical blocks, and spaces separate the bytes. More...
Macros | |
| #define | VIDEO_FOURCC(a, b, c, d) |
| Four-character-code uniquely identifying the pixel format. | |
| #define | VIDEO_FOURCC_FROM_STR(str) |
| Convert a four-character-string to a four-character-code. | |
| #define | VIDEO_FOURCC_TO_STR(fourcc) |
| Convert a four-character-code to a four-character-string. | |
| #define | VIDEO_FMT_IS_GRAYSCALE(pixfmt) |
| Test if a fourcc is a grayscale format. | |
| #define | VIDEO_FMT_IS_BAYER(pixfmt) |
| Test if a fourcc is a Bayer format. | |
| #define | VIDEO_FMT_IS_RGB(pixfmt) |
| Test if a fourcc is an RGB format (bayer excluded). | |
| #define | VIDEO_FMT_IS_YUV(pixfmt) |
| Test if a fourcc is an YUV format. | |
| #define | VIDEO_FMT_IS_MIPI_PACKED(pixfmt) |
| Test if a fourcc is any of the MIPI-packed formats. | |
| #define | VIDEO_FMT_IS_PADDED(pixfmt) |
| Test if a fourcc is any of the MIPI-packed formats. | |
| #define | VIDEO_FMT_IS_SEMI_PLANAR(pixfmt) |
| Test if a fourcc is any of the semi-planar formats. | |
| #define | VIDEO_FMT_IS_FULL_PLANAR(pixfmt) |
| Test if a fourcc is any of the full-planar formats. | |
Functions | |
| static unsigned int | video_bits_per_pixel (uint32_t pixfmt) |
| Get number of bits per pixel of a pixel format. | |
Bayer formats (R, G, B channels). | |
The full color information is spread over multiple pixels. When the format includes more than 8-bit per pixel, a strategy becomes needed to pack the bits over multiple bytes, as illustrated for each format. The number above the 'R', 'r', 'G', 'g', 'B', 'b' are hints about which pixel number the following bits belong to. | |
| #define | VIDEO_FOREACH_BAYER(X, ...) |
| Repeat a macro for every Bayer format, passed as first parameter. | |
| #define | VIDEO_FOREACH_BAYER_PADDED(X, ...) |
| Repeat a macro for every Bayer padded format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_SBGGR8P16 VIDEO_FOURCC('p', 'B', '8', '2') |
| 8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian. | |
| #define | VIDEO_PIX_FMT_SGBRG8P16 VIDEO_FOURCC('p', 'G', '8', '2') |
| 8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian. | |
| #define | VIDEO_PIX_FMT_SGRBG8P16 VIDEO_FOURCC('p', 'g', '8', '2') |
| 8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian. | |
| #define | VIDEO_PIX_FMT_SRGGB8P16 VIDEO_FOURCC('p', 'R', '8', '2') |
| 8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian. | |
| #define | VIDEO_FOREACH_BAYER_MIPI_PACKED(X, ...) |
| Repeat a macro for every Bayer MIPI-packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_SBGGR10P VIDEO_FOURCC('p', 'B', 'A', 'A') |
| #define | VIDEO_PIX_FMT_SGBRG10P VIDEO_FOURCC('p', 'G', 'A', 'A') |
| #define | VIDEO_PIX_FMT_SGRBG10P VIDEO_FOURCC('p', 'g', 'A', 'A') |
| #define | VIDEO_PIX_FMT_SRGGB10P VIDEO_FOURCC('p', 'R', 'A', 'A') |
| #define | VIDEO_PIX_FMT_SBGGR12P VIDEO_FOURCC('p', 'B', 'C', 'C') |
| #define | VIDEO_PIX_FMT_SGBRG12P VIDEO_FOURCC('p', 'G', 'C', 'C') |
| #define | VIDEO_PIX_FMT_SGRBG12P VIDEO_FOURCC('p', 'g', 'C', 'C') |
| #define | VIDEO_PIX_FMT_SRGGB12P VIDEO_FOURCC('p', 'R', 'C', 'C') |
| #define | VIDEO_PIX_FMT_SBGGR14P VIDEO_FOURCC('p', 'B', 'E', 'E') |
| #define | VIDEO_PIX_FMT_SGBRG14P VIDEO_FOURCC('p', 'G', 'E', 'E') |
| #define | VIDEO_PIX_FMT_SGRBG14P VIDEO_FOURCC('p', 'g', 'E', 'E') |
| #define | VIDEO_PIX_FMT_SRGGB14P VIDEO_FOURCC('p', 'R', 'E', 'E') |
| #define | VIDEO_FOREACH_BAYER_NON_PACKED(X, ...) |
| Repeat a macro for every Bayer non-packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_SBGGR8 VIDEO_FOURCC('B', 'A', '8', '1') |
| #define | VIDEO_PIX_FMT_SGBRG8 VIDEO_FOURCC('G', 'B', 'R', 'G') |
| #define | VIDEO_PIX_FMT_SGRBG8 VIDEO_FOURCC('G', 'R', 'B', 'G') |
| #define | VIDEO_PIX_FMT_SRGGB8 VIDEO_FOURCC('R', 'G', 'G', 'B') |
| #define | VIDEO_PIX_FMT_SBGGR10 VIDEO_FOURCC('B', 'G', '1', '0') |
| #define | VIDEO_PIX_FMT_SGBRG10 VIDEO_FOURCC('G', 'B', '1', '0') |
| #define | VIDEO_PIX_FMT_SGRBG10 VIDEO_FOURCC('B', 'A', '1', '0') |
| #define | VIDEO_PIX_FMT_SRGGB10 VIDEO_FOURCC('R', 'G', '1', '0') |
| #define | VIDEO_PIX_FMT_SBGGR12 VIDEO_FOURCC('B', 'G', '1', '2') |
| #define | VIDEO_PIX_FMT_SGBRG12 VIDEO_FOURCC('G', 'B', '1', '2') |
| #define | VIDEO_PIX_FMT_SGRBG12 VIDEO_FOURCC('B', 'A', '1', '2') |
| #define | VIDEO_PIX_FMT_SRGGB12 VIDEO_FOURCC('R', 'G', '1', '2') |
| #define | VIDEO_PIX_FMT_SBGGR14 VIDEO_FOURCC('B', 'G', '1', '4') |
| #define | VIDEO_PIX_FMT_SGBRG14 VIDEO_FOURCC('G', 'B', '1', '4') |
| #define | VIDEO_PIX_FMT_SGRBG14 VIDEO_FOURCC('G', 'R', '1', '4') |
| #define | VIDEO_PIX_FMT_SRGGB14 VIDEO_FOURCC('R', 'G', '1', '4') |
| #define | VIDEO_PIX_FMT_SBGGR16 VIDEO_FOURCC('B', 'Y', 'R', '2') |
| #define | VIDEO_PIX_FMT_SGBRG16 VIDEO_FOURCC('G', 'B', '1', '6') |
| #define | VIDEO_PIX_FMT_SGRBG16 VIDEO_FOURCC('G', 'R', '1', '6') |
| #define | VIDEO_PIX_FMT_SRGGB16 VIDEO_FOURCC('R', 'G', '1', '6') |
Grayscale formats | |
Luminance (Y) channel only, in various bit depth and packing. When the format includes more than 8-bit per pixel, a strategy becomes needed to pack the bits over multiple bytes, as illustrated for each format. The number above the 'Y', 'y' are hints about which pixel number the following bits belong to. | |
| #define | VIDEO_FOREACH_GRAYSCALE(X, ...) |
| Repeat a macro for every grayscale format, passed as first parameter. | |
| #define | VIDEO_FOREACH_GRAYSCALE_NON_PACKED(X, ...) |
| Repeat a macro for every grayscale non-packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_GREY VIDEO_FOURCC('G', 'R', 'E', 'Y') |
| Same as Y8 (8-bit luma-only) following the standard FOURCC naming, or L8 in some graphics libraries. | |
| #define | VIDEO_PIX_FMT_Y10 VIDEO_FOURCC('Y', '1', '0', ' ') |
| Little endian, with the 6 most significant bits set to Zero. | |
| #define | VIDEO_PIX_FMT_Y12 VIDEO_FOURCC('Y', '1', '2', ' ') |
| Little endian, with the 4 most significant bits set to Zero. | |
| #define | VIDEO_PIX_FMT_Y14 VIDEO_FOURCC('Y', '1', '4', ' ') |
| Little endian, with the 2 most significant bits set to Zero. | |
| #define | VIDEO_PIX_FMT_Y16 VIDEO_FOURCC('Y', '1', '6', ' ') |
| Little endian. | |
| #define | VIDEO_FOREACH_GRAYSCALE_PADDED(X, ...) |
| Repeat a macro for every grayscale padded format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_Y8P16 VIDEO_FOURCC('Y', '8', 'P', '2') |
| 8-bit luma-only split in two 4-bit blocks each zero-padded, little endian. | |
| #define | VIDEO_FOREACH_GRAYSCALE_MIPI_PACKED(X, ...) |
| Repeat a macro for every grayscale MIPI-packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_Y10P VIDEO_FOURCC('Y', '1', '0', 'P') |
| #define | VIDEO_PIX_FMT_Y12P VIDEO_FOURCC('Y', '1', '2', 'P') |
| #define | VIDEO_PIX_FMT_Y14P VIDEO_FOURCC('Y', '1', '4', 'P') |
RGB formats | |
Per-color (R, G, B) channels. | |
| #define | VIDEO_FOREACH_RGB(X, ...) |
| Repeat a macro for every RGB format, passed as first parameter. | |
| #define | VIDEO_FOREACH_RGB_PACKED(X, ...) |
| Repeat a macro for every RGB packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_RGB565X VIDEO_FOURCC('R', 'G', 'B', 'R') |
| 5 red bits [15:11], 6 green bits [10:5], 5 blue bits [4:0]. | |
| #define | VIDEO_PIX_FMT_RGB565 VIDEO_FOURCC('R', 'G', 'B', 'P') |
| 5 red bits [15:11], 6 green bits [10:5], 5 blue bits [4:0]. | |
| #define | VIDEO_FOREACH_RGB_NON_PACKED(X, ...) |
| Repeat a macro for every RGB non-packed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_BGR24 VIDEO_FOURCC('B', 'G', 'R', '3') |
| 24 bit RGB format with 8 bit per component | |
| #define | VIDEO_PIX_FMT_RGB24 VIDEO_FOURCC('R', 'G', 'B', '3') |
| 24 bit RGB format with 8 bit per component | |
| #define | VIDEO_FOREACH_RGB_ALPHA(X, ...) |
| Repeat a macro for every RGB alpha format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_ARGB32 VIDEO_FOURCC('B', 'A', '2', '4') |
| The first byte is alpha (A) for each pixel. | |
| #define | VIDEO_PIX_FMT_BGRA32 VIDEO_FOURCC('A', 'R', '2', '4') |
| The last byte is alpha (A) for each pixel. | |
| #define | VIDEO_PIX_FMT_RGBA32 VIDEO_FOURCC('A', 'B', '2', '4') |
| The last byte is alpha (A) for each pixel. | |
| #define | VIDEO_PIX_FMT_ABGR32 VIDEO_FOURCC('R', 'A', '2', '4') |
| The first byte is alpha (A) for each pixel. | |
| #define | VIDEO_FOREACH_RGB_PADDED(X, ...) |
| Repeat a macro for every RGB padded format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_XRGB32 VIDEO_FOURCC('B', 'X', '2', '4') |
| The first byte is empty (X) for each pixel. | |
| #define | VIDEO_PIX_FMT_XBGR32 VIDEO_FOURCC('R', 'X', '2', '4') |
| The first byte is empty (X) for each pixel. | |
| #define | VIDEO_PIX_FMT_BGRX32 VIDEO_FOURCC('X', 'R', '2', '4') |
| The last byte is empty (X) for each pixel. | |
| #define | VIDEO_PIX_FMT_RGBX32 VIDEO_FOURCC('X', 'B', '2', '4') |
| The last byte is empty (X) for each pixel. | |
YUV formats | |
Luminance (Y) and chrominance (U, V) channels. | |
| #define | VIDEO_FOREACH_YUV(X, ...) |
| Repeat a macro for every YUV format, passed as first parameter. | |
| #define | VIDEO_FOREACH_YUV_NON_PLANAR(X, ...) |
| Repeat a macro for every YUV Non-Planar format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_YUYV VIDEO_FOURCC('Y', 'U', 'Y', 'V') |
| There is either a missing channel per pixel, U or V. | |
| #define | VIDEO_PIX_FMT_YVYU VIDEO_FOURCC('Y', 'V', 'Y', 'U') |
| #define | VIDEO_PIX_FMT_VYUY VIDEO_FOURCC('V', 'Y', 'U', 'Y') |
| #define | VIDEO_PIX_FMT_UYVY VIDEO_FOURCC('U', 'Y', 'V', 'Y') |
| #define | VIDEO_PIX_FMT_XYUV32 VIDEO_FOURCC('X', 'Y', 'U', 'V') |
| The first byte is empty (X) for each pixel. | |
| #define | VIDEO_PIX_FMT_YUV24 VIDEO_FOURCC('Y', 'U', 'V', '3') |
| 24 bit YUV format with 8 bit per component | |
| #define | VIDEO_FOREACH_YUV_SEMI_PLANAR(X, ...) |
| Repeat a macro for every YUV Semi-Planar format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_NV12 VIDEO_FOURCC('N', 'V', '1', '2') |
| Chroma (U/V) are subsampled horizontaly and vertically. | |
| #define | VIDEO_PIX_FMT_NV21 VIDEO_FOURCC('N', 'V', '2', '1') |
| Chroma (U/V) are subsampled horizontaly and vertically. | |
| #define | VIDEO_PIX_FMT_NV16 VIDEO_FOURCC('N', 'V', '1', '6') |
| Chroma (U/V) are subsampled horizontaly. | |
| #define | VIDEO_PIX_FMT_NV61 VIDEO_FOURCC('N', 'V', '6', '1') |
| Chroma (U/V) are subsampled horizontaly. | |
| #define | VIDEO_PIX_FMT_NV24 VIDEO_FOURCC('N', 'V', '2', '4') |
| Chroma (U/V) are not subsampled. | |
| #define | VIDEO_PIX_FMT_NV42 VIDEO_FOURCC('N', 'V', '4', '2') |
| Chroma (U/V) are not subsampled. | |
| #define | VIDEO_FOREACH_YUV_FULL_PLANAR(X, ...) |
| Repeat a macro for every YUV Full-Planar format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_YUV420 VIDEO_FOURCC('Y', 'U', '1', '2') |
| Chroma (U/V) are subsampled horizontaly and vertically. | |
| #define | VIDEO_PIX_FMT_YVU420 VIDEO_FOURCC('Y', 'V', '1', '2') |
| Chroma (U/V) are subsampled horizontaly and vertically. | |
Compressed formats | |
| #define | VIDEO_FOREACH_COMPRESSED(X, ...) |
| Repeat a macro for every compressed format, passed as first parameter. | |
| #define | VIDEO_PIX_FMT_JPEG VIDEO_FOURCC('J', 'P', 'E', 'G') |
| Both JPEG (single frame) and Motion-JPEG (MJPEG, multiple JPEG frames concatenated). | |
| #define | VIDEO_PIX_FMT_H264 VIDEO_FOURCC('H', '2', '6', '4') |
| H264 with start code. | |
| #define | VIDEO_PIX_FMT_H264_NO_SC VIDEO_FOURCC('A', 'V', 'C', '1') |
| H264 without start code. | |
| #define | VIDEO_PIX_FMT_PNG VIDEO_FOURCC('P', 'N', 'G', ' ') |
| PNG. | |
The '|' characters separate the pixels or logical blocks, and spaces separate the bytes.
The uppercase letter represents the most significant bit. The lowercase letters represent the rest of the bits.
| #define VIDEO_FMT_IS_BAYER | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is a Bayer format.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_FULL_PLANAR | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is any of the full-planar formats.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_GRAYSCALE | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is a grayscale format.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_MIPI_PACKED | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is any of the MIPI-packed formats.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_PADDED | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is any of the MIPI-packed formats.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_RGB | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is an RGB format (bayer excluded).
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_SEMI_PLANAR | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is any of the semi-planar formats.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FMT_IS_YUV | ( | pixfmt | ) |
#include <zephyr/drivers/video.h>
Test if a fourcc is an YUV format.
| pixfmt | FourCC of the pixel format to test |
| #define VIDEO_FOREACH_BAYER | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every Bayer format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_BAYER_MIPI_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every Bayer MIPI-packed format, passed as first parameter.
A red, green, blue channel for every pixel, other than 8-bit per pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_BAYER_NON_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every Bayer non-packed format, passed as first parameter.
A red, green, blue channel for every pixel, other than 8-bit per pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_BAYER_PADDED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every Bayer padded format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_COMPRESSED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every compressed format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_GRAYSCALE | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every grayscale format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_GRAYSCALE_MIPI_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every grayscale MIPI-packed format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_GRAYSCALE_NON_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every grayscale non-packed format, passed as first parameter.
A red, green, blue channel for every pixel, other than 8-bit per pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_GRAYSCALE_PADDED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every grayscale padded format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_RGB | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every RGB format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_RGB_ALPHA | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every RGB alpha format, passed as first parameter.
A red, green, blue, alpha channel for every pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_RGB_NON_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every RGB non-packed format, passed as first parameter.
A red, green, blue channel for every pixel, 8-bit per pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_RGB_PACKED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every RGB packed format, passed as first parameter.
A red, green, blue channel for every pixel, other than 8-bit per pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_RGB_PADDED | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every RGB padded format, passed as first parameter.
A red, green, blue channel for every pixel.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_YUV | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every YUV format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_YUV_FULL_PLANAR | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every YUV Full-Planar format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_YUV_NON_PLANAR | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every YUV Non-Planar format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOREACH_YUV_SEMI_PLANAR | ( | X, | |
| ... ) |
#include <zephyr/drivers/video.h>
Repeat a macro for every YUV Semi-Planar format, passed as first parameter.
| X | macro to replicate |
| ... | extra parameters |
| #define VIDEO_FOURCC | ( | a, | |
| b, | |||
| c, | |||
| d ) |
| #define VIDEO_FOURCC_FROM_STR | ( | str | ) |
#include <zephyr/drivers/video.h>
Convert a four-character-string to a four-character-code.
Convert a string literal or variable into a four-character-code as defined by VIDEO_FOURCC.
| str | String to be converted |
| #define VIDEO_FOURCC_TO_STR | ( | fourcc | ) |
#include <zephyr/drivers/video.h>
Convert a four-character-code to a four-character-string.
Convert a four-character code as defined by VIDEO_FOURCC into a string that can be used anywhere, such as in debug logs with the s print formatter.
| fourcc | The 32-bit four-character-code integer to be converted, in CPU-native endinaness. |
| #define VIDEO_PIX_FMT_ABGR32 VIDEO_FOURCC('R', 'A', '2', '4') |
#include <zephyr/drivers/video.h>
The first byte is alpha (A) for each pixel.
| #define VIDEO_PIX_FMT_ARGB32 VIDEO_FOURCC('B', 'A', '2', '4') |
#include <zephyr/drivers/video.h>
The first byte is alpha (A) for each pixel.
| #define VIDEO_PIX_FMT_BGR24 VIDEO_FOURCC('B', 'G', 'R', '3') |
#include <zephyr/drivers/video.h>
24 bit RGB format with 8 bit per component
| #define VIDEO_PIX_FMT_BGRA32 VIDEO_FOURCC('A', 'R', '2', '4') |
#include <zephyr/drivers/video.h>
The last byte is alpha (A) for each pixel.
| #define VIDEO_PIX_FMT_BGRX32 VIDEO_FOURCC('X', 'R', '2', '4') |
#include <zephyr/drivers/video.h>
The last byte is empty (X) for each pixel.
| #define VIDEO_PIX_FMT_GREY VIDEO_FOURCC('G', 'R', 'E', 'Y') |
#include <zephyr/drivers/video.h>
Same as Y8 (8-bit luma-only) following the standard FOURCC naming, or L8 in some graphics libraries.
| #define VIDEO_PIX_FMT_H264 VIDEO_FOURCC('H', '2', '6', '4') |
#include <zephyr/drivers/video.h>
H264 with start code.
| #define VIDEO_PIX_FMT_H264_NO_SC VIDEO_FOURCC('A', 'V', 'C', '1') |
#include <zephyr/drivers/video.h>
H264 without start code.
| #define VIDEO_PIX_FMT_JPEG VIDEO_FOURCC('J', 'P', 'E', 'G') |
#include <zephyr/drivers/video.h>
Both JPEG (single frame) and Motion-JPEG (MJPEG, multiple JPEG frames concatenated).
| #define VIDEO_PIX_FMT_NV12 VIDEO_FOURCC('N', 'V', '1', '2') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly and vertically.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_NV16 VIDEO_FOURCC('N', 'V', '1', '6') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_NV21 VIDEO_FOURCC('N', 'V', '2', '1') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly and vertically.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_NV24 VIDEO_FOURCC('N', 'V', '2', '4') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are not subsampled.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_NV42 VIDEO_FOURCC('N', 'V', '4', '2') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are not subsampled.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_NV61 VIDEO_FOURCC('N', 'V', '6', '1') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_PNG VIDEO_FOURCC('P', 'N', 'G', ' ') |
#include <zephyr/drivers/video.h>
PNG.
| #define VIDEO_PIX_FMT_RGB24 VIDEO_FOURCC('R', 'G', 'B', '3') |
#include <zephyr/drivers/video.h>
24 bit RGB format with 8 bit per component
| #define VIDEO_PIX_FMT_RGB565 VIDEO_FOURCC('R', 'G', 'B', 'P') |
#include <zephyr/drivers/video.h>
5 red bits [15:11], 6 green bits [10:5], 5 blue bits [4:0].
This 16-bit integer is then packed in little endian format over two bytes:
| #define VIDEO_PIX_FMT_RGB565X VIDEO_FOURCC('R', 'G', 'B', 'R') |
#include <zephyr/drivers/video.h>
5 red bits [15:11], 6 green bits [10:5], 5 blue bits [4:0].
This 16-bit integer is then packed in big endian format over two bytes:
| #define VIDEO_PIX_FMT_RGBA32 VIDEO_FOURCC('A', 'B', '2', '4') |
#include <zephyr/drivers/video.h>
The last byte is alpha (A) for each pixel.
| #define VIDEO_PIX_FMT_RGBX32 VIDEO_FOURCC('X', 'B', '2', '4') |
#include <zephyr/drivers/video.h>
The last byte is empty (X) for each pixel.
| #define VIDEO_PIX_FMT_SBGGR10 VIDEO_FOURCC('B', 'G', '1', '0') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR10P VIDEO_FOURCC('p', 'B', 'A', 'A') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR12 VIDEO_FOURCC('B', 'G', '1', '2') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR12P VIDEO_FOURCC('p', 'B', 'C', 'C') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR14 VIDEO_FOURCC('B', 'G', '1', '4') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR14P VIDEO_FOURCC('p', 'B', 'E', 'E') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR16 VIDEO_FOURCC('B', 'Y', 'R', '2') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR8 VIDEO_FOURCC('B', 'A', '8', '1') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SBGGR8P16 VIDEO_FOURCC('p', 'B', '8', '2') |
#include <zephyr/drivers/video.h>
8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian.
| #define VIDEO_PIX_FMT_SGBRG10 VIDEO_FOURCC('G', 'B', '1', '0') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG10P VIDEO_FOURCC('p', 'G', 'A', 'A') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG12 VIDEO_FOURCC('G', 'B', '1', '2') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG12P VIDEO_FOURCC('p', 'G', 'C', 'C') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG14 VIDEO_FOURCC('G', 'B', '1', '4') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG14P VIDEO_FOURCC('p', 'G', 'E', 'E') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG16 VIDEO_FOURCC('G', 'B', '1', '6') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG8 VIDEO_FOURCC('G', 'B', 'R', 'G') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGBRG8P16 VIDEO_FOURCC('p', 'G', '8', '2') |
#include <zephyr/drivers/video.h>
8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian.
| #define VIDEO_PIX_FMT_SGRBG10 VIDEO_FOURCC('B', 'A', '1', '0') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG10P VIDEO_FOURCC('p', 'g', 'A', 'A') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG12 VIDEO_FOURCC('B', 'A', '1', '2') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG12P VIDEO_FOURCC('p', 'g', 'C', 'C') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG14 VIDEO_FOURCC('G', 'R', '1', '4') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG14P VIDEO_FOURCC('p', 'g', 'E', 'E') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG16 VIDEO_FOURCC('G', 'R', '1', '6') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG8 VIDEO_FOURCC('G', 'R', 'B', 'G') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SGRBG8P16 VIDEO_FOURCC('p', 'g', '8', '2') |
#include <zephyr/drivers/video.h>
8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian.
| #define VIDEO_PIX_FMT_SRGGB10 VIDEO_FOURCC('R', 'G', '1', '0') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB10P VIDEO_FOURCC('p', 'R', 'A', 'A') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB12 VIDEO_FOURCC('R', 'G', '1', '2') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB12P VIDEO_FOURCC('p', 'R', 'C', 'C') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB14 VIDEO_FOURCC('R', 'G', '1', '4') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB14P VIDEO_FOURCC('p', 'R', 'E', 'E') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB16 VIDEO_FOURCC('R', 'G', '1', '6') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB8 VIDEO_FOURCC('R', 'G', 'G', 'B') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_SRGGB8P16 VIDEO_FOURCC('p', 'R', '8', '2') |
#include <zephyr/drivers/video.h>
8-bit bayer format, split in two 4-bit blocks each zero-padded, little endian.
| #define VIDEO_PIX_FMT_UYVY VIDEO_FOURCC('U', 'Y', 'V', 'Y') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_VYUY VIDEO_FOURCC('V', 'Y', 'U', 'Y') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_XBGR32 VIDEO_FOURCC('R', 'X', '2', '4') |
#include <zephyr/drivers/video.h>
The first byte is empty (X) for each pixel.
| #define VIDEO_PIX_FMT_XRGB32 VIDEO_FOURCC('B', 'X', '2', '4') |
#include <zephyr/drivers/video.h>
The first byte is empty (X) for each pixel.
| #define VIDEO_PIX_FMT_XYUV32 VIDEO_FOURCC('X', 'Y', 'U', 'V') |
#include <zephyr/drivers/video.h>
The first byte is empty (X) for each pixel.
| #define VIDEO_PIX_FMT_Y10 VIDEO_FOURCC('Y', '1', '0', ' ') |
#include <zephyr/drivers/video.h>
Little endian, with the 6 most significant bits set to Zero.
| #define VIDEO_PIX_FMT_Y10P VIDEO_FOURCC('Y', '1', '0', 'P') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_Y12 VIDEO_FOURCC('Y', '1', '2', ' ') |
#include <zephyr/drivers/video.h>
Little endian, with the 4 most significant bits set to Zero.
| #define VIDEO_PIX_FMT_Y12P VIDEO_FOURCC('Y', '1', '2', 'P') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_Y14 VIDEO_FOURCC('Y', '1', '4', ' ') |
#include <zephyr/drivers/video.h>
Little endian, with the 2 most significant bits set to Zero.
| #define VIDEO_PIX_FMT_Y14P VIDEO_FOURCC('Y', '1', '4', 'P') |
#include <zephyr/drivers/video.h>
| #define VIDEO_PIX_FMT_Y16 VIDEO_FOURCC('Y', '1', '6', ' ') |
#include <zephyr/drivers/video.h>
Little endian.
| #define VIDEO_PIX_FMT_Y8P16 VIDEO_FOURCC('Y', '8', 'P', '2') |
#include <zephyr/drivers/video.h>
8-bit luma-only split in two 4-bit blocks each zero-padded, little endian.
| #define VIDEO_PIX_FMT_YUV24 VIDEO_FOURCC('Y', 'U', 'V', '3') |
#include <zephyr/drivers/video.h>
24 bit YUV format with 8 bit per component
| #define VIDEO_PIX_FMT_YUV420 VIDEO_FOURCC('Y', 'U', '1', '2') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly and vertically.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_YUYV VIDEO_FOURCC('Y', 'U', 'Y', 'V') |
#include <zephyr/drivers/video.h>
There is either a missing channel per pixel, U or V.
The value is to be averaged over 2 pixels to get the value of individual pixel.
| #define VIDEO_PIX_FMT_YVU420 VIDEO_FOURCC('Y', 'V', '1', '2') |
#include <zephyr/drivers/video.h>
Chroma (U/V) are subsampled horizontaly and vertically.
Below diagram show how luma and chroma relate to each others
| #define VIDEO_PIX_FMT_YVYU VIDEO_FOURCC('Y', 'V', 'Y', 'U') |
#include <zephyr/drivers/video.h>
#include <zephyr/drivers/video.h>
Get number of bits per pixel of a pixel format.
| pixfmt | FourCC pixel format value (Video pixel formats). |
| 0 | if the format is unhandled or if it is variable number of bits |
| >0 | bit size of one pixel for this format |