@@ -1009,6 +1009,134 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1009
1009
*/
1010
1010
#define VIDEO_PIX_FMT_SRGGB14P VIDEO_FOURCC('p', 'R', 'E', 'E')
1011
1011
1012
+ /**
1013
+ * @code{.unparsed}
1014
+ * | Bbbbbbbb | bb000000 | Gggggggg | gg000000 | Bbbbbbbb | bb000000 | ...
1015
+ * | Gggggggg | gg000000 | Rrrrrrrr | rr000000 | Gggggggg | gg000000 | ...
1016
+ * @endcode
1017
+ */
1018
+ #define VIDEO_PIX_FMT_BGGR10 VIDEO_FOURCC('B', 'G', '1', '0')
1019
+
1020
+ /**
1021
+ * @code{.unparsed}
1022
+ * | Gggggggg | gg000000 | Bbbbbbbb | bb000000 | Gggggggg | gg000000 | ...
1023
+ * | Rrrrrrrr | rr000000 | Gggggggg | gg000000 | Rrrrrrrr | rr000000 | ...
1024
+ * @endcode
1025
+ */
1026
+ #define VIDEO_PIX_FMT_GBRG10 VIDEO_FOURCC('G', 'B', '1', '0')
1027
+
1028
+ /**
1029
+ * @code{.unparsed}
1030
+ * | Gggggggg | gg000000 | Rrrrrrrr | rr000000 | Gggggggg | gg000000 | ...
1031
+ * | Bbbbbbbb | bb000000 | Gggggggg | gg000000 | Bbbbbbbb | bb000000 | ...
1032
+ * @endcode
1033
+ */
1034
+ #define VIDEO_PIX_FMT_GRBG10 VIDEO_FOURCC('B', 'A', '1', '0')
1035
+
1036
+ /**
1037
+ * @code{.unparsed}
1038
+ * | Rrrrrrrr | rr000000 | Gggggggg | gg000000 | Rrrrrrrr | rr000000 | ...
1039
+ * | Gggggggg | gg000000 | Bbbbbbbb | bb000000 | Gggggggg | gg000000 | ...
1040
+ * @endcode
1041
+ */
1042
+ #define VIDEO_PIX_FMT_RGGB10 VIDEO_FOURCC('R', 'G', '1', '0')
1043
+
1044
+ /**
1045
+ * @code{.unparsed}
1046
+ * | Bbbbbbbb | bbbb0000 | Gggggggg | gggg0000 | Bbbbbbbb | bbbb0000 | ...
1047
+ * | Gggggggg | gggg0000 | Rrrrrrrr | rrrr0000 | Gggggggg | gggg0000 | ...
1048
+ * @endcode
1049
+ */
1050
+ #define VIDEO_PIX_FMT_BGGR12 VIDEO_FOURCC('B', 'G', '1', '2')
1051
+
1052
+ /**
1053
+ * @code{.unparsed}
1054
+ * | Gggggggg | gggg0000 | Bbbbbbbb | bbbb0000 | Gggggggg | gggg0000 | ...
1055
+ * | Rrrrrrrr | rrrr0000 | Gggggggg | gggg0000 | Rrrrrrrr | rrrr0000 | ...
1056
+ * @endcode
1057
+ */
1058
+ #define VIDEO_PIX_FMT_GBRG12 VIDEO_FOURCC('G', 'B', '1', '2')
1059
+
1060
+ /**
1061
+ * @code{.unparsed}
1062
+ * | Gggggggg | gggg0000 | Rrrrrrrr | rrrr0000 | Gggggggg | gggg0000 | ...
1063
+ * | Bbbbbbbb | bbbb0000 | Gggggggg | gggg0000 | Bbbbbbbb | bbbb0000 | ...
1064
+ * @endcode
1065
+ */
1066
+ #define VIDEO_PIX_FMT_GRBG12 VIDEO_FOURCC('B', 'A', '1', '2')
1067
+
1068
+ /**
1069
+ * @code{.unparsed}
1070
+ * | Rrrrrrrr | rrrr0000 | Gggggggg | gggg0000 | Rrrrrrrr | rrrr0000 | ...
1071
+ * | Gggggggg | gggg0000 | Bbbbbbbb | bbbb0000 | Gggggggg | gggg0000 | ...
1072
+ * @endcode
1073
+ */
1074
+ #define VIDEO_PIX_FMT_RGGB12 VIDEO_FOURCC('R', 'G', '1', '2')
1075
+
1076
+ /**
1077
+ * @code{.unparsed}
1078
+ * | Bbbbbbbb | bbbbbb00 | Gggggggg | gggggg00 | Bbbbbbbb | bbbbbb00 | ...
1079
+ * | Gggggggg | gggggg00 | Rrrrrrrr | rrrrrr00 | Gggggggg | gggggg00 | ...
1080
+ * @endcode
1081
+ */
1082
+ #define VIDEO_PIX_FMT_BGGR14 VIDEO_FOURCC('B', 'G', '1', '4')
1083
+
1084
+ /**
1085
+ * @code{.unparsed}
1086
+ * | Gggggggg | gggggg00 | Bbbbbbbb | bbbbbb00 | Gggggggg | gggggg00 | ...
1087
+ * | Rrrrrrrr | rrrrrr00 | Gggggggg | gggggg00 | Rrrrrrrr | rrrrrr00 | ...
1088
+ * @endcode
1089
+ */
1090
+ #define VIDEO_PIX_FMT_GBRG14 VIDEO_FOURCC('G', 'B', '1', '4')
1091
+
1092
+ /**
1093
+ * @code{.unparsed}
1094
+ * | Gggggggg | gggggg00 | Rrrrrrrr | rrrrrr00 | Gggggggg | gggggg00 | ...
1095
+ * | Bbbbbbbb | bbbbbb00 | Gggggggg | gggggg00 | Bbbbbbbb | bbbbbb00 | ...
1096
+ * @endcode
1097
+ */
1098
+ #define VIDEO_PIX_FMT_GRBG14 VIDEO_FOURCC('G', 'R', '1', '4')
1099
+
1100
+ /**
1101
+ * @code{.unparsed}
1102
+ * | Rrrrrrrr | rrrrrr00 | Gggggggg | gggggg00 | Rrrrrrrr | rrrrrr00 | ...
1103
+ * | Gggggggg | gggggg00 | Bbbbbbbb | bbbbbb00 | Gggggggg | gggggg00 | ...
1104
+ * @endcode
1105
+ */
1106
+ #define VIDEO_PIX_FMT_RGGB14 VIDEO_FOURCC('R', 'G', '1', '4')
1107
+
1108
+ /**
1109
+ * @code{.unparsed}
1110
+ * | Bbbbbbbb | bbbbbbbb | Gggggggg | gggggggg | Bbbbbbbb | bbbbbbbb | ...
1111
+ * | Gggggggg | gggggggg | Rrrrrrrr | rrrrrrrr | Gggggggg | gggggggg | ...
1112
+ * @endcode
1113
+ */
1114
+ #define VIDEO_PIX_FMT_BGGR16 VIDEO_FOURCC('B', 'Y', 'R', '2')
1115
+
1116
+ /**
1117
+ * @code{.unparsed}
1118
+ * | Gggggggg | gggggggg | Bbbbbbbb | bbbbbbbb | Gggggggg | gggggggg | ...
1119
+ * | Rrrrrrrr | rrrrrrrr | Gggggggg | gggggggg | Rrrrrrrr | rrrrrrrr | ...
1120
+ * @endcode
1121
+ */
1122
+ #define VIDEO_PIX_FMT_GBRG16 VIDEO_FOURCC('G', 'B', '1', '6')
1123
+
1124
+ /**
1125
+ * @code{.unparsed}
1126
+ * | Gggggggg | gggggggg | Rrrrrrrr | rrrrrrrr | Gggggggg | gggggggg | ...
1127
+ * | Bbbbbbbb | bbbbbbbb | Gggggggg | gggggggg | Bbbbbbbb | bbbbbbbb | ...
1128
+ * @endcode
1129
+ */
1130
+ #define VIDEO_PIX_FMT_GRBG16 VIDEO_FOURCC('G', 'R', '1', '6')
1131
+
1132
+ /**
1133
+ * @code{.unparsed}
1134
+ * | Rrrrrrrr | rrrrrrrr | Gggggggg | gggggggg | Rrrrrrrr | rrrrrrrr | ...
1135
+ * | Gggggggg | gggggggg | Bbbbbbbb | bbbbbbbb | Gggggggg | gggggggg | ...
1136
+ * @endcode
1137
+ */
1138
+ #define VIDEO_PIX_FMT_RGGB16 VIDEO_FOURCC('R', 'G', '1', '6')
1139
+
1012
1140
/**
1013
1141
* @}
1014
1142
*/
@@ -1187,6 +1315,22 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1187
1315
return 14 ;
1188
1316
case VIDEO_PIX_FMT_RGB565 :
1189
1317
case VIDEO_PIX_FMT_YUYV :
1318
+ case VIDEO_PIX_FMT_BGGR10 :
1319
+ case VIDEO_PIX_FMT_GBRG10 :
1320
+ case VIDEO_PIX_FMT_GRBG10 :
1321
+ case VIDEO_PIX_FMT_RGGB10 :
1322
+ case VIDEO_PIX_FMT_BGGR12 :
1323
+ case VIDEO_PIX_FMT_GBRG12 :
1324
+ case VIDEO_PIX_FMT_GRBG12 :
1325
+ case VIDEO_PIX_FMT_RGGB12 :
1326
+ case VIDEO_PIX_FMT_BGGR14 :
1327
+ case VIDEO_PIX_FMT_GBRG14 :
1328
+ case VIDEO_PIX_FMT_GRBG14 :
1329
+ case VIDEO_PIX_FMT_RGGB14 :
1330
+ case VIDEO_PIX_FMT_BGGR16 :
1331
+ case VIDEO_PIX_FMT_GBRG16 :
1332
+ case VIDEO_PIX_FMT_GRBG16 :
1333
+ case VIDEO_PIX_FMT_RGGB16 :
1190
1334
return 16 ;
1191
1335
case VIDEO_PIX_FMT_XRGB32 :
1192
1336
case VIDEO_PIX_FMT_XYUV32 :
0 commit comments