@@ -1005,6 +1005,58 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
1005
1005
*/
1006
1006
#define VIDEO_PIX_FMT_SRGGB14P VIDEO_FOURCC('p', 'B', 'E', 'E')
1007
1007
1008
+ /**
1009
+ * @}
1010
+ */
1011
+
1012
+ /**
1013
+ * @name Grayscale formats
1014
+ * Luminance (Y) channel only, in various bit depth and packing.
1015
+ *
1016
+ * When the format includes more than 8-bit per pixel, a strategy becomes needed to pack
1017
+ * the bits over multiple bytes, as illustrated for each format.
1018
+ *
1019
+ * The number above the 'Y', 'y' are hints about which pixel number the following bits belong to.
1020
+ *
1021
+ * @{
1022
+ */
1023
+
1024
+ /**
1025
+ * Also known as GREY.
1026
+ *
1027
+ * @verbatim
1028
+ * 0 1 2 3
1029
+ * | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | ...
1030
+ * @endverbatim
1031
+ */
1032
+ #define VIDEO_PIX_FMT_Y8 VIDEO_FOURCC('G', 'R', 'E', 'Y')
1033
+
1034
+ /**
1035
+ * @verbatim
1036
+ * 0 1 2 3 0 1 2 3
1037
+ * | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | ...
1038
+ * @endverbatim
1039
+ */
1040
+ #define VIDEO_PIX_FMT_Y10P VIDEO_FOURCC('Y', '1', '0', 'P')
1041
+
1042
+ /**
1043
+ * @verbatim
1044
+ * 0 1 1 0 2 3 3 2
1045
+ * | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | ...
1046
+ * | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | ...
1047
+ * @endverbatim
1048
+ */
1049
+ #define VIDEO_PIX_FMT_Y12P VIDEO_FOURCC('Y', '1', '2', 'P')
1050
+
1051
+ /**
1052
+ * @verbatim
1053
+ * 0 1 2 3 1 0 2 1 3 2
1054
+ * | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | yyyyyyyy | yyyyyyyy | ...
1055
+ * | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | Yyyyyyyy | yyyyyyyy | yyyyyyyy | yyyyyyyy | ...
1056
+ * @endverbatim
1057
+ */
1058
+ #define VIDEO_PIX_FMT_Y14P VIDEO_FOURCC('Y', '1', '4', 'P')
1059
+
1008
1060
/**
1009
1061
* @}
1010
1062
*/
@@ -1108,21 +1160,25 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
1108
1160
case VIDEO_PIX_FMT_GBRG8 :
1109
1161
case VIDEO_PIX_FMT_GRBG8 :
1110
1162
case VIDEO_PIX_FMT_RGGB8 :
1163
+ case VIDEO_PIX_FMT_Y8 :
1111
1164
return 8 ;
1112
1165
case VIDEO_PIX_FMT_SBGGR10P :
1113
1166
case VIDEO_PIX_FMT_SGBRG10P :
1114
1167
case VIDEO_PIX_FMT_SGRBG10P :
1115
1168
case VIDEO_PIX_FMT_SRGGB10P :
1169
+ case VIDEO_PIX_FMT_Y10P :
1116
1170
return 10 ;
1117
1171
case VIDEO_PIX_FMT_SBGGR12P :
1118
1172
case VIDEO_PIX_FMT_SGBRG12P :
1119
1173
case VIDEO_PIX_FMT_SGRBG12P :
1120
1174
case VIDEO_PIX_FMT_SRGGB12P :
1175
+ case VIDEO_PIX_FMT_Y12P :
1121
1176
return 12 ;
1122
1177
case VIDEO_PIX_FMT_SBGGR14P :
1123
1178
case VIDEO_PIX_FMT_SGBRG14P :
1124
1179
case VIDEO_PIX_FMT_SGRBG14P :
1125
1180
case VIDEO_PIX_FMT_SRGGB14P :
1181
+ case VIDEO_PIX_FMT_Y14P :
1126
1182
return 14 ;
1127
1183
case VIDEO_PIX_FMT_RGB565 :
1128
1184
case VIDEO_PIX_FMT_YUYV :
0 commit comments