@@ -1233,6 +1233,56 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
12331233 */
12341234#define VIDEO_PIX_FMT_RGB565 VIDEO_FOURCC('R', 'G', 'B', 'P')
12351235
1236+ /**
1237+ * 24 bit RGB format with 8 bit per component
1238+ *
1239+ * @code{.unparsed}
1240+ * | Bbbbbbbb Gggggggg Rggggggg | ...
1241+ * @endcode
1242+ */
1243+ #define VIDEO_PIX_FMT_BGR24 VIDEO_FOURCC('B', 'G', 'R', '3')
1244+
1245+ /**
1246+ * 24 bit RGB format with 8 bit per component
1247+ *
1248+ * @code{.unparsed}
1249+ * | Rggggggg Gggggggg Bbbbbbbb | ...
1250+ * @endcode
1251+ */
1252+ #define VIDEO_PIX_FMT_RGB24 VIDEO_FOURCC('R', 'G', 'B', '3')
1253+
1254+ /**
1255+ * @code{.unparsed}
1256+ * | Aaaaaaaa Rrrrrrrr Gggggggg Bbbbbbbb | ...
1257+ * @endcode
1258+ */
1259+
1260+ #define VIDEO_PIX_FMT_ARGB32 VIDEO_FOURCC('B', 'A', '2', '4')
1261+
1262+ /**
1263+ * @code{.unparsed}
1264+ * | Bbbbbbbb Gggggggg Rrrrrrrr Aaaaaaaa | ...
1265+ * @endcode
1266+ */
1267+
1268+ #define VIDEO_PIX_FMT_ABGR32 VIDEO_FOURCC('A', 'R', '2', '4')
1269+
1270+ /**
1271+ * @code{.unparsed}
1272+ * | Rrrrrrrr Gggggggg Bbbbbbbb Aaaaaaaa | ...
1273+ * @endcode
1274+ */
1275+
1276+ #define VIDEO_PIX_FMT_RGBA32 VIDEO_FOURCC('A', 'B', '2', '4')
1277+
1278+ /**
1279+ * @code{.unparsed}
1280+ * | Aaaaaaaa Bbbbbbbb Gggggggg Rrrrrrrr | ...
1281+ * @endcode
1282+ */
1283+
1284+ #define VIDEO_PIX_FMT_BGRA32 VIDEO_FOURCC('R', 'A', '2', '4')
1285+
12361286/**
12371287 * The first byte is empty (X) for each pixel.
12381288 *
@@ -1262,6 +1312,27 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
12621312 */
12631313#define VIDEO_PIX_FMT_YUYV VIDEO_FOURCC('Y', 'U', 'Y', 'V')
12641314
1315+ /**
1316+ * @code{.unparsed}
1317+ * | Yyyyyyyy Vvvvvvvv | Yyyyyyyy Uuuuuuuu | ...
1318+ * @endcode
1319+ */
1320+ #define VIDEO_PIX_FMT_YVYU VIDEO_FOURCC('Y', 'V', 'Y', 'U')
1321+
1322+ /**
1323+ * @code{.unparsed}
1324+ * | Vvvvvvvv Yyyyyyyy | Uuuuuuuu Yyyyyyyy | ...
1325+ * @endcode
1326+ */
1327+ #define VIDEO_PIX_FMT_VYUY VIDEO_FOURCC('V', 'Y', 'U', 'Y')
1328+
1329+ /**
1330+ * @code{.unparsed}
1331+ * | Uuuuuuuu Yyyyyyyy | Vvvvvvvv Yyyyyyyy | ...
1332+ * @endcode
1333+ */
1334+ #define VIDEO_PIX_FMT_UYVY VIDEO_FOURCC('U', 'Y', 'V', 'Y')
1335+
12651336/**
12661337 * The first byte is empty (X) for each pixel.
12671338 *
@@ -1326,6 +1397,9 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
13261397 return 14 ;
13271398 case VIDEO_PIX_FMT_RGB565 :
13281399 case VIDEO_PIX_FMT_YUYV :
1400+ case VIDEO_PIX_FMT_YVYU :
1401+ case VIDEO_PIX_FMT_UYVY :
1402+ case VIDEO_PIX_FMT_VYUY :
13291403 case VIDEO_PIX_FMT_SBGGR10 :
13301404 case VIDEO_PIX_FMT_SGBRG10 :
13311405 case VIDEO_PIX_FMT_SGRBG10 :
@@ -1343,8 +1417,15 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
13431417 case VIDEO_PIX_FMT_SGRBG16 :
13441418 case VIDEO_PIX_FMT_SRGGB16 :
13451419 return 16 ;
1420+ case VIDEO_PIX_FMT_BGR24 :
1421+ case VIDEO_PIX_FMT_RGB24 :
1422+ return 24 ;
13461423 case VIDEO_PIX_FMT_XRGB32 :
13471424 case VIDEO_PIX_FMT_XYUV32 :
1425+ case VIDEO_PIX_FMT_ARGB32 :
1426+ case VIDEO_PIX_FMT_ABGR32 :
1427+ case VIDEO_PIX_FMT_RGBA32 :
1428+ case VIDEO_PIX_FMT_BGRA32 :
13481429 return 32 ;
13491430 default :
13501431 /* Variable number of bits per pixel or unknown format */
0 commit comments