Skip to content

Commit dafeae0

Browse files
josuahkartben
authored andcommitted
drivers: video: add more luma-only 0-padded formats
Add several more luma-only formats also known as grayscale, of variable bit depth, 0-padded to fit 16-bits per pixel: Y10, Y12, Y14, Y16 Signed-off-by: Josuah Demangeon <me@josuah.net>
1 parent bd8597c commit dafeae0

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

include/zephyr/drivers/video.h

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,46 @@ int64_t video_get_csi_link_freq(const struct device *dev, uint8_t bpp, uint8_t l
12411241
*/
12421242
#define VIDEO_PIX_FMT_Y14P VIDEO_FOURCC('Y', '1', '4', 'P')
12431243

1244+
/**
1245+
* Little endian, with the 6 most significant bits set to Zero.
1246+
* @code{.unparsed}
1247+
* 0 1 2 3
1248+
* | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | ...
1249+
* | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | yyyyyyyy 000000Yy | ...
1250+
* @endcode
1251+
*/
1252+
#define VIDEO_PIX_FMT_Y10 VIDEO_FOURCC('Y', '1', '0', ' ')
1253+
1254+
/**
1255+
* Little endian, with the 4 most significant bits set to Zero.
1256+
* @code{.unparsed}
1257+
* 0 1 2 3
1258+
* | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | ...
1259+
* | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | yyyyyyyy 0000Yyyy | ...
1260+
* @endcode
1261+
*/
1262+
#define VIDEO_PIX_FMT_Y12 VIDEO_FOURCC('Y', '1', '2', ' ')
1263+
1264+
/**
1265+
* Little endian, with the 2 most significant bits set to Zero.
1266+
* @code{.unparsed}
1267+
* 0 1 2 3
1268+
* | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | ...
1269+
* | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | yyyyyyyy 00Yyyyyy | ...
1270+
* @endcode
1271+
*/
1272+
#define VIDEO_PIX_FMT_Y14 VIDEO_FOURCC('Y', '1', '4', ' ')
1273+
1274+
/**
1275+
* Little endian.
1276+
* @code{.unparsed}
1277+
* 0 1 2 3
1278+
* | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | ...
1279+
* | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | yyyyyyyy Yyyyyyyy | ...
1280+
* @endcode
1281+
*/
1282+
#define VIDEO_PIX_FMT_Y16 VIDEO_FOURCC('Y', '1', '6', ' ')
1283+
12441284
/**
12451285
* @}
12461286
*/
@@ -1456,6 +1496,10 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
14561496
case VIDEO_PIX_FMT_SGBRG16:
14571497
case VIDEO_PIX_FMT_SGRBG16:
14581498
case VIDEO_PIX_FMT_SRGGB16:
1499+
case VIDEO_PIX_FMT_Y10:
1500+
case VIDEO_PIX_FMT_Y12:
1501+
case VIDEO_PIX_FMT_Y14:
1502+
case VIDEO_PIX_FMT_Y16:
14591503
return 16;
14601504
case VIDEO_PIX_FMT_BGR24:
14611505
case VIDEO_PIX_FMT_RGB24:

0 commit comments

Comments
 (0)