@@ -1222,6 +1222,56 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1222
1222
*/
1223
1223
#define VIDEO_PIX_FMT_RGB565 VIDEO_FOURCC('R', 'G', 'B', 'P')
1224
1224
1225
+ /**
1226
+ * 24 bit RGB format with 8 bit per component
1227
+ *
1228
+ * @code{.unparsed}
1229
+ * | Bbbbbbbb Gggggggg Rggggggg | ...
1230
+ * @endcode
1231
+ */
1232
+ #define VIDEO_PIX_FMT_BGR24 VIDEO_FOURCC('B', 'G', 'R', '3')
1233
+
1234
+ /**
1235
+ * 24 bit RGB format with 8 bit per component
1236
+ *
1237
+ * @code{.unparsed}
1238
+ * | Rggggggg Gggggggg Bbbbbbbb | ...
1239
+ * @endcode
1240
+ */
1241
+ #define VIDEO_PIX_FMT_RGB24 VIDEO_FOURCC('R', 'G', 'B', '3')
1242
+
1243
+ /**
1244
+ * @code{.unparsed}
1245
+ * | Aaaaaaaa Rrrrrrrr Gggggggg Bbbbbbbb | ...
1246
+ * @endcode
1247
+ */
1248
+
1249
+ #define VIDEO_PIX_FMT_ARGB32 VIDEO_FOURCC('B', 'A', '2', '4')
1250
+
1251
+ /**
1252
+ * @code{.unparsed}
1253
+ * | Bbbbbbbb Gggggggg Rrrrrrrr Aaaaaaaa | ...
1254
+ * @endcode
1255
+ */
1256
+
1257
+ #define VIDEO_PIX_FMT_ABGR32 VIDEO_FOURCC('A', 'R', '2', '4')
1258
+
1259
+ /**
1260
+ * @code{.unparsed}
1261
+ * | Rrrrrrrr Gggggggg Bbbbbbbb Aaaaaaaa | ...
1262
+ * @endcode
1263
+ */
1264
+
1265
+ #define VIDEO_PIX_FMT_RGBA32 VIDEO_FOURCC('A', 'B', '2', '4')
1266
+
1267
+ /**
1268
+ * @code{.unparsed}
1269
+ * | Aaaaaaaa Bbbbbbbb Gggggggg Rrrrrrrr | ...
1270
+ * @endcode
1271
+ */
1272
+
1273
+ #define VIDEO_PIX_FMT_BGRA32 VIDEO_FOURCC('R', 'A', '2', '4')
1274
+
1225
1275
/**
1226
1276
* The first byte is empty (X) for each pixel.
1227
1277
*
@@ -1251,6 +1301,27 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1251
1301
*/
1252
1302
#define VIDEO_PIX_FMT_YUYV VIDEO_FOURCC('Y', 'U', 'Y', 'V')
1253
1303
1304
+ /**
1305
+ * @code{.unparsed}
1306
+ * | Yyyyyyyy Vvvvvvvv | Yyyyyyyy Uuuuuuuu | ...
1307
+ * @endcode
1308
+ */
1309
+ #define VIDEO_PIX_FMT_YVYU VIDEO_FOURCC('Y', 'V', 'Y', 'U')
1310
+
1311
+ /**
1312
+ * @code{.unparsed}
1313
+ * | Vvvvvvvv Yyyyyyyy | Uuuuuuuu Yyyyyyyy | ...
1314
+ * @endcode
1315
+ */
1316
+ #define VIDEO_PIX_FMT_VYUY VIDEO_FOURCC('V', 'Y', 'U', 'Y')
1317
+
1318
+ /**
1319
+ * @code{.unparsed}
1320
+ * | Uuuuuuuu Yyyyyyyy | Vvvvvvvv Yyyyyyyy | ...
1321
+ * @endcode
1322
+ */
1323
+ #define VIDEO_PIX_FMT_UYVY VIDEO_FOURCC('U', 'Y', 'V', 'Y')
1324
+
1254
1325
/**
1255
1326
* The first byte is empty (X) for each pixel.
1256
1327
*
@@ -1315,6 +1386,9 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1315
1386
return 14 ;
1316
1387
case VIDEO_PIX_FMT_RGB565 :
1317
1388
case VIDEO_PIX_FMT_YUYV :
1389
+ case VIDEO_PIX_FMT_YVYU :
1390
+ case VIDEO_PIX_FMT_UYVY :
1391
+ case VIDEO_PIX_FMT_VYUY :
1318
1392
case VIDEO_PIX_FMT_BGGR10 :
1319
1393
case VIDEO_PIX_FMT_GBRG10 :
1320
1394
case VIDEO_PIX_FMT_GRBG10 :
@@ -1332,8 +1406,15 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1332
1406
case VIDEO_PIX_FMT_GRBG16 :
1333
1407
case VIDEO_PIX_FMT_RGGB16 :
1334
1408
return 16 ;
1409
+ case VIDEO_PIX_FMT_BGR24 :
1410
+ case VIDEO_PIX_FMT_RGB24 :
1411
+ return 24 ;
1335
1412
case VIDEO_PIX_FMT_XRGB32 :
1336
1413
case VIDEO_PIX_FMT_XYUV32 :
1414
+ case VIDEO_PIX_FMT_ARGB32 :
1415
+ case VIDEO_PIX_FMT_ABGR32 :
1416
+ case VIDEO_PIX_FMT_RGBA32 :
1417
+ case VIDEO_PIX_FMT_BGRA32 :
1337
1418
return 32 ;
1338
1419
default :
1339
1420
/* Variable number of bits per pixel or unknown format */
0 commit comments