@@ -1233,6 +1233,56 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1233
1233
*/
1234
1234
#define VIDEO_PIX_FMT_RGB565 VIDEO_FOURCC('R', 'G', 'B', 'P')
1235
1235
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
+
1236
1286
/**
1237
1287
* The first byte is empty (X) for each pixel.
1238
1288
*
@@ -1262,6 +1312,27 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1262
1312
*/
1263
1313
#define VIDEO_PIX_FMT_YUYV VIDEO_FOURCC('Y', 'U', 'Y', 'V')
1264
1314
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
+
1265
1336
/**
1266
1337
* The first byte is empty (X) for each pixel.
1267
1338
*
@@ -1326,6 +1397,9 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1326
1397
return 14 ;
1327
1398
case VIDEO_PIX_FMT_RGB565 :
1328
1399
case VIDEO_PIX_FMT_YUYV :
1400
+ case VIDEO_PIX_FMT_YVYU :
1401
+ case VIDEO_PIX_FMT_UYVY :
1402
+ case VIDEO_PIX_FMT_VYUY :
1329
1403
case VIDEO_PIX_FMT_SBGGR10 :
1330
1404
case VIDEO_PIX_FMT_SGBRG10 :
1331
1405
case VIDEO_PIX_FMT_SGRBG10 :
@@ -1343,8 +1417,15 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1343
1417
case VIDEO_PIX_FMT_SGRBG16 :
1344
1418
case VIDEO_PIX_FMT_SRGGB16 :
1345
1419
return 16 ;
1420
+ case VIDEO_PIX_FMT_BGR24 :
1421
+ case VIDEO_PIX_FMT_RGB24 :
1422
+ return 24 ;
1346
1423
case VIDEO_PIX_FMT_XRGB32 :
1347
1424
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 :
1348
1429
return 32 ;
1349
1430
default :
1350
1431
/* Variable number of bits per pixel or unknown format */
0 commit comments