Coverage for linuxpy/video/raw.py: 100%

2355 statements  

« prev     ^ index     » next       coverage.py v7.10.4, created at 2026-02-19 15:10 +0100

1# 

2# This file is part of the linuxpy project 

3# 

4# Copyright (c) 2023 Tiago Coutinho 

5# Distributed under the GPLv3 license. See LICENSE for more info. 

6 

7# This file has been generated by linuxpy.codegen.video 

8# Date: 2024-09-09 08:39:26.902597 

9# System: Linux 

10# Release: 6.10.6-amd64 

11# Version: #1 SMP PREEMPT_DYNAMIC Debian 6.10.6-1 (2024-08-19) 

12 

13import enum 

14 

15from linuxpy.ctypes import ( 

16 POINTER, 

17 Struct, 

18 Union, 

19 cchar, 

20 cint, 

21 clonglong, 

22 cuint, 

23 culong, 

24 culonglong, 

25 i16, 

26 timespec, 

27 timeval, 

28 u8, 

29 u16, 

30 u32, 

31 u64, 

32) 

33from linuxpy.ioctl import IO as _IO, IOR as _IOR, IOW as _IOW, IOWR as _IOWR 

34from linuxpy.video.util import v4l2_fourcc, v4l2_fourcc_be 

35 

36v4l2_std_id = u64 

37 

38 

39class SelectionFlag(enum.IntFlag): 

40 GE = 1 << 0 

41 LE = 1 << 1 

42 KEEP_CONFIG = 1 << 2 

43 

44 

45class SelectionTarget(enum.IntEnum): 

46 CROP = 0x0 

47 CROP_DEFAULT = 0x1 

48 CROP_BOUNDS = 0x2 

49 NATIVE_SIZE = 0x3 

50 COMPOSE = 0x100 

51 COMPOSE_DEFAULT = 0x101 

52 COMPOSE_BOUNDS = 0x102 

53 COMPOSE_PADDED = 0x103 

54 CROP_ACTIVE = CROP 

55 COMPOSE_ACTIVE = COMPOSE 

56 

57 

58class Capability(enum.IntFlag): 

59 VIDEO_CAPTURE = 0x00000001 # Is a video capture device 

60 VIDEO_OUTPUT = 0x00000002 # Is a video output device 

61 VIDEO_OVERLAY = 0x00000004 # Can do video overlay 

62 VBI_CAPTURE = 0x00000010 # Is a raw VBI capture device 

63 VBI_OUTPUT = 0x00000020 # Is a raw VBI output device 

64 SLICED_VBI_CAPTURE = 0x00000040 # Is a sliced VBI capture device 

65 SLICED_VBI_OUTPUT = 0x00000080 # Is a sliced VBI output device 

66 RDS_CAPTURE = 0x00000100 # RDS data capture 

67 VIDEO_OUTPUT_OVERLAY = 0x00000200 # Can do video output overlay 

68 HW_FREQ_SEEK = 0x00000400 # Can do hardware frequency seek 

69 RDS_OUTPUT = 0x00000800 # Is an RDS encoder 

70 VIDEO_CAPTURE_MPLANE = 0x1000 

71 VIDEO_OUTPUT_MPLANE = 0x2000 

72 VIDEO_M2M_MPLANE = 0x4000 

73 VIDEO_M2M = 0x8000 

74 TUNER = 0x00010000 # has a tuner 

75 AUDIO = 0x00020000 # has audio support 

76 RADIO = 0x00040000 # is a radio device 

77 MODULATOR = 0x00080000 # has a modulator 

78 SDR_CAPTURE = 0x00100000 # Is a SDR capture device 

79 EXT_PIX_FORMAT = 0x00200000 # Supports the extended pixel format 

80 SDR_OUTPUT = 0x00400000 # Is a SDR output device 

81 META_CAPTURE = 0x00800000 # Is a metadata capture device 

82 READWRITE = 0x01000000 # read/write systemcalls 

83 STREAMING = 0x04000000 # streaming I/O ioctls 

84 META_OUTPUT = 0x08000000 # Is a metadata output device 

85 TOUCH = 0x10000000 # Is a touch device 

86 IO_MC = 0x20000000 # Is input/output controlled by the media controller 

87 DEVICE_CAPS = 0x80000000 # sets device capabilities field 

88 TIMEPERFRAME = 0x1000 # timeperframe field is supported 

89 ASYNCIO = 0x2000000 

90 

91 

92class PixelFormat(enum.IntEnum): 

93 RGB332 = v4l2_fourcc("R", "G", "B", "1") # 8 RGB-3-3-2 

94 RGB444 = v4l2_fourcc("R", "4", "4", "4") # 16 xxxxrrrr ggggbbbb 

95 ARGB444 = v4l2_fourcc("A", "R", "1", "2") # 16 aaaarrrr ggggbbbb 

96 XRGB444 = v4l2_fourcc("X", "R", "1", "2") # 16 xxxxrrrr ggggbbbb 

97 RGBA444 = v4l2_fourcc("R", "A", "1", "2") # 16 rrrrgggg bbbbaaaa 

98 RGBX444 = v4l2_fourcc("R", "X", "1", "2") # 16 rrrrgggg bbbbxxxx 

99 ABGR444 = v4l2_fourcc("A", "B", "1", "2") # 16 aaaabbbb ggggrrrr 

100 XBGR444 = v4l2_fourcc("X", "B", "1", "2") # 16 xxxxbbbb ggggrrrr 

101 BGRA444 = v4l2_fourcc("G", "A", "1", "2") # 16 bbbbgggg rrrraaaa 

102 BGRX444 = v4l2_fourcc("B", "X", "1", "2") # 16 bbbbgggg rrrrxxxx 

103 RGB555 = v4l2_fourcc("R", "G", "B", "O") # 16 RGB-5-5-5 

104 ARGB555 = v4l2_fourcc("A", "R", "1", "5") # 16 ARGB-1-5-5-5 

105 XRGB555 = v4l2_fourcc("X", "R", "1", "5") # 16 XRGB-1-5-5-5 

106 RGBA555 = v4l2_fourcc("R", "A", "1", "5") # 16 RGBA-5-5-5-1 

107 RGBX555 = v4l2_fourcc("R", "X", "1", "5") # 16 RGBX-5-5-5-1 

108 ABGR555 = v4l2_fourcc("A", "B", "1", "5") # 16 ABGR-1-5-5-5 

109 XBGR555 = v4l2_fourcc("X", "B", "1", "5") # 16 XBGR-1-5-5-5 

110 BGRA555 = v4l2_fourcc("B", "A", "1", "5") # 16 BGRA-5-5-5-1 

111 BGRX555 = v4l2_fourcc("B", "X", "1", "5") # 16 BGRX-5-5-5-1 

112 RGB565 = v4l2_fourcc("R", "G", "B", "P") # 16 RGB-5-6-5 

113 RGB555X = v4l2_fourcc("R", "G", "B", "Q") # 16 RGB-5-5-5 BE 

114 ARGB555X = v4l2_fourcc_be("A", "R", "1", "5") # 16 ARGB-5-5-5 BE 

115 XRGB555X = v4l2_fourcc_be("X", "R", "1", "5") # 16 XRGB-5-5-5 BE 

116 RGB565X = v4l2_fourcc("R", "G", "B", "R") # 16 RGB-5-6-5 BE 

117 BGR666 = v4l2_fourcc("B", "G", "R", "H") # 18 BGR-6-6-6 

118 BGR24 = v4l2_fourcc("B", "G", "R", "3") # 24 BGR-8-8-8 

119 RGB24 = v4l2_fourcc("R", "G", "B", "3") # 24 RGB-8-8-8 

120 BGR32 = v4l2_fourcc("B", "G", "R", "4") # 32 BGR-8-8-8-8 

121 ABGR32 = v4l2_fourcc("A", "R", "2", "4") # 32 BGRA-8-8-8-8 

122 XBGR32 = v4l2_fourcc("X", "R", "2", "4") # 32 BGRX-8-8-8-8 

123 BGRA32 = v4l2_fourcc("R", "A", "2", "4") # 32 ABGR-8-8-8-8 

124 BGRX32 = v4l2_fourcc("R", "X", "2", "4") # 32 XBGR-8-8-8-8 

125 RGB32 = v4l2_fourcc("R", "G", "B", "4") # 32 RGB-8-8-8-8 

126 RGBA32 = v4l2_fourcc("A", "B", "2", "4") # 32 RGBA-8-8-8-8 

127 RGBX32 = v4l2_fourcc("X", "B", "2", "4") # 32 RGBX-8-8-8-8 

128 ARGB32 = v4l2_fourcc("B", "A", "2", "4") # 32 ARGB-8-8-8-8 

129 XRGB32 = v4l2_fourcc("B", "X", "2", "4") # 32 XRGB-8-8-8-8 

130 RGBX1010102 = v4l2_fourcc("R", "X", "3", "0") # 32 RGBX-10-10-10-2 

131 RGBA1010102 = v4l2_fourcc("R", "A", "3", "0") # 32 RGBA-10-10-10-2 

132 ARGB2101010 = v4l2_fourcc("A", "R", "3", "0") # 32 ARGB-2-10-10-10 

133 BGR48_12 = v4l2_fourcc("B", "3", "1", "2") # 48 BGR 12-bit per component 

134 ABGR64_12 = v4l2_fourcc("B", "4", "1", "2") # 64 BGRA 12-bit per component 

135 GREY = v4l2_fourcc("G", "R", "E", "Y") # 8 Greyscale 

136 Y4 = v4l2_fourcc("Y", "0", "4", " ") # 4 Greyscale 

137 Y6 = v4l2_fourcc("Y", "0", "6", " ") # 6 Greyscale 

138 Y10 = v4l2_fourcc("Y", "1", "0", " ") # 10 Greyscale 

139 Y12 = v4l2_fourcc("Y", "1", "2", " ") # 12 Greyscale 

140 Y012 = v4l2_fourcc("Y", "0", "1", "2") # 12 Greyscale 

141 Y14 = v4l2_fourcc("Y", "1", "4", " ") # 14 Greyscale 

142 Y16 = v4l2_fourcc("Y", "1", "6", " ") # 16 Greyscale 

143 Y16_BE = v4l2_fourcc_be("Y", "1", "6", " ") # 16 Greyscale BE 

144 Y10BPACK = v4l2_fourcc("Y", "1", "0", "B") # 10 Greyscale bit-packed 

145 Y10P = v4l2_fourcc("Y", "1", "0", "P") # 10 Greyscale, MIPI RAW10 packed 

146 IPU3_Y10 = v4l2_fourcc("i", "p", "3", "y") # IPU3 packed 10-bit greyscale 

147 Y12P = v4l2_fourcc("Y", "1", "2", "P") # 12 Greyscale, MIPI RAW12 packed 

148 Y14P = v4l2_fourcc("Y", "1", "4", "P") # 14 Greyscale, MIPI RAW14 packed 

149 PAL8 = v4l2_fourcc("P", "A", "L", "8") # 8 8-bit palette 

150 UV8 = v4l2_fourcc("U", "V", "8", " ") # 8 UV 4:4 

151 YUYV = v4l2_fourcc("Y", "U", "Y", "V") # 16 YUV 4:2:2 

152 YYUV = v4l2_fourcc("Y", "Y", "U", "V") # 16 YUV 4:2:2 

153 YVYU = v4l2_fourcc("Y", "V", "Y", "U") # 16 YVU 4:2:2 

154 UYVY = v4l2_fourcc("U", "Y", "V", "Y") # 16 YUV 4:2:2 

155 VYUY = v4l2_fourcc("V", "Y", "U", "Y") # 16 YUV 4:2:2 

156 Y41P = v4l2_fourcc("Y", "4", "1", "P") # 12 YUV 4:1:1 

157 YUV444 = v4l2_fourcc("Y", "4", "4", "4") # 16 xxxxyyyy uuuuvvvv 

158 YUV555 = v4l2_fourcc("Y", "U", "V", "O") # 16 YUV-5-5-5 

159 YUV565 = v4l2_fourcc("Y", "U", "V", "P") # 16 YUV-5-6-5 

160 YUV24 = v4l2_fourcc("Y", "U", "V", "3") # 24 YUV-8-8-8 

161 YUV32 = v4l2_fourcc("Y", "U", "V", "4") # 32 YUV-8-8-8-8 

162 AYUV32 = v4l2_fourcc("A", "Y", "U", "V") # 32 AYUV-8-8-8-8 

163 XYUV32 = v4l2_fourcc("X", "Y", "U", "V") # 32 XYUV-8-8-8-8 

164 VUYA32 = v4l2_fourcc("V", "U", "Y", "A") # 32 VUYA-8-8-8-8 

165 VUYX32 = v4l2_fourcc("V", "U", "Y", "X") # 32 VUYX-8-8-8-8 

166 YUVA32 = v4l2_fourcc("Y", "U", "V", "A") # 32 YUVA-8-8-8-8 

167 YUVX32 = v4l2_fourcc("Y", "U", "V", "X") # 32 YUVX-8-8-8-8 

168 M420 = v4l2_fourcc("M", "4", "2", "0") # 12 YUV 4:2:0 2 lines y, 1 line uvcinterleaved 

169 YUV48_12 = v4l2_fourcc("Y", "3", "1", "2") # 48 YUV 4:4:4 12-bit per component 

170 Y210 = v4l2_fourcc("Y", "2", "1", "0") # 32 YUYV 4:2:2 

171 Y212 = v4l2_fourcc("Y", "2", "1", "2") # 32 YUYV 4:2:2 

172 Y216 = v4l2_fourcc("Y", "2", "1", "6") # 32 YUYV 4:2:2 

173 NV12 = v4l2_fourcc("N", "V", "1", "2") # 12 Y/CbCr 4:2:0 

174 NV21 = v4l2_fourcc("N", "V", "2", "1") # 12 Y/CrCb 4:2:0 

175 NV16 = v4l2_fourcc("N", "V", "1", "6") # 16 Y/CbCr 4:2:2 

176 NV61 = v4l2_fourcc("N", "V", "6", "1") # 16 Y/CrCb 4:2:2 

177 NV24 = v4l2_fourcc("N", "V", "2", "4") # 24 Y/CbCr 4:4:4 

178 NV42 = v4l2_fourcc("N", "V", "4", "2") # 24 Y/CrCb 4:4:4 

179 P010 = v4l2_fourcc("P", "0", "1", "0") # 24 Y/CbCr 4:2:0 10-bit per component 

180 P012 = v4l2_fourcc("P", "0", "1", "2") # 24 Y/CbCr 4:2:0 12-bit per component 

181 NV12M = v4l2_fourcc("N", "M", "1", "2") # 12 Y/CbCr 4:2:0 

182 NV21M = v4l2_fourcc("N", "M", "2", "1") # 21 Y/CrCb 4:2:0 

183 NV16M = v4l2_fourcc("N", "M", "1", "6") # 16 Y/CbCr 4:2:2 

184 NV61M = v4l2_fourcc("N", "M", "6", "1") # 16 Y/CrCb 4:2:2 

185 P012M = v4l2_fourcc("P", "M", "1", "2") # 24 Y/CbCr 4:2:0 12-bit per component 

186 YUV410 = v4l2_fourcc("Y", "U", "V", "9") # 9 YUV 4:1:0 

187 YVU410 = v4l2_fourcc("Y", "V", "U", "9") # 9 YVU 4:1:0 

188 YUV411P = v4l2_fourcc("4", "1", "1", "P") # 12 YVU411 planar 

189 YUV420 = v4l2_fourcc("Y", "U", "1", "2") # 12 YUV 4:2:0 

190 YVU420 = v4l2_fourcc("Y", "V", "1", "2") # 12 YVU 4:2:0 

191 YUV422P = v4l2_fourcc("4", "2", "2", "P") # 16 YVU422 planar 

192 YUV420M = v4l2_fourcc("Y", "M", "1", "2") # 12 YUV420 planar 

193 YVU420M = v4l2_fourcc("Y", "M", "2", "1") # 12 YVU420 planar 

194 YUV422M = v4l2_fourcc("Y", "M", "1", "6") # 16 YUV422 planar 

195 YVU422M = v4l2_fourcc("Y", "M", "6", "1") # 16 YVU422 planar 

196 YUV444M = v4l2_fourcc("Y", "M", "2", "4") # 24 YUV444 planar 

197 YVU444M = v4l2_fourcc("Y", "M", "4", "2") # 24 YVU444 planar 

198 NV12_4L4 = v4l2_fourcc("V", "T", "1", "2") # 12 Y/CbCr 4:2:0 4x4 tiles 

199 NV12_16L16 = v4l2_fourcc("H", "M", "1", "2") # 12 Y/CbCr 4:2:0 16x16 tiles 

200 NV12_32L32 = v4l2_fourcc("S", "T", "1", "2") # 12 Y/CbCr 4:2:0 32x32 tiles 

201 NV15_4L4 = v4l2_fourcc("V", "T", "1", "5") # 15 Y/CbCr 4:2:0 10-bit 4x4 tiles 

202 P010_4L4 = v4l2_fourcc("T", "0", "1", "0") # 12 Y/CbCr 4:2:0 10-bit 4x4 macroblocks 

203 NV12_8L128 = v4l2_fourcc("A", "T", "1", "2") # Y/CbCr 4:2:0 8x128 tiles 

204 NV12_10BE_8L128 = v4l2_fourcc_be("A", "X", "1", "2") # Y/CbCr 4:2:0 10-bit 8x128 tiles 

205 NV12MT = v4l2_fourcc("T", "M", "1", "2") # 12 Y/CbCr 4:2:0 64x32 tiles 

206 NV12MT_16X16 = v4l2_fourcc("V", "M", "1", "2") # 12 Y/CbCr 4:2:0 16x16 tiles 

207 NV12M_8L128 = v4l2_fourcc("N", "A", "1", "2") # Y/CbCr 4:2:0 8x128 tiles 

208 NV12M_10BE_8L128 = v4l2_fourcc_be("N", "T", "1", "2") # Y/CbCr 4:2:0 10-bit 8x128 tiles 

209 SBGGR8 = v4l2_fourcc("B", "A", "8", "1") # 8 BGBG.. GRGR.. 

210 SGBRG8 = v4l2_fourcc("G", "B", "R", "G") # 8 GBGB.. RGRG.. 

211 SGRBG8 = v4l2_fourcc("G", "R", "B", "G") # 8 GRGR.. BGBG.. 

212 SRGGB8 = v4l2_fourcc("R", "G", "G", "B") # 8 RGRG.. GBGB.. 

213 SBGGR10 = v4l2_fourcc("B", "G", "1", "0") # 10 BGBG.. GRGR.. 

214 SGBRG10 = v4l2_fourcc("G", "B", "1", "0") # 10 GBGB.. RGRG.. 

215 SGRBG10 = v4l2_fourcc("B", "A", "1", "0") # 10 GRGR.. BGBG.. 

216 SRGGB10 = v4l2_fourcc("R", "G", "1", "0") # 10 RGRG.. GBGB.. 

217 SBGGR10P = v4l2_fourcc("p", "B", "A", "A") 

218 SGBRG10P = v4l2_fourcc("p", "G", "A", "A") 

219 SGRBG10P = v4l2_fourcc("p", "g", "A", "A") 

220 SRGGB10P = v4l2_fourcc("p", "R", "A", "A") 

221 SBGGR10ALAW8 = v4l2_fourcc("a", "B", "A", "8") 

222 SGBRG10ALAW8 = v4l2_fourcc("a", "G", "A", "8") 

223 SGRBG10ALAW8 = v4l2_fourcc("a", "g", "A", "8") 

224 SRGGB10ALAW8 = v4l2_fourcc("a", "R", "A", "8") 

225 SBGGR10DPCM8 = v4l2_fourcc("b", "B", "A", "8") 

226 SGBRG10DPCM8 = v4l2_fourcc("b", "G", "A", "8") 

227 SGRBG10DPCM8 = v4l2_fourcc("B", "D", "1", "0") 

228 SRGGB10DPCM8 = v4l2_fourcc("b", "R", "A", "8") 

229 SBGGR12 = v4l2_fourcc("B", "G", "1", "2") # 12 BGBG.. GRGR.. 

230 SGBRG12 = v4l2_fourcc("G", "B", "1", "2") # 12 GBGB.. RGRG.. 

231 SGRBG12 = v4l2_fourcc("B", "A", "1", "2") # 12 GRGR.. BGBG.. 

232 SRGGB12 = v4l2_fourcc("R", "G", "1", "2") # 12 RGRG.. GBGB.. 

233 SBGGR12P = v4l2_fourcc("p", "B", "C", "C") 

234 SGBRG12P = v4l2_fourcc("p", "G", "C", "C") 

235 SGRBG12P = v4l2_fourcc("p", "g", "C", "C") 

236 SRGGB12P = v4l2_fourcc("p", "R", "C", "C") 

237 SBGGR14 = v4l2_fourcc("B", "G", "1", "4") # 14 BGBG.. GRGR.. 

238 SGBRG14 = v4l2_fourcc("G", "B", "1", "4") # 14 GBGB.. RGRG.. 

239 SGRBG14 = v4l2_fourcc("G", "R", "1", "4") # 14 GRGR.. BGBG.. 

240 SRGGB14 = v4l2_fourcc("R", "G", "1", "4") # 14 RGRG.. GBGB.. 

241 SBGGR14P = v4l2_fourcc("p", "B", "E", "E") 

242 SGBRG14P = v4l2_fourcc("p", "G", "E", "E") 

243 SGRBG14P = v4l2_fourcc("p", "g", "E", "E") 

244 SRGGB14P = v4l2_fourcc("p", "R", "E", "E") 

245 SBGGR16 = v4l2_fourcc("B", "Y", "R", "2") # 16 BGBG.. GRGR.. 

246 SGBRG16 = v4l2_fourcc("G", "B", "1", "6") # 16 GBGB.. RGRG.. 

247 SGRBG16 = v4l2_fourcc("G", "R", "1", "6") # 16 GRGR.. BGBG.. 

248 SRGGB16 = v4l2_fourcc("R", "G", "1", "6") # 16 RGRG.. GBGB.. 

249 HSV24 = v4l2_fourcc("H", "S", "V", "3") 

250 HSV32 = v4l2_fourcc("H", "S", "V", "4") 

251 MJPEG = v4l2_fourcc("M", "J", "P", "G") # Motion-JPEG 

252 JPEG = v4l2_fourcc("J", "P", "E", "G") # JFIF JPEG 

253 DV = v4l2_fourcc("d", "v", "s", "d") # 1394 

254 MPEG = v4l2_fourcc("M", "P", "E", "G") # MPEG-1/2/4 Multiplexed 

255 H264 = v4l2_fourcc("H", "2", "6", "4") # H264 with start codes 

256 H264_NO_SC = v4l2_fourcc("A", "V", "C", "1") # H264 without start codes 

257 H264_MVC = v4l2_fourcc("M", "2", "6", "4") # H264 MVC 

258 H263 = v4l2_fourcc("H", "2", "6", "3") # H263 

259 MPEG1 = v4l2_fourcc("M", "P", "G", "1") # MPEG-1 ES 

260 MPEG2 = v4l2_fourcc("M", "P", "G", "2") # MPEG-2 ES 

261 MPEG2_SLICE = v4l2_fourcc("M", "G", "2", "S") # MPEG-2 parsed slice data 

262 MPEG4 = v4l2_fourcc("M", "P", "G", "4") # MPEG-4 part 2 ES 

263 XVID = v4l2_fourcc("X", "V", "I", "D") # Xvid 

264 VC1_ANNEX_G = v4l2_fourcc("V", "C", "1", "G") # SMPTE 421M Annex G compliant stream 

265 VC1_ANNEX_L = v4l2_fourcc("V", "C", "1", "L") # SMPTE 421M Annex L compliant stream 

266 VP8 = v4l2_fourcc("V", "P", "8", "0") # VP8 

267 VP8_FRAME = v4l2_fourcc("V", "P", "8", "F") # VP8 parsed frame 

268 VP9 = v4l2_fourcc("V", "P", "9", "0") # VP9 

269 VP9_FRAME = v4l2_fourcc("V", "P", "9", "F") # VP9 parsed frame 

270 HEVC = v4l2_fourcc("H", "E", "V", "C") # HEVC aka H.265 

271 FWHT = v4l2_fourcc("F", "W", "H", "T") # Fast Walsh Hadamard Transform (vicodec) 

272 FWHT_STATELESS = v4l2_fourcc("S", "F", "W", "H") # Stateless FWHT (vicodec) 

273 H264_SLICE = v4l2_fourcc("S", "2", "6", "4") # H264 parsed slices 

274 HEVC_SLICE = v4l2_fourcc("S", "2", "6", "5") # HEVC parsed slices 

275 AV1_FRAME = v4l2_fourcc("A", "V", "1", "F") # AV1 parsed frame 

276 SPK = v4l2_fourcc("S", "P", "K", "0") # Sorenson Spark 

277 RV30 = v4l2_fourcc("R", "V", "3", "0") # RealVideo 8 

278 RV40 = v4l2_fourcc("R", "V", "4", "0") # RealVideo 9 & 10 

279 CPIA1 = v4l2_fourcc("C", "P", "I", "A") # cpia1 YUV 

280 WNVA = v4l2_fourcc("W", "N", "V", "A") # Winnov hw compress 

281 SN9C10X = v4l2_fourcc("S", "9", "1", "0") # SN9C10x compression 

282 SN9C20X_I420 = v4l2_fourcc("S", "9", "2", "0") # SN9C20x YUV 4:2:0 

283 PWC1 = v4l2_fourcc("P", "W", "C", "1") # pwc older webcam 

284 PWC2 = v4l2_fourcc("P", "W", "C", "2") # pwc newer webcam 

285 ET61X251 = v4l2_fourcc("E", "6", "2", "5") # ET61X251 compression 

286 SPCA501 = v4l2_fourcc("S", "5", "0", "1") # YUYV per line 

287 SPCA505 = v4l2_fourcc("S", "5", "0", "5") # YYUV per line 

288 SPCA508 = v4l2_fourcc("S", "5", "0", "8") # YUVY per line 

289 SPCA561 = v4l2_fourcc("S", "5", "6", "1") # compressed GBRG bayer 

290 PAC207 = v4l2_fourcc("P", "2", "0", "7") # compressed BGGR bayer 

291 MR97310A = v4l2_fourcc("M", "3", "1", "0") # compressed BGGR bayer 

292 JL2005BCD = v4l2_fourcc("J", "L", "2", "0") # compressed RGGB bayer 

293 SN9C2028 = v4l2_fourcc("S", "O", "N", "X") # compressed GBRG bayer 

294 SQ905C = v4l2_fourcc("9", "0", "5", "C") # compressed RGGB bayer 

295 PJPG = v4l2_fourcc("P", "J", "P", "G") # Pixart 73xx JPEG 

296 OV511 = v4l2_fourcc("O", "5", "1", "1") # ov511 JPEG 

297 OV518 = v4l2_fourcc("O", "5", "1", "8") # ov518 JPEG 

298 STV0680 = v4l2_fourcc("S", "6", "8", "0") # stv0680 bayer 

299 TM6000 = v4l2_fourcc("T", "M", "6", "0") # tm5600/tm60x0 

300 CIT_YYVYUY = v4l2_fourcc("C", "I", "T", "V") # one line of Y then 1 line of VYUY 

301 KONICA420 = v4l2_fourcc("K", "O", "N", "I") # YUV420 planar in blocks of 256 pixels 

302 JPGL = v4l2_fourcc("J", "P", "G", "L") # JPEG-Lite 

303 SE401 = v4l2_fourcc("S", "4", "0", "1") # se401 janggu compressed rgb 

304 S5C_UYVY_JPG = v4l2_fourcc("S", "5", "C", "I") # S5C73M3cinterleaved UYVY/JPEG 

305 Y8I = v4l2_fourcc("Y", "8", "I", " ") # Greyscale 8-bit L/Rcinterleaved 

306 Y12I = v4l2_fourcc("Y", "1", "2", "I") # Greyscale 12-bit L/Rcinterleaved 

307 Z16 = v4l2_fourcc("Z", "1", "6", " ") # Depth data 16-bit 

308 MT21C = v4l2_fourcc("M", "T", "2", "1") # Mediatek compressed block mode 

309 MM21 = v4l2_fourcc("M", "M", "2", "1") # Mediatek 8-bit block mode, two non-contiguous planes 

310 MT2110T = v4l2_fourcc("M", "T", "2", "T") # Mediatek 10-bit block tile mode 

311 MT2110R = v4l2_fourcc("M", "T", "2", "R") # Mediatek 10-bit block raster mode 

312 INZI = v4l2_fourcc("I", "N", "Z", "I") # Intel Planar Greyscale 10-bit and Depth 16-bit 

313 CNF4 = v4l2_fourcc("C", "N", "F", "4") # Intel 4-bit packed depth confidence information 

314 HI240 = v4l2_fourcc("H", "I", "2", "4") # BTTV 8-bit dithered RGB 

315 QC08C = v4l2_fourcc("Q", "0", "8", "C") # Qualcomm 8-bit compressed 

316 QC10C = v4l2_fourcc("Q", "1", "0", "C") # Qualcomm 10-bit compressed 

317 AJPG = v4l2_fourcc("A", "J", "P", "G") # Aspeed JPEG 

318 HEXTILE = v4l2_fourcc("H", "X", "T", "L") # Hextile compressed 

319 IPU3_SBGGR10 = v4l2_fourcc("i", "p", "3", "b") # IPU3 packed 10-bit BGGR bayer 

320 IPU3_SGBRG10 = v4l2_fourcc("i", "p", "3", "g") # IPU3 packed 10-bit GBRG bayer 

321 IPU3_SGRBG10 = v4l2_fourcc("i", "p", "3", "G") # IPU3 packed 10-bit GRBG bayer 

322 IPU3_SRGGB10 = v4l2_fourcc("i", "p", "3", "r") # IPU3 packed 10-bit RGGB bayer 

323 PRIV_MAGIC = 0xFEEDCAFE 

324 FLAG_PREMUL_ALPHA = 0x1 

325 FLAG_SET_CSC = 0x2 

326 HM12 = NV12_16L16 

327 SUNXI_TILED_NV12 = NV12_32L32 

328 

329 

330class MetaFormat(enum.IntEnum): 

331 VSP1_HGO = v4l2_fourcc("V", "S", "P", "H") # R-Car VSP1 1-D Histogram 

332 VSP1_HGT = v4l2_fourcc("V", "S", "P", "T") # R-Car VSP1 2-D Histogram 

333 UVC = v4l2_fourcc("U", "V", "C", "H") # UVC Payload Header metadata 

334 D4XX = v4l2_fourcc("D", "4", "X", "X") # D4XX Payload Header metadata 

335 VIVID = v4l2_fourcc("V", "I", "V", "D") # Vivid Metadata 

336 RK_ISP1_PARAMS = v4l2_fourcc("R", "K", "1", "P") # Rockchip ISP1 3A Parameters 

337 RK_ISP1_STAT_3A = v4l2_fourcc("R", "K", "1", "S") # Rockchip ISP1 3A Statistics 

338 

339 

340class TouchFormat(enum.IntEnum): 

341 DELTA_TD16 = v4l2_fourcc("T", "D", "1", "6") # 16-bit signed deltas 

342 DELTA_TD08 = v4l2_fourcc("T", "D", "0", "8") # 8-bit signed deltas 

343 TU16 = v4l2_fourcc("T", "U", "1", "6") # 16-bit unsigned touch data 

344 TU08 = v4l2_fourcc("T", "U", "0", "8") # 8-bit unsigned touch data 

345 

346 

347class SDRFormat(enum.IntEnum): 

348 CU8 = v4l2_fourcc("C", "U", "0", "8") # IQ u8 

349 CU16LE = v4l2_fourcc("C", "U", "1", "6") # IQ u16le 

350 CS8 = v4l2_fourcc("C", "S", "0", "8") # complex s8 

351 CS14LE = v4l2_fourcc("C", "S", "1", "4") # complex s14le 

352 RU12LE = v4l2_fourcc("R", "U", "1", "2") # real u12le 

353 PCU16BE = v4l2_fourcc("P", "C", "1", "6") # planar complex u16be 

354 PCU18BE = v4l2_fourcc("P", "C", "1", "8") # planar complex u18be 

355 PCU20BE = v4l2_fourcc("P", "C", "2", "0") # planar complex u20be 

356 

357 

358class BufferFlag(enum.IntFlag): 

359 MAPPED = 0x1 

360 QUEUED = 0x2 

361 DONE = 0x4 

362 KEYFRAME = 0x8 

363 PFRAME = 0x10 

364 BFRAME = 0x20 

365 ERROR = 0x40 

366 IN_REQUEST = 0x80 

367 TIMECODE = 0x100 

368 M2M_HOLD_CAPTURE_BUF = 0x200 

369 PREPARED = 0x400 

370 NO_CACHE_INVALIDATE = 0x800 

371 NO_CACHE_CLEAN = 0x1000 

372 TIMESTAMP_MASK = 0xE000 

373 TIMESTAMP_UNKNOWN = 0x0 

374 TIMESTAMP_MONOTONIC = 0x2000 

375 TIMESTAMP_COPY = 0x4000 

376 TSTAMP_SRC_MASK = 0x70000 

377 TSTAMP_SRC_EOF = 0x0 

378 TSTAMP_SRC_SOE = 0x10000 

379 LAST = 0x100000 

380 REQUEST_FD = 0x800000 

381 

382 

383class ImageFormatFlag(enum.IntFlag): 

384 COMPRESSED = 0x1 

385 EMULATED = 0x2 

386 CONTINUOUS_BYTESTREAM = 0x4 

387 DYN_RESOLUTION = 0x8 

388 ENC_CAP_FRAME_INTERVAL = 0x10 

389 CSC_COLORSPACE = 0x20 

390 CSC_XFER_FUNC = 0x40 

391 CSC_YCBCR_ENC = 0x80 

392 CSC_HSV_ENC = CSC_YCBCR_ENC 

393 CSC_QUANTIZATION = 0x100 

394 META_LINE_BASED = 0x200 

395 

396 

397class InputStatus(enum.IntFlag): 

398 NO_POWER = 0x00000001 # Attached device is off 

399 NO_SIGNAL = 0x2 

400 NO_COLOR = 0x4 

401 HFLIP = 0x00000010 # Frames are flipped horizontally 

402 VFLIP = 0x00000020 # Frames are flipped vertically 

403 NO_H_LOCK = 0x00000100 # No horizontal sync lock 

404 COLOR_KILL = 0x00000200 # Color killer is active 

405 NO_V_LOCK = 0x00000400 # No vertical sync lock 

406 NO_STD_LOCK = 0x00000800 # No standard format lock 

407 NO_SYNC = 0x00010000 # No synchronization lock 

408 NO_EQU = 0x00020000 # No equalizer lock 

409 NO_CARRIER = 0x00040000 # Carrier recovery failed 

410 MACROVISION = 0x01000000 # Macrovision detected 

411 NO_ACCESS = 0x02000000 # Conditional access denied 

412 VTR = 0x04000000 # VTR time constant 

413 

414 

415class InputType(enum.IntEnum): 

416 TUNER = 0x1 

417 CAMERA = 0x2 

418 TOUCH = 0x3 

419 

420 

421class OutputType(enum.IntEnum): 

422 MODULATOR = 0x1 

423 ANALOG = 0x2 

424 ANALOGVGAOVERLAY = 0x3 

425 

426 

427class InputCapabilities(enum.IntFlag): 

428 DV_TIMINGS = 0x00000002 # Supports S_DV_TIMINGS 

429 CUSTOM_TIMINGS = DV_TIMINGS # For compatibility 

430 STD = 0x00000004 # Supports S_STD 

431 NATIVE_SIZE = 0x00000008 # Supports setting native size 

432 

433 

434class OutputCapabilities(enum.IntFlag): 

435 DV_TIMINGS = 0x00000002 # Supports S_DV_TIMINGS 

436 CUSTOM_TIMINGS = DV_TIMINGS # For compatibility 

437 STD = 0x00000004 # Supports S_STD 

438 NATIVE_SIZE = 0x00000008 # Supports setting native size 

439 

440 

441class ControlClass(enum.IntEnum): 

442 USER = 0x00980000 # Old-style 'user' controls 

443 CODEC = 0x00990000 # Stateful codec controls 

444 CAMERA = 0x009A0000 # Camera class controls 

445 FM_TX = 0x009B0000 # FM Modulator controls 

446 FLASH = 0x009C0000 # Camera flash controls 

447 JPEG = 0x009D0000 # JPEG-compression controls 

448 IMAGE_SOURCE = 0x009E0000 # Image source controls 

449 IMAGE_PROC = 0x009F0000 # Image processing controls 

450 DV = 0x00A00000 # Digital Video controls 

451 FM_RX = 0x00A10000 # FM Receiver controls 

452 RF_TUNER = 0x00A20000 # RF tuner controls 

453 DETECT = 0x00A30000 # Detection controls 

454 CODEC_STATELESS = 0x00A40000 # Stateless codecs controls 

455 COLORIMETRY = 0x00A50000 # Colorimetry controls 

456 MPEG = CODEC 

457 

458 

459class ControlID(enum.IntEnum): 

460 BASE = ControlClass.USER | 0x900 

461 USER_BASE = BASE 

462 USER_CLASS = ControlClass.USER | 1 

463 BRIGHTNESS = BASE + 0 

464 CONTRAST = BASE + 1 

465 SATURATION = BASE + 2 

466 HUE = BASE + 3 

467 AUDIO_VOLUME = BASE + 5 

468 AUDIO_BALANCE = BASE + 6 

469 AUDIO_BASS = BASE + 7 

470 AUDIO_TREBLE = BASE + 8 

471 AUDIO_MUTE = BASE + 9 

472 AUDIO_LOUDNESS = BASE + 10 

473 BLACK_LEVEL = BASE + 11 # Deprecated 

474 AUTO_WHITE_BALANCE = BASE + 12 

475 DO_WHITE_BALANCE = BASE + 13 

476 RED_BALANCE = BASE + 14 

477 BLUE_BALANCE = BASE + 15 

478 GAMMA = BASE + 16 

479 WHITENESS = GAMMA # Deprecated 

480 EXPOSURE = BASE + 17 

481 AUTOGAIN = BASE + 18 

482 GAIN = BASE + 19 

483 HFLIP = BASE + 20 

484 VFLIP = BASE + 21 

485 POWER_LINE_FREQUENCY = BASE + 24 

486 HUE_AUTO = BASE + 25 

487 WHITE_BALANCE_TEMPERATURE = BASE + 26 

488 SHARPNESS = BASE + 27 

489 BACKLIGHT_COMPENSATION = BASE + 28 

490 CHROMA_AGC = BASE + 29 

491 COLOR_KILLER = BASE + 30 

492 COLORFX = BASE + 31 

493 AUTOBRIGHTNESS = BASE + 32 

494 BAND_STOP_FILTER = BASE + 33 

495 ROTATE = BASE + 34 

496 BG_COLOR = BASE + 35 

497 CHROMA_GAIN = BASE + 36 

498 ILLUMINATORS_1 = BASE + 37 

499 ILLUMINATORS_2 = BASE + 38 

500 MIN_BUFFERS_FOR_CAPTURE = BASE + 39 

501 MIN_BUFFERS_FOR_OUTPUT = BASE + 40 

502 ALPHA_COMPONENT = BASE + 41 

503 COLORFX_CBCR = BASE + 42 

504 COLORFX_RGB = BASE + 43 

505 LASTP1 = BASE + 44 

506 USER_MEYE_BASE = USER_BASE + 0x1000 

507 USER_BTTV_BASE = USER_BASE + 0x1010 

508 USER_S2255_BASE = USER_BASE + 0x1030 

509 USER_SI476X_BASE = USER_BASE + 0x1040 

510 USER_TI_VPE_BASE = USER_BASE + 0x1050 

511 USER_SAA7134_BASE = USER_BASE + 0x1060 

512 USER_ADV7180_BASE = USER_BASE + 0x1070 

513 USER_TC358743_BASE = USER_BASE + 0x1080 

514 USER_MAX217X_BASE = USER_BASE + 0x1090 

515 USER_IMX_BASE = USER_BASE + 0x10B0 

516 USER_ATMEL_ISC_BASE = USER_BASE + 0x10C0 

517 USER_CODA_BASE = USER_BASE + 0x10E0 

518 USER_CCS_BASE = USER_BASE + 0x10F0 

519 USER_ALLEGRO_BASE = USER_BASE + 0x1170 

520 USER_ISL7998X_BASE = USER_BASE + 0x1180 

521 USER_DW100_BASE = USER_BASE + 0x1190 

522 USER_ASPEED_BASE = USER_BASE + 0x11A0 

523 USER_NPCM_BASE = USER_BASE + 0x11B0 

524 USER_THP7312_BASE = USER_BASE + 0x11C0 

525 CODEC_BASE = ControlClass.CODEC | 0x900 

526 CODEC_CLASS = ControlClass.CODEC | 1 

527 MPEG_STREAM_TYPE = CODEC_BASE + 0 

528 MPEG_STREAM_PID_PMT = CODEC_BASE + 1 

529 MPEG_STREAM_PID_AUDIO = CODEC_BASE + 2 

530 MPEG_STREAM_PID_VIDEO = CODEC_BASE + 3 

531 MPEG_STREAM_PID_PCR = CODEC_BASE + 4 

532 MPEG_STREAM_PES_ID_AUDIO = CODEC_BASE + 5 

533 MPEG_STREAM_PES_ID_VIDEO = CODEC_BASE + 6 

534 MPEG_STREAM_VBI_FMT = CODEC_BASE + 7 

535 MPEG_AUDIO_SAMPLING_FREQ = CODEC_BASE + 100 

536 MPEG_AUDIO_ENCODING = CODEC_BASE + 101 

537 MPEG_AUDIO_L1_BITRATE = CODEC_BASE + 102 

538 MPEG_AUDIO_L2_BITRATE = CODEC_BASE + 103 

539 MPEG_AUDIO_L3_BITRATE = CODEC_BASE + 104 

540 MPEG_AUDIO_MODE = CODEC_BASE + 105 

541 MPEG_AUDIO_MODE_EXTENSION = CODEC_BASE + 106 

542 MPEG_AUDIO_EMPHASIS = CODEC_BASE + 107 

543 MPEG_AUDIO_CRC = CODEC_BASE + 108 

544 MPEG_AUDIO_MUTE = CODEC_BASE + 109 

545 MPEG_AUDIO_AAC_BITRATE = CODEC_BASE + 110 

546 MPEG_AUDIO_AC3_BITRATE = CODEC_BASE + 111 

547 MPEG_AUDIO_DEC_PLAYBACK = CODEC_BASE + 112 

548 MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK = CODEC_BASE + 113 

549 MPEG_VIDEO_ENCODING = CODEC_BASE + 200 

550 MPEG_VIDEO_ASPECT = CODEC_BASE + 201 

551 MPEG_VIDEO_B_FRAMES = CODEC_BASE + 202 

552 MPEG_VIDEO_GOP_SIZE = CODEC_BASE + 203 

553 MPEG_VIDEO_GOP_CLOSURE = CODEC_BASE + 204 

554 MPEG_VIDEO_PULLDOWN = CODEC_BASE + 205 

555 MPEG_VIDEO_BITRATE_MODE = CODEC_BASE + 206 

556 MPEG_VIDEO_BITRATE = CODEC_BASE + 207 

557 MPEG_VIDEO_BITRATE_PEAK = CODEC_BASE + 208 

558 MPEG_VIDEO_TEMPORAL_DECIMATION = CODEC_BASE + 209 

559 MPEG_VIDEO_MUTE = CODEC_BASE + 210 

560 MPEG_VIDEO_MUTE_YUV = CODEC_BASE + 211 

561 MPEG_VIDEO_DECODER_SLICE_INTERFACE = CODEC_BASE + 212 

562 MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER = CODEC_BASE + 213 

563 MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB = CODEC_BASE + 214 

564 MPEG_VIDEO_FRAME_RC_ENABLE = CODEC_BASE + 215 

565 MPEG_VIDEO_HEADER_MODE = CODEC_BASE + 216 

566 MPEG_VIDEO_MAX_REF_PIC = CODEC_BASE + 217 

567 MPEG_VIDEO_MB_RC_ENABLE = CODEC_BASE + 218 

568 MPEG_VIDEO_MULTI_SLICE_MAX_BYTES = CODEC_BASE + 219 

569 MPEG_VIDEO_MULTI_SLICE_MAX_MB = CODEC_BASE + 220 

570 MPEG_VIDEO_MULTI_SLICE_MODE = CODEC_BASE + 221 

571 MPEG_VIDEO_VBV_SIZE = CODEC_BASE + 222 

572 MPEG_VIDEO_DEC_PTS = CODEC_BASE + 223 

573 MPEG_VIDEO_DEC_FRAME = CODEC_BASE + 224 

574 MPEG_VIDEO_VBV_DELAY = CODEC_BASE + 225 

575 MPEG_VIDEO_REPEAT_SEQ_HEADER = CODEC_BASE + 226 

576 MPEG_VIDEO_MV_H_SEARCH_RANGE = CODEC_BASE + 227 

577 MPEG_VIDEO_MV_V_SEARCH_RANGE = CODEC_BASE + 228 

578 MPEG_VIDEO_FORCE_KEY_FRAME = CODEC_BASE + 229 

579 MPEG_VIDEO_BASELAYER_PRIORITY_ID = CODEC_BASE + 230 

580 MPEG_VIDEO_AU_DELIMITER = CODEC_BASE + 231 

581 MPEG_VIDEO_LTR_COUNT = CODEC_BASE + 232 

582 MPEG_VIDEO_FRAME_LTR_INDEX = CODEC_BASE + 233 

583 MPEG_VIDEO_USE_LTR_FRAMES = CODEC_BASE + 234 

584 MPEG_VIDEO_DEC_CONCEAL_COLOR = CODEC_BASE + 235 

585 MPEG_VIDEO_INTRA_REFRESH_PERIOD = CODEC_BASE + 236 

586 MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE = CODEC_BASE + 237 

587 MPEG_VIDEO_MPEG2_LEVEL = CODEC_BASE + 270 

588 MPEG_VIDEO_MPEG2_PROFILE = CODEC_BASE + 271 

589 FWHT_I_FRAME_QP = CODEC_BASE + 290 

590 FWHT_P_FRAME_QP = CODEC_BASE + 291 

591 MPEG_VIDEO_H263_I_FRAME_QP = CODEC_BASE + 300 

592 MPEG_VIDEO_H263_P_FRAME_QP = CODEC_BASE + 301 

593 MPEG_VIDEO_H263_B_FRAME_QP = CODEC_BASE + 302 

594 MPEG_VIDEO_H263_MIN_QP = CODEC_BASE + 303 

595 MPEG_VIDEO_H263_MAX_QP = CODEC_BASE + 304 

596 MPEG_VIDEO_H264_I_FRAME_QP = CODEC_BASE + 350 

597 MPEG_VIDEO_H264_P_FRAME_QP = CODEC_BASE + 351 

598 MPEG_VIDEO_H264_B_FRAME_QP = CODEC_BASE + 352 

599 MPEG_VIDEO_H264_MIN_QP = CODEC_BASE + 353 

600 MPEG_VIDEO_H264_MAX_QP = CODEC_BASE + 354 

601 MPEG_VIDEO_H264_8X8_TRANSFORM = CODEC_BASE + 355 

602 MPEG_VIDEO_H264_CPB_SIZE = CODEC_BASE + 356 

603 MPEG_VIDEO_H264_ENTROPY_MODE = CODEC_BASE + 357 

604 MPEG_VIDEO_H264_I_PERIOD = CODEC_BASE + 358 

605 MPEG_VIDEO_H264_LEVEL = CODEC_BASE + 359 

606 MPEG_VIDEO_H264_LOOP_FILTER_ALPHA = CODEC_BASE + 360 

607 MPEG_VIDEO_H264_LOOP_FILTER_BETA = CODEC_BASE + 361 

608 MPEG_VIDEO_H264_LOOP_FILTER_MODE = CODEC_BASE + 362 

609 MPEG_VIDEO_H264_PROFILE = CODEC_BASE + 363 

610 MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT = CODEC_BASE + 364 

611 MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH = CODEC_BASE + 365 

612 MPEG_VIDEO_H264_VUI_SAR_ENABLE = CODEC_BASE + 366 

613 MPEG_VIDEO_H264_VUI_SAR_IDC = CODEC_BASE + 367 

614 MPEG_VIDEO_H264_SEI_FRAME_PACKING = CODEC_BASE + 368 

615 MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 = CODEC_BASE + 369 

616 MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE = CODEC_BASE + 370 

617 MPEG_VIDEO_H264_FMO = CODEC_BASE + 371 

618 MPEG_VIDEO_H264_FMO_MAP_TYPE = CODEC_BASE + 372 

619 MPEG_VIDEO_H264_FMO_SLICE_GROUP = CODEC_BASE + 373 

620 MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION = CODEC_BASE + 374 

621 MPEG_VIDEO_H264_FMO_CHANGE_RATE = CODEC_BASE + 375 

622 MPEG_VIDEO_H264_FMO_RUN_LENGTH = CODEC_BASE + 376 

623 MPEG_VIDEO_H264_ASO = CODEC_BASE + 377 

624 MPEG_VIDEO_H264_ASO_SLICE_ORDER = CODEC_BASE + 378 

625 MPEG_VIDEO_H264_HIERARCHICAL_CODING = CODEC_BASE + 379 

626 MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE = CODEC_BASE + 380 

627 MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER = CODEC_BASE + 381 

628 MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP = CODEC_BASE + 382 

629 MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION = CODEC_BASE + 383 

630 MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET = CODEC_BASE + 384 

631 MPEG_VIDEO_H264_I_FRAME_MIN_QP = CODEC_BASE + 385 

632 MPEG_VIDEO_H264_I_FRAME_MAX_QP = CODEC_BASE + 386 

633 MPEG_VIDEO_H264_P_FRAME_MIN_QP = CODEC_BASE + 387 

634 MPEG_VIDEO_H264_P_FRAME_MAX_QP = CODEC_BASE + 388 

635 MPEG_VIDEO_H264_B_FRAME_MIN_QP = CODEC_BASE + 389 

636 MPEG_VIDEO_H264_B_FRAME_MAX_QP = CODEC_BASE + 390 

637 MPEG_VIDEO_H264_HIER_CODING_L0_BR = CODEC_BASE + 391 

638 MPEG_VIDEO_H264_HIER_CODING_L1_BR = CODEC_BASE + 392 

639 MPEG_VIDEO_H264_HIER_CODING_L2_BR = CODEC_BASE + 393 

640 MPEG_VIDEO_H264_HIER_CODING_L3_BR = CODEC_BASE + 394 

641 MPEG_VIDEO_H264_HIER_CODING_L4_BR = CODEC_BASE + 395 

642 MPEG_VIDEO_H264_HIER_CODING_L5_BR = CODEC_BASE + 396 

643 MPEG_VIDEO_H264_HIER_CODING_L6_BR = CODEC_BASE + 397 

644 MPEG_VIDEO_MPEG4_I_FRAME_QP = CODEC_BASE + 400 

645 MPEG_VIDEO_MPEG4_P_FRAME_QP = CODEC_BASE + 401 

646 MPEG_VIDEO_MPEG4_B_FRAME_QP = CODEC_BASE + 402 

647 MPEG_VIDEO_MPEG4_MIN_QP = CODEC_BASE + 403 

648 MPEG_VIDEO_MPEG4_MAX_QP = CODEC_BASE + 404 

649 MPEG_VIDEO_MPEG4_LEVEL = CODEC_BASE + 405 

650 MPEG_VIDEO_MPEG4_PROFILE = CODEC_BASE + 406 

651 MPEG_VIDEO_MPEG4_QPEL = CODEC_BASE + 407 

652 MPEG_VIDEO_VPX_NUM_PARTITIONS = CODEC_BASE + 500 

653 MPEG_VIDEO_VPX_IMD_DISABLE_4X4 = CODEC_BASE + 501 

654 MPEG_VIDEO_VPX_NUM_REF_FRAMES = CODEC_BASE + 502 

655 MPEG_VIDEO_VPX_FILTER_LEVEL = CODEC_BASE + 503 

656 MPEG_VIDEO_VPX_FILTER_SHARPNESS = CODEC_BASE + 504 

657 MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD = CODEC_BASE + 505 

658 MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL = CODEC_BASE + 506 

659 MPEG_VIDEO_VPX_MIN_QP = CODEC_BASE + 507 

660 MPEG_VIDEO_VPX_MAX_QP = CODEC_BASE + 508 

661 MPEG_VIDEO_VPX_I_FRAME_QP = CODEC_BASE + 509 

662 MPEG_VIDEO_VPX_P_FRAME_QP = CODEC_BASE + 510 

663 MPEG_VIDEO_VP8_PROFILE = CODEC_BASE + 511 

664 MPEG_VIDEO_VPX_PROFILE = MPEG_VIDEO_VP8_PROFILE 

665 MPEG_VIDEO_VP9_PROFILE = CODEC_BASE + 512 

666 MPEG_VIDEO_VP9_LEVEL = CODEC_BASE + 513 

667 MPEG_VIDEO_HEVC_MIN_QP = CODEC_BASE + 600 

668 MPEG_VIDEO_HEVC_MAX_QP = CODEC_BASE + 601 

669 MPEG_VIDEO_HEVC_I_FRAME_QP = CODEC_BASE + 602 

670 MPEG_VIDEO_HEVC_P_FRAME_QP = CODEC_BASE + 603 

671 MPEG_VIDEO_HEVC_B_FRAME_QP = CODEC_BASE + 604 

672 MPEG_VIDEO_HEVC_HIER_QP = CODEC_BASE + 605 

673 MPEG_VIDEO_HEVC_HIER_CODING_TYPE = CODEC_BASE + 606 

674 MPEG_VIDEO_HEVC_HIER_CODING_LAYER = CODEC_BASE + 607 

675 MPEG_VIDEO_HEVC_HIER_CODING_L0_QP = CODEC_BASE + 608 

676 MPEG_VIDEO_HEVC_HIER_CODING_L1_QP = CODEC_BASE + 609 

677 MPEG_VIDEO_HEVC_HIER_CODING_L2_QP = CODEC_BASE + 610 

678 MPEG_VIDEO_HEVC_HIER_CODING_L3_QP = CODEC_BASE + 611 

679 MPEG_VIDEO_HEVC_HIER_CODING_L4_QP = CODEC_BASE + 612 

680 MPEG_VIDEO_HEVC_HIER_CODING_L5_QP = CODEC_BASE + 613 

681 MPEG_VIDEO_HEVC_HIER_CODING_L6_QP = CODEC_BASE + 614 

682 MPEG_VIDEO_HEVC_PROFILE = CODEC_BASE + 615 

683 MPEG_VIDEO_HEVC_LEVEL = CODEC_BASE + 616 

684 MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION = CODEC_BASE + 617 

685 MPEG_VIDEO_HEVC_TIER = CODEC_BASE + 618 

686 MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH = CODEC_BASE + 619 

687 MPEG_VIDEO_HEVC_LOOP_FILTER_MODE = CODEC_BASE + 620 

688 MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 = CODEC_BASE + 621 

689 MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 = CODEC_BASE + 622 

690 MPEG_VIDEO_HEVC_REFRESH_TYPE = CODEC_BASE + 623 

691 MPEG_VIDEO_HEVC_REFRESH_PERIOD = CODEC_BASE + 624 

692 MPEG_VIDEO_HEVC_LOSSLESS_CU = CODEC_BASE + 625 

693 MPEG_VIDEO_HEVC_CONST_INTRA_PRED = CODEC_BASE + 626 

694 MPEG_VIDEO_HEVC_WAVEFRONT = CODEC_BASE + 627 

695 MPEG_VIDEO_HEVC_GENERAL_PB = CODEC_BASE + 628 

696 MPEG_VIDEO_HEVC_TEMPORAL_ID = CODEC_BASE + 629 

697 MPEG_VIDEO_HEVC_STRONG_SMOOTHING = CODEC_BASE + 630 

698 MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 = CODEC_BASE + 631 

699 MPEG_VIDEO_HEVC_INTRA_PU_SPLIT = CODEC_BASE + 632 

700 MPEG_VIDEO_HEVC_TMV_PREDICTION = CODEC_BASE + 633 

701 MPEG_VIDEO_HEVC_WITHOUT_STARTCODE = CODEC_BASE + 634 

702 MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD = CODEC_BASE + 635 

703 MPEG_VIDEO_HEVC_HIER_CODING_L0_BR = CODEC_BASE + 636 

704 MPEG_VIDEO_HEVC_HIER_CODING_L1_BR = CODEC_BASE + 637 

705 MPEG_VIDEO_HEVC_HIER_CODING_L2_BR = CODEC_BASE + 638 

706 MPEG_VIDEO_HEVC_HIER_CODING_L3_BR = CODEC_BASE + 639 

707 MPEG_VIDEO_HEVC_HIER_CODING_L4_BR = CODEC_BASE + 640 

708 MPEG_VIDEO_HEVC_HIER_CODING_L5_BR = CODEC_BASE + 641 

709 MPEG_VIDEO_HEVC_HIER_CODING_L6_BR = CODEC_BASE + 642 

710 MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES = CODEC_BASE + 643 

711 MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR = CODEC_BASE + 644 

712 MPEG_VIDEO_CONSTANT_QUALITY = CODEC_BASE + 645 

713 MPEG_VIDEO_FRAME_SKIP_MODE = CODEC_BASE + 646 

714 MPEG_VIDEO_HEVC_I_FRAME_MIN_QP = CODEC_BASE + 647 

715 MPEG_VIDEO_HEVC_I_FRAME_MAX_QP = CODEC_BASE + 648 

716 MPEG_VIDEO_HEVC_P_FRAME_MIN_QP = CODEC_BASE + 649 

717 MPEG_VIDEO_HEVC_P_FRAME_MAX_QP = CODEC_BASE + 650 

718 MPEG_VIDEO_HEVC_B_FRAME_MIN_QP = CODEC_BASE + 651 

719 MPEG_VIDEO_HEVC_B_FRAME_MAX_QP = CODEC_BASE + 652 

720 MPEG_VIDEO_DEC_DISPLAY_DELAY = CODEC_BASE + 653 

721 MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE = CODEC_BASE + 654 

722 MPEG_VIDEO_AV1_PROFILE = CODEC_BASE + 655 

723 MPEG_VIDEO_AV1_LEVEL = CODEC_BASE + 656 

724 CODEC_CX2341X_BASE = ControlClass.CODEC | 0x1000 

725 MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE = CODEC_CX2341X_BASE + 0 

726 MPEG_CX2341X_VIDEO_SPATIAL_FILTER = CODEC_CX2341X_BASE + 1 

727 MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE = CODEC_CX2341X_BASE + 2 

728 MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE = CODEC_CX2341X_BASE + 3 

729 MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE = CODEC_CX2341X_BASE + 4 

730 MPEG_CX2341X_VIDEO_TEMPORAL_FILTER = CODEC_CX2341X_BASE + 5 

731 MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE = CODEC_CX2341X_BASE + 6 

732 MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM = CODEC_CX2341X_BASE + 7 

733 MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP = CODEC_CX2341X_BASE + 8 

734 MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM = CODEC_CX2341X_BASE + 9 

735 MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP = CODEC_CX2341X_BASE + 10 

736 MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS = CODEC_CX2341X_BASE + 11 

737 CODEC_MFC51_BASE = ControlClass.CODEC | 0x1100 

738 MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY = CODEC_MFC51_BASE + 0 

739 MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE = CODEC_MFC51_BASE + 1 

740 MPEG_MFC51_VIDEO_FRAME_SKIP_MODE = CODEC_MFC51_BASE + 2 

741 MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE = CODEC_MFC51_BASE + 3 

742 MPEG_MFC51_VIDEO_PADDING = CODEC_MFC51_BASE + 4 

743 MPEG_MFC51_VIDEO_PADDING_YUV = CODEC_MFC51_BASE + 5 

744 MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT = CODEC_MFC51_BASE + 6 

745 MPEG_MFC51_VIDEO_RC_REACTION_COEFF = CODEC_MFC51_BASE + 7 

746 MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY = CODEC_MFC51_BASE + 50 

747 MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK = CODEC_MFC51_BASE + 51 

748 MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH = CODEC_MFC51_BASE + 52 

749 MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC = CODEC_MFC51_BASE + 53 

750 MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P = CODEC_MFC51_BASE + 54 

751 CAMERA_CLASS_BASE = ControlClass.CAMERA | 0x900 

752 CAMERA_CLASS = ControlClass.CAMERA | 1 

753 EXPOSURE_AUTO = CAMERA_CLASS_BASE + 1 

754 EXPOSURE_ABSOLUTE = CAMERA_CLASS_BASE + 2 

755 EXPOSURE_AUTO_PRIORITY = CAMERA_CLASS_BASE + 3 

756 PAN_RELATIVE = CAMERA_CLASS_BASE + 4 

757 TILT_RELATIVE = CAMERA_CLASS_BASE + 5 

758 PAN_RESET = CAMERA_CLASS_BASE + 6 

759 TILT_RESET = CAMERA_CLASS_BASE + 7 

760 PAN_ABSOLUTE = CAMERA_CLASS_BASE + 8 

761 TILT_ABSOLUTE = CAMERA_CLASS_BASE + 9 

762 FOCUS_ABSOLUTE = CAMERA_CLASS_BASE + 10 

763 FOCUS_RELATIVE = CAMERA_CLASS_BASE + 11 

764 FOCUS_AUTO = CAMERA_CLASS_BASE + 12 

765 ZOOM_ABSOLUTE = CAMERA_CLASS_BASE + 13 

766 ZOOM_RELATIVE = CAMERA_CLASS_BASE + 14 

767 ZOOM_CONTINUOUS = CAMERA_CLASS_BASE + 15 

768 PRIVACY = CAMERA_CLASS_BASE + 16 

769 IRIS_ABSOLUTE = CAMERA_CLASS_BASE + 17 

770 IRIS_RELATIVE = CAMERA_CLASS_BASE + 18 

771 AUTO_EXPOSURE_BIAS = CAMERA_CLASS_BASE + 19 

772 AUTO_N_PRESET_WHITE_BALANCE = CAMERA_CLASS_BASE + 20 

773 WIDE_DYNAMIC_RANGE = CAMERA_CLASS_BASE + 21 

774 IMAGE_STABILIZATION = CAMERA_CLASS_BASE + 22 

775 ISO_SENSITIVITY = CAMERA_CLASS_BASE + 23 

776 ISO_SENSITIVITY_AUTO = CAMERA_CLASS_BASE + 24 

777 EXPOSURE_METERING = CAMERA_CLASS_BASE + 25 

778 SCENE_MODE = CAMERA_CLASS_BASE + 26 

779 _3A_LOCK = CAMERA_CLASS_BASE + 27 

780 AUTO_FOCUS_START = CAMERA_CLASS_BASE + 28 

781 AUTO_FOCUS_STOP = CAMERA_CLASS_BASE + 29 

782 AUTO_FOCUS_STATUS = CAMERA_CLASS_BASE + 30 

783 AUTO_FOCUS_RANGE = CAMERA_CLASS_BASE + 31 

784 PAN_SPEED = CAMERA_CLASS_BASE + 32 

785 TILT_SPEED = CAMERA_CLASS_BASE + 33 

786 CAMERA_ORIENTATION = CAMERA_CLASS_BASE + 34 

787 CAMERA_SENSOR_ROTATION = CAMERA_CLASS_BASE + 35 

788 HDR_SENSOR_MODE = CAMERA_CLASS_BASE + 36 

789 FM_TX_CLASS_BASE = ControlClass.FM_TX | 0x900 

790 FM_TX_CLASS = ControlClass.FM_TX | 1 

791 RDS_TX_DEVIATION = FM_TX_CLASS_BASE + 1 

792 RDS_TX_PI = FM_TX_CLASS_BASE + 2 

793 RDS_TX_PTY = FM_TX_CLASS_BASE + 3 

794 RDS_TX_PS_NAME = FM_TX_CLASS_BASE + 5 

795 RDS_TX_RADIO_TEXT = FM_TX_CLASS_BASE + 6 

796 RDS_TX_MONO_STEREO = FM_TX_CLASS_BASE + 7 

797 RDS_TX_ARTIFICIAL_HEAD = FM_TX_CLASS_BASE + 8 

798 RDS_TX_COMPRESSED = FM_TX_CLASS_BASE + 9 

799 RDS_TX_DYNAMIC_PTY = FM_TX_CLASS_BASE + 10 

800 RDS_TX_TRAFFIC_ANNOUNCEMENT = FM_TX_CLASS_BASE + 11 

801 RDS_TX_TRAFFIC_PROGRAM = FM_TX_CLASS_BASE + 12 

802 RDS_TX_MUSIC_SPEECH = FM_TX_CLASS_BASE + 13 

803 RDS_TX_ALT_FREQS_ENABLE = FM_TX_CLASS_BASE + 14 

804 RDS_TX_ALT_FREQS = FM_TX_CLASS_BASE + 15 

805 AUDIO_LIMITER_ENABLED = FM_TX_CLASS_BASE + 64 

806 AUDIO_LIMITER_RELEASE_TIME = FM_TX_CLASS_BASE + 65 

807 AUDIO_LIMITER_DEVIATION = FM_TX_CLASS_BASE + 66 

808 AUDIO_COMPRESSION_ENABLED = FM_TX_CLASS_BASE + 80 

809 AUDIO_COMPRESSION_GAIN = FM_TX_CLASS_BASE + 81 

810 AUDIO_COMPRESSION_THRESHOLD = FM_TX_CLASS_BASE + 82 

811 AUDIO_COMPRESSION_ATTACK_TIME = FM_TX_CLASS_BASE + 83 

812 AUDIO_COMPRESSION_RELEASE_TIME = FM_TX_CLASS_BASE + 84 

813 PILOT_TONE_ENABLED = FM_TX_CLASS_BASE + 96 

814 PILOT_TONE_DEVIATION = FM_TX_CLASS_BASE + 97 

815 PILOT_TONE_FREQUENCY = FM_TX_CLASS_BASE + 98 

816 TUNE_PREEMPHASIS = FM_TX_CLASS_BASE + 112 

817 TUNE_POWER_LEVEL = FM_TX_CLASS_BASE + 113 

818 TUNE_ANTENNA_CAPACITOR = FM_TX_CLASS_BASE + 114 

819 FLASH_CLASS_BASE = ControlClass.FLASH | 0x900 

820 FLASH_CLASS = ControlClass.FLASH | 1 

821 FLASH_LED_MODE = FLASH_CLASS_BASE + 1 

822 FLASH_STROBE_SOURCE = FLASH_CLASS_BASE + 2 

823 FLASH_STROBE = FLASH_CLASS_BASE + 3 

824 FLASH_STROBE_STOP = FLASH_CLASS_BASE + 4 

825 FLASH_STROBE_STATUS = FLASH_CLASS_BASE + 5 

826 FLASH_TIMEOUT = FLASH_CLASS_BASE + 6 

827 FLASH_INTENSITY = FLASH_CLASS_BASE + 7 

828 FLASH_TORCH_INTENSITY = FLASH_CLASS_BASE + 8 

829 FLASH_INDICATOR_INTENSITY = FLASH_CLASS_BASE + 9 

830 FLASH_FAULT = FLASH_CLASS_BASE + 10 

831 FLASH_CHARGE = FLASH_CLASS_BASE + 11 

832 FLASH_READY = FLASH_CLASS_BASE + 12 

833 JPEG_CLASS_BASE = ControlClass.JPEG | 0x900 

834 JPEG_CLASS = ControlClass.JPEG | 1 

835 JPEG_CHROMA_SUBSAMPLING = JPEG_CLASS_BASE + 1 

836 JPEG_RESTART_INTERVAL = JPEG_CLASS_BASE + 2 

837 JPEG_COMPRESSION_QUALITY = JPEG_CLASS_BASE + 3 

838 JPEG_ACTIVE_MARKER = JPEG_CLASS_BASE + 4 

839 IMAGE_SOURCE_CLASS_BASE = ControlClass.IMAGE_SOURCE | 0x900 

840 IMAGE_SOURCE_CLASS = ControlClass.IMAGE_SOURCE | 1 

841 VBLANK = IMAGE_SOURCE_CLASS_BASE + 1 

842 HBLANK = IMAGE_SOURCE_CLASS_BASE + 2 

843 ANALOGUE_GAIN = IMAGE_SOURCE_CLASS_BASE + 3 

844 TEST_PATTERN_RED = IMAGE_SOURCE_CLASS_BASE + 4 

845 TEST_PATTERN_GREENR = IMAGE_SOURCE_CLASS_BASE + 5 

846 TEST_PATTERN_BLUE = IMAGE_SOURCE_CLASS_BASE + 6 

847 TEST_PATTERN_GREENB = IMAGE_SOURCE_CLASS_BASE + 7 

848 UNIT_CELL_SIZE = IMAGE_SOURCE_CLASS_BASE + 8 

849 NOTIFY_GAINS = IMAGE_SOURCE_CLASS_BASE + 9 

850 IMAGE_PROC_CLASS_BASE = ControlClass.IMAGE_PROC | 0x900 

851 IMAGE_PROC_CLASS = ControlClass.IMAGE_PROC | 1 

852 LINK_FREQ = IMAGE_PROC_CLASS_BASE + 1 

853 PIXEL_RATE = IMAGE_PROC_CLASS_BASE + 2 

854 TEST_PATTERN = IMAGE_PROC_CLASS_BASE + 3 

855 DEINTERLACING_MODE = IMAGE_PROC_CLASS_BASE + 4 

856 DIGITAL_GAIN = IMAGE_PROC_CLASS_BASE + 5 

857 DV_CLASS_BASE = ControlClass.DV | 0x900 

858 DV_CLASS = ControlClass.DV | 1 

859 DV_TX_HOTPLUG = DV_CLASS_BASE + 1 

860 DV_TX_RXSENSE = DV_CLASS_BASE + 2 

861 DV_TX_EDID_PRESENT = DV_CLASS_BASE + 3 

862 DV_TX_MODE = DV_CLASS_BASE + 4 

863 DV_TX_RGB_RANGE = DV_CLASS_BASE + 5 

864 DV_TX_IT_CONTENT_TYPE = DV_CLASS_BASE + 6 

865 DV_RX_POWER_PRESENT = DV_CLASS_BASE + 100 

866 DV_RX_RGB_RANGE = DV_CLASS_BASE + 101 

867 DV_RX_IT_CONTENT_TYPE = DV_CLASS_BASE + 102 

868 FM_RX_CLASS_BASE = ControlClass.FM_RX | 0x900 

869 FM_RX_CLASS = ControlClass.FM_RX | 1 

870 TUNE_DEEMPHASIS = FM_RX_CLASS_BASE + 1 

871 RDS_RECEPTION = FM_RX_CLASS_BASE + 2 

872 RDS_RX_PTY = FM_RX_CLASS_BASE + 3 

873 RDS_RX_PS_NAME = FM_RX_CLASS_BASE + 4 

874 RDS_RX_RADIO_TEXT = FM_RX_CLASS_BASE + 5 

875 RDS_RX_TRAFFIC_ANNOUNCEMENT = FM_RX_CLASS_BASE + 6 

876 RDS_RX_TRAFFIC_PROGRAM = FM_RX_CLASS_BASE + 7 

877 RDS_RX_MUSIC_SPEECH = FM_RX_CLASS_BASE + 8 

878 RF_TUNER_CLASS_BASE = ControlClass.RF_TUNER | 0x900 

879 RF_TUNER_CLASS = ControlClass.RF_TUNER | 1 

880 RF_TUNER_BANDWIDTH_AUTO = RF_TUNER_CLASS_BASE + 11 

881 RF_TUNER_BANDWIDTH = RF_TUNER_CLASS_BASE + 12 

882 RF_TUNER_RF_GAIN = RF_TUNER_CLASS_BASE + 32 

883 RF_TUNER_LNA_GAIN_AUTO = RF_TUNER_CLASS_BASE + 41 

884 RF_TUNER_LNA_GAIN = RF_TUNER_CLASS_BASE + 42 

885 RF_TUNER_MIXER_GAIN_AUTO = RF_TUNER_CLASS_BASE + 51 

886 RF_TUNER_MIXER_GAIN = RF_TUNER_CLASS_BASE + 52 

887 RF_TUNER_IF_GAIN_AUTO = RF_TUNER_CLASS_BASE + 61 

888 RF_TUNER_IF_GAIN = RF_TUNER_CLASS_BASE + 62 

889 RF_TUNER_PLL_LOCK = RF_TUNER_CLASS_BASE + 91 

890 DETECT_CLASS_BASE = ControlClass.DETECT | 0x900 

891 DETECT_CLASS = ControlClass.DETECT | 1 

892 DETECT_MD_MODE = DETECT_CLASS_BASE + 1 

893 DETECT_MD_GLOBAL_THRESHOLD = DETECT_CLASS_BASE + 2 

894 DETECT_MD_THRESHOLD_GRID = DETECT_CLASS_BASE + 3 

895 DETECT_MD_REGION_GRID = DETECT_CLASS_BASE + 4 

896 CODEC_STATELESS_BASE = ControlClass.CODEC_STATELESS | 0x900 

897 CODEC_STATELESS_CLASS = ControlClass.CODEC_STATELESS | 1 

898 STATELESS_H264_DECODE_MODE = CODEC_STATELESS_BASE + 0 

899 STATELESS_H264_START_CODE = CODEC_STATELESS_BASE + 1 

900 STATELESS_H264_SPS = CODEC_STATELESS_BASE + 2 

901 STATELESS_H264_PPS = CODEC_STATELESS_BASE + 3 

902 STATELESS_H264_SCALING_MATRIX = CODEC_STATELESS_BASE + 4 

903 STATELESS_H264_PRED_WEIGHTS = CODEC_STATELESS_BASE + 5 

904 STATELESS_H264_SLICE_PARAMS = CODEC_STATELESS_BASE + 6 

905 STATELESS_H264_DECODE_PARAMS = CODEC_STATELESS_BASE + 7 

906 STATELESS_FWHT_PARAMS = CODEC_STATELESS_BASE + 100 

907 STATELESS_VP8_FRAME = CODEC_STATELESS_BASE + 200 

908 STATELESS_MPEG2_SEQUENCE = CODEC_STATELESS_BASE + 220 

909 STATELESS_MPEG2_PICTURE = CODEC_STATELESS_BASE + 221 

910 STATELESS_MPEG2_QUANTISATION = CODEC_STATELESS_BASE + 222 

911 STATELESS_HEVC_SPS = CODEC_STATELESS_BASE + 400 

912 STATELESS_HEVC_PPS = CODEC_STATELESS_BASE + 401 

913 STATELESS_HEVC_SLICE_PARAMS = CODEC_STATELESS_BASE + 402 

914 STATELESS_HEVC_SCALING_MATRIX = CODEC_STATELESS_BASE + 403 

915 STATELESS_HEVC_DECODE_PARAMS = CODEC_STATELESS_BASE + 404 

916 STATELESS_HEVC_DECODE_MODE = CODEC_STATELESS_BASE + 405 

917 STATELESS_HEVC_START_CODE = CODEC_STATELESS_BASE + 406 

918 STATELESS_HEVC_ENTRY_POINT_OFFSETS = CODEC_STATELESS_BASE + 407 

919 COLORIMETRY_CLASS_BASE = ControlClass.COLORIMETRY | 0x900 

920 COLORIMETRY_CLASS = ControlClass.COLORIMETRY | 1 

921 COLORIMETRY_HDR10_CLL_INFO = COLORIMETRY_CLASS_BASE + 0 

922 COLORIMETRY_HDR10_MASTERING_DISPLAY = COLORIMETRY_CLASS_BASE + 1 

923 STATELESS_VP9_FRAME = CODEC_STATELESS_BASE + 300 

924 STATELESS_VP9_COMPRESSED_HDR = CODEC_STATELESS_BASE + 301 

925 STATELESS_AV1_SEQUENCE = CODEC_STATELESS_BASE + 500 

926 STATELESS_AV1_TILE_GROUP_ENTRY = CODEC_STATELESS_BASE + 501 

927 STATELESS_AV1_FRAME = CODEC_STATELESS_BASE + 502 

928 STATELESS_AV1_FILM_GRAIN = CODEC_STATELESS_BASE + 505 

929 MPEG_CLASS = CODEC_CLASS 

930 MPEG_BASE = CODEC_BASE 

931 MPEG_CX2341X_BASE = CODEC_CX2341X_BASE 

932 MPEG_MFC51_BASE = CODEC_MFC51_BASE 

933 MAX_CTRLS = 0x400 

934 

935 

936class ControlFlag(enum.IntFlag): 

937 DISABLED = 0x1 

938 GRABBED = 0x2 

939 READ_ONLY = 0x4 

940 UPDATE = 0x8 

941 INACTIVE = 0x10 

942 SLIDER = 0x20 

943 WRITE_ONLY = 0x40 

944 VOLATILE = 0x80 

945 HAS_PAYLOAD = 0x100 

946 EXECUTE_ON_WRITE = 0x200 

947 MODIFY_LAYOUT = 0x400 

948 DYNAMIC_ARRAY = 0x800 

949 NEXT_CTRL = 0x80000000 

950 NEXT_COMPOUND = 0x40000000 

951 

952 

953class ControlWhichValue(enum.IntEnum): 

954 CUR_VAL = 0x0 

955 DEF_VAL = 0xF000000 

956 REQUEST_VAL = 0xF010000 

957 

958 

959class TimeCodeType(enum.IntEnum): 

960 _24FPS = 0x1 

961 _25FPS = 0x2 

962 _30FPS = 0x3 

963 _50FPS = 0x4 

964 _60FPS = 0x5 

965 

966 

967class TimeCodeFlag(enum.IntFlag): 

968 DROPFRAME = 0x0001 # "drop-frame" mode 

969 COLORFRAME = 0x2 

970 

971 

972class EventSubscriptionFlag(enum.IntFlag): 

973 SEND_INITIAL = 1 << 0 

974 ALLOW_FEEDBACK = 1 << 1 

975 

976 

977class EventControlChange(enum.IntFlag): 

978 VALUE = 1 << 0 

979 FLAGS = 1 << 1 

980 RANGE = 1 << 2 

981 DIMENSIONS = 1 << 3 

982 

983 

984class EventType(enum.IntEnum): 

985 ALL = 0x0 

986 VSYNC = 0x1 

987 EOS = 0x2 

988 CTRL = 0x3 

989 FRAME_SYNC = 0x4 

990 SOURCE_CHANGE = 0x5 

991 MOTION_DET = 0x6 

992 SRC_CH_RESOLUTION = 1 << 0 

993 MD_FL_HAVE_FRAME_SEQ = 1 << 0 

994 

995 

996class MbusFrameFormatFlag(enum.IntFlag): 

997 SET_CSC = 0x1 

998 

999 

1000class Interlaced(enum.IntEnum): 

1001 V4L2_DV_PROGRESSIVE = 0x0 

1002 V4L2_DV_INTERLACED = 0x1 

1003 

1004 

1005class PositivePolarityFlag(enum.IntFlag): 

1006 V4L2_DV_VSYNC_POS_POL = 0x1 

1007 V4L2_DV_HSYNC_POS_POL = 0x2 

1008 

1009 

1010class DVTimingsStandardFlag(enum.IntFlag): 

1011 CEA861 = 1 << 0 # CEA-861 Digital TV Profile 

1012 DMT = 1 << 1 # VESA Discrete Monitor Timings 

1013 CVT = 1 << 2 # VESA Coordinated Video Timings 

1014 GTF = 1 << 3 # VESA Generalized Timings Formula 

1015 SDI = 1 << 4 # SDI Timings 

1016 

1017 

1018class DVTimingsFlag(enum.IntFlag): 

1019 REDUCED_BLANKING = 1 << 0 

1020 CAN_REDUCE_FPS = 1 << 1 

1021 REDUCED_FPS = 1 << 2 

1022 HALF_LINE = 1 << 3 

1023 IS_CE_VIDEO = 1 << 4 

1024 FIRST_FIELD_EXTRA_LINE = 1 << 5 

1025 HAS_PICTURE_ASPECT = 1 << 6 

1026 HAS_CEA861_VIC = 1 << 7 

1027 HAS_HDMI_VIC = 1 << 8 

1028 CAN_DETECT_REDUCED_FPS = 1 << 9 

1029 

1030 

1031class DVTimingsCapabilities(enum.IntFlag): 

1032 INTERLACED = 1 << 0 

1033 PROGRESSIVE = 1 << 1 

1034 REDUCED_BLANKING = 1 << 2 

1035 CUSTOM = 1 << 3 

1036 

1037 

1038class PowerLineFrequency(enum.IntEnum): 

1039 DISABLED = 0 

1040 _50HZ = 1 

1041 _60HZ = 2 

1042 AUTO = 3 

1043 

1044 

1045class Colorfx(enum.IntEnum): 

1046 NONE = 0 

1047 BW = 1 

1048 SEPIA = 2 

1049 NEGATIVE = 3 

1050 EMBOSS = 4 

1051 SKETCH = 5 

1052 SKY_BLUE = 6 

1053 GRASS_GREEN = 7 

1054 SKIN_WHITEN = 8 

1055 VIVID = 9 

1056 AQUA = 10 

1057 ART_FREEZE = 11 

1058 SILHOUETTE = 12 

1059 SOLARIZATION = 13 

1060 ANTIQUE = 14 

1061 SET_CBCR = 15 

1062 SET_RGB = 16 

1063 

1064 

1065class MpegStreamType(enum.IntEnum): 

1066 MPEG2_PS = 0 

1067 MPEG2_TS = 1 

1068 MPEG1_SS = 2 

1069 MPEG2_DVD = 3 

1070 MPEG1_VCD = 4 

1071 MPEG2_SVCD = 5 

1072 

1073 

1074class MpegStreamVbiFmt(enum.IntEnum): 

1075 NONE = 0 

1076 IVTV = 1 

1077 

1078 

1079class MpegAudioSamplingFreq(enum.IntEnum): 

1080 _44100 = 0 

1081 _48000 = 1 

1082 _32000 = 2 

1083 

1084 

1085class MpegAudioEncoding(enum.IntEnum): 

1086 LAYER_1 = 0 

1087 LAYER_2 = 1 

1088 LAYER_3 = 2 

1089 AAC = 3 

1090 AC3 = 4 

1091 

1092 

1093class MpegAudioL1Bitrate(enum.IntEnum): 

1094 _32K = 0 

1095 _64K = 1 

1096 _96K = 2 

1097 _128K = 3 

1098 _160K = 4 

1099 _192K = 5 

1100 _224K = 6 

1101 _256K = 7 

1102 _288K = 8 

1103 _320K = 9 

1104 _352K = 10 

1105 _384K = 11 

1106 _416K = 12 

1107 _448K = 13 

1108 

1109 

1110class MpegAudioL2Bitrate(enum.IntEnum): 

1111 _32K = 0 

1112 _48K = 1 

1113 _56K = 2 

1114 _64K = 3 

1115 _80K = 4 

1116 _96K = 5 

1117 _112K = 6 

1118 _128K = 7 

1119 _160K = 8 

1120 _192K = 9 

1121 _224K = 10 

1122 _256K = 11 

1123 _320K = 12 

1124 _384K = 13 

1125 

1126 

1127class MpegAudioL3Bitrate(enum.IntEnum): 

1128 _32K = 0 

1129 _40K = 1 

1130 _48K = 2 

1131 _56K = 3 

1132 _64K = 4 

1133 _80K = 5 

1134 _96K = 6 

1135 _112K = 7 

1136 _128K = 8 

1137 _160K = 9 

1138 _192K = 10 

1139 _224K = 11 

1140 _256K = 12 

1141 _320K = 13 

1142 

1143 

1144class MpegAudioMode(enum.IntEnum): 

1145 STEREO = 0 

1146 JOINT_STEREO = 1 

1147 DUAL = 2 

1148 MONO = 3 

1149 

1150 

1151class MpegAudioModeExtension(enum.IntEnum): 

1152 BOUND_4 = 0 

1153 BOUND_8 = 1 

1154 BOUND_12 = 2 

1155 BOUND_16 = 3 

1156 

1157 

1158class MpegAudioEmphasis(enum.IntEnum): 

1159 NONE = 0 

1160 _50_DIV_15_uS = 1 

1161 CCITT_J17 = 2 

1162 

1163 

1164class MpegAudioCrc(enum.IntEnum): 

1165 NONE = 0 

1166 CRC16 = 1 

1167 

1168 

1169class MpegAudioAc3Bitrate(enum.IntEnum): 

1170 _32K = 0 

1171 _40K = 1 

1172 _48K = 2 

1173 _56K = 3 

1174 _64K = 4 

1175 _80K = 5 

1176 _96K = 6 

1177 _112K = 7 

1178 _128K = 8 

1179 _160K = 9 

1180 _192K = 10 

1181 _224K = 11 

1182 _256K = 12 

1183 _320K = 13 

1184 _384K = 14 

1185 _448K = 15 

1186 _512K = 16 

1187 _576K = 17 

1188 _640K = 18 

1189 

1190 

1191class MpegAudioDecPlayback(enum.IntEnum): 

1192 AUTO = 0 

1193 STEREO = 1 

1194 LEFT = 2 

1195 RIGHT = 3 

1196 MONO = 4 

1197 SWAPPED_STEREO = 5 

1198 

1199 

1200class MpegVideoEncoding(enum.IntEnum): 

1201 MPEG_1 = 0 

1202 MPEG_2 = 1 

1203 MPEG_4_AVC = 2 

1204 

1205 

1206class MpegVideoAspect(enum.IntEnum): 

1207 _1x1 = 0 

1208 _4x3 = 1 

1209 _16x9 = 2 

1210 _221x100 = 3 

1211 

1212 

1213class MpegVideoBitrateMode(enum.IntEnum): 

1214 VBR = 0 

1215 CBR = 1 

1216 CQ = 2 

1217 

1218 

1219class MpegVideoHeaderMode(enum.IntEnum): 

1220 SEPARATE = 0 

1221 JOINED_WITH_1ST_FRAME = 1 

1222 

1223 

1224class MpegVideoMultiSliceMode(enum.IntEnum): 

1225 SINGLE = 0 

1226 MAX_MB = 1 

1227 MAX_BYTES = 2 

1228 ICE_MODE_MAX_MB = 1 

1229 ICE_MODE_MAX_BYTES = 2 

1230 

1231 

1232class MpegVideoIntraRefreshPeriodType(enum.IntEnum): 

1233 RANDOM = 0 

1234 CYCLIC = 1 

1235 

1236 

1237class MpegVideoMpeg2Level(enum.IntEnum): 

1238 LOW = 0 

1239 MAIN = 1 

1240 HIGH_1440 = 2 

1241 HIGH = 3 

1242 

1243 

1244class MpegVideoMpeg2Profile(enum.IntEnum): 

1245 SIMPLE = 0 

1246 MAIN = 1 

1247 SNR_SCALABLE = 2 

1248 SPATIALLY_SCALABLE = 3 

1249 HIGH = 4 

1250 MULTIVIEW = 5 

1251 

1252 

1253class MpegVideoH264EntropyMode(enum.IntEnum): 

1254 CAVLC = 0 

1255 CABAC = 1 

1256 

1257 

1258class MpegVideoH264Level(enum.IntEnum): 

1259 _1_0 = 0 

1260 _1B = 1 

1261 _1_1 = 2 

1262 _1_2 = 3 

1263 _1_3 = 4 

1264 _2_0 = 5 

1265 _2_1 = 6 

1266 _2_2 = 7 

1267 _3_0 = 8 

1268 _3_1 = 9 

1269 _3_2 = 10 

1270 _4_0 = 11 

1271 _4_1 = 12 

1272 _4_2 = 13 

1273 _5_0 = 14 

1274 _5_1 = 15 

1275 _5_2 = 16 

1276 _6_0 = 17 

1277 _6_1 = 18 

1278 _6_2 = 19 

1279 

1280 

1281class MpegVideoH264LoopFilterMode(enum.IntEnum): 

1282 ENABLED = 0 

1283 DISABLED = 1 

1284 DISABLED_AT_SLICE_BOUNDARY = 2 

1285 

1286 

1287class MpegVideoH264Profile(enum.IntEnum): 

1288 BASELINE = 0 

1289 CONSTRAINED_BASELINE = 1 

1290 MAIN = 2 

1291 EXTENDED = 3 

1292 HIGH = 4 

1293 HIGH_10 = 5 

1294 HIGH_422 = 6 

1295 HIGH_444_PREDICTIVE = 7 

1296 HIGH_10_INTRA = 8 

1297 HIGH_422_INTRA = 9 

1298 HIGH_444_INTRA = 10 

1299 CAVLC_444_INTRA = 11 

1300 SCALABLE_BASELINE = 12 

1301 SCALABLE_HIGH = 13 

1302 SCALABLE_HIGH_INTRA = 14 

1303 STEREO_HIGH = 15 

1304 MULTIVIEW_HIGH = 16 

1305 CONSTRAINED_HIGH = 17 

1306 

1307 

1308class MpegVideoH264VuiSarIdc(enum.IntEnum): 

1309 UNSPECIFIED = 0 

1310 _1x1 = 1 

1311 _12x11 = 2 

1312 _10x11 = 3 

1313 _16x11 = 4 

1314 _40x33 = 5 

1315 _24x11 = 6 

1316 _20x11 = 7 

1317 _32x11 = 8 

1318 _80x33 = 9 

1319 _18x11 = 10 

1320 _15x11 = 11 

1321 _64x33 = 12 

1322 _160x99 = 13 

1323 _4x3 = 14 

1324 _3x2 = 15 

1325 _2x1 = 16 

1326 EXTENDED = 17 

1327 

1328 

1329class MpegVideoH264SeiFpArrangementType(enum.IntEnum): 

1330 CHECKERBOARD = 0 

1331 COLUMN = 1 

1332 ROW = 2 

1333 SIDE_BY_SIDE = 3 

1334 TOP_BOTTOM = 4 

1335 TEMPORAL = 5 

1336 

1337 

1338class MpegVideoH264FmoMapType(enum.IntEnum): 

1339 INTERLEAVED_SLICES = 0 

1340 SCATTERED_SLICES = 1 

1341 FOREGROUND_WITH_LEFT_OVER = 2 

1342 BOX_OUT = 3 

1343 RASTER_SCAN = 4 

1344 WIPE_SCAN = 5 

1345 EXPLICIT = 6 

1346 

1347 

1348class MpegVideoH264FmoChangeDir(enum.IntEnum): 

1349 RIGHT = 0 

1350 LEFT = 1 

1351 

1352 

1353class MpegVideoH264HierarchicalCodingType(enum.IntEnum): 

1354 B = 0 

1355 P = 1 

1356 

1357 

1358class MpegVideoMpeg4Level(enum.IntEnum): 

1359 _0 = 0 

1360 _0B = 1 

1361 _1 = 2 

1362 _2 = 3 

1363 _3 = 4 

1364 _3B = 5 

1365 _4 = 6 

1366 _5 = 7 

1367 

1368 

1369class MpegVideoMpeg4Profile(enum.IntEnum): 

1370 SIMPLE = 0 

1371 ADVANCED_SIMPLE = 1 

1372 CORE = 2 

1373 SIMPLE_SCALABLE = 3 

1374 ADVANCED_CODING_EFFICIENCY = 4 

1375 

1376 

1377class Vp8NumPartitions(enum.IntEnum): 

1378 _1_PARTITION = 0 

1379 _2_PARTITIONS = 1 

1380 _4_PARTITIONS = 2 

1381 _8_PARTITIONS = 3 

1382 

1383 

1384class Vp8NumRefFrames(enum.IntEnum): 

1385 _1_REF_FRAME = 0 

1386 _2_REF_FRAME = 1 

1387 _3_REF_FRAME = 2 

1388 

1389 

1390class Vp8GoldenFrameSel(enum.IntEnum): 

1391 PREV = 0 

1392 REF_PERIOD = 1 

1393 

1394 

1395class MpegVideoVp8Profile(enum.IntEnum): 

1396 _0 = 0 

1397 _1 = 1 

1398 _2 = 2 

1399 _3 = 3 

1400 

1401 

1402class MpegVideoVp9Profile(enum.IntEnum): 

1403 _0 = 0 

1404 _1 = 1 

1405 _2 = 2 

1406 _3 = 3 

1407 

1408 

1409class MpegVideoVp9Level(enum.IntEnum): 

1410 _1_0 = 0 

1411 _1_1 = 1 

1412 _2_0 = 2 

1413 _2_1 = 3 

1414 _3_0 = 4 

1415 _3_1 = 5 

1416 _4_0 = 6 

1417 _4_1 = 7 

1418 _5_0 = 8 

1419 _5_1 = 9 

1420 _5_2 = 10 

1421 _6_0 = 11 

1422 _6_1 = 12 

1423 _6_2 = 13 

1424 

1425 

1426class MpegVideoHevcHierCodingType(enum.IntEnum): 

1427 B = 0 

1428 P = 1 

1429 

1430 

1431class MpegVideoHevcProfile(enum.IntEnum): 

1432 MAIN = 0 

1433 MAIN_STILL_PICTURE = 1 

1434 MAIN_10 = 2 

1435 

1436 

1437class MpegVideoHevcLevel(enum.IntEnum): 

1438 _1 = 0 

1439 _2 = 1 

1440 _2_1 = 2 

1441 _3 = 3 

1442 _3_1 = 4 

1443 _4 = 5 

1444 _4_1 = 6 

1445 _5 = 7 

1446 _5_1 = 8 

1447 _5_2 = 9 

1448 _6 = 10 

1449 _6_1 = 11 

1450 _6_2 = 12 

1451 

1452 

1453class MpegVideoHevcTier(enum.IntEnum): 

1454 MAIN = 0 

1455 HIGH = 1 

1456 

1457 

1458class CidMpegVideoHevcLoopFilterMode(enum.IntEnum): 

1459 DISABLED = 0 

1460 ENABLED = 1 

1461 DISABLED_AT_SLICE_BOUNDARY = 2 

1462 

1463 

1464class CidMpegVideoHevcRefreshType(enum.IntEnum): 

1465 NONE = 0 

1466 CRA = 1 

1467 IDR = 2 

1468 

1469 

1470class CidMpegVideoHevcSizeOfLengthField(enum.IntEnum): 

1471 _0 = 0 

1472 _1 = 1 

1473 _2 = 2 

1474 _4 = 3 

1475 

1476 

1477class MpegVideoFrameSkipMode(enum.IntEnum): 

1478 DISABLED = 0 

1479 LEVEL_LIMIT = 1 

1480 BUF_LIMIT = 2 

1481 

1482 

1483class MpegVideoAv1Profile(enum.IntEnum): 

1484 MAIN = 0 

1485 HIGH = 1 

1486 PROFESSIONAL = 2 

1487 

1488 

1489class MpegVideoAv1Level(enum.IntEnum): 

1490 _2_0 = 0 

1491 _2_1 = 1 

1492 _2_2 = 2 

1493 _2_3 = 3 

1494 _3_0 = 4 

1495 _3_1 = 5 

1496 _3_2 = 6 

1497 _3_3 = 7 

1498 _4_0 = 8 

1499 _4_1 = 9 

1500 _4_2 = 10 

1501 _4_3 = 11 

1502 _5_0 = 12 

1503 _5_1 = 13 

1504 _5_2 = 14 

1505 _5_3 = 15 

1506 _6_0 = 16 

1507 _6_1 = 17 

1508 _6_2 = 18 

1509 _6_3 = 19 

1510 _7_0 = 20 

1511 _7_1 = 21 

1512 _7_2 = 22 

1513 _7_3 = 23 

1514 

1515 

1516class MpegCx2341xVideoSpatialFilterMode(enum.IntEnum): 

1517 MANUAL = 0 

1518 AUTO = 1 

1519 

1520 

1521class MpegCx2341xVideoLumaSpatialFilterType(enum.IntEnum): 

1522 OFF = 0 

1523 _1D_HOR = 1 

1524 _1D_VERT = 2 

1525 _2D_HV_SEPARABLE = 3 

1526 _2D_SYM_NON_SEPARABLE = 4 

1527 

1528 

1529class MpegCx2341xVideoChromaSpatialFilterType(enum.IntEnum): 

1530 OFF = 0 

1531 _1D_HOR = 1 

1532 

1533 

1534class MpegCx2341xVideoTemporalFilterMode(enum.IntEnum): 

1535 MANUAL = 0 

1536 AUTO = 1 

1537 

1538 

1539class MpegCx2341xVideoMedianFilterType(enum.IntEnum): 

1540 OFF = 0 

1541 HOR = 1 

1542 VERT = 2 

1543 HOR_VERT = 3 

1544 DIAG = 4 

1545 

1546 

1547class MpegMfc51VideoFrameSkipMode(enum.IntEnum): 

1548 DISABLED = 0 

1549 LEVEL_LIMIT = 1 

1550 BUF_LIMIT = 2 

1551 

1552 

1553class MpegMfc51VideoForceFrameType(enum.IntEnum): 

1554 DISABLED = 0 

1555 I_FRAME = 1 

1556 NOT_CODED = 2 

1557 

1558 

1559class ExposureAutoType(enum.IntEnum): 

1560 AUTO = 0 

1561 MANUAL = 1 

1562 SHUTTER_PRIORITY = 2 

1563 APERTURE_PRIORITY = 3 

1564 

1565 

1566class AutoNPresetWhiteBalance(enum.IntEnum): 

1567 MANUAL = 0 

1568 AUTO = 1 

1569 INCANDESCENT = 2 

1570 FLUORESCENT = 3 

1571 FLUORESCENT_H = 4 

1572 HORIZON = 5 

1573 DAYLIGHT = 6 

1574 FLASH = 7 

1575 CLOUDY = 8 

1576 SHADE = 9 

1577 

1578 

1579class IsoSensitivityAutoType(enum.IntEnum): 

1580 MANUAL = 0 

1581 AUTO = 1 

1582 

1583 

1584class ExposureMetering(enum.IntEnum): 

1585 AVERAGE = 0 

1586 CENTER_WEIGHTED = 1 

1587 SPOT = 2 

1588 MATRIX = 3 

1589 

1590 

1591class SceneMode(enum.IntEnum): 

1592 NONE = 0 

1593 BACKLIGHT = 1 

1594 BEACH_SNOW = 2 

1595 CANDLE_LIGHT = 3 

1596 DAWN_DUSK = 4 

1597 FALL_COLORS = 5 

1598 FIREWORKS = 6 

1599 LANDSCAPE = 7 

1600 NIGHT = 8 

1601 PARTY_INDOOR = 9 

1602 PORTRAIT = 10 

1603 SPORTS = 11 

1604 SUNSET = 12 

1605 TEXT = 13 

1606 

1607 

1608class AutoFocusRange(enum.IntEnum): 

1609 AUTO = 0 

1610 NORMAL = 1 

1611 MACRO = 2 

1612 INFINITY = 3 

1613 

1614 

1615class Preemphasis(enum.IntEnum): 

1616 DISABLED = 0 

1617 _50_uS = 1 

1618 _75_uS = 2 

1619 

1620 

1621class FlashLedMode(enum.IntEnum): 

1622 NONE = 0 

1623 FLASH = 1 

1624 TORCH = 2 

1625 

1626 

1627class FlashStrobeSource(enum.IntEnum): 

1628 SOFTWARE = 0 

1629 EXTERNAL = 1 

1630 

1631 

1632class JpegChromaSubsampling(enum.IntEnum): 

1633 _444 = 0 

1634 _422 = 1 

1635 _420 = 2 

1636 _411 = 3 

1637 _410 = 4 

1638 GRAY = 5 

1639 

1640 

1641class DvTxMode(enum.IntEnum): 

1642 DVI_D = 0 

1643 HDMI = 1 

1644 

1645 

1646class DvRgbRange(enum.IntEnum): 

1647 AUTO = 0 

1648 LIMITED = 1 

1649 FULL = 2 

1650 

1651 

1652class DvItContentType(enum.IntEnum): 

1653 GRAPHICS = 0 

1654 PHOTO = 1 

1655 CINEMA = 2 

1656 GAME = 3 

1657 NO_ITC = 4 

1658 

1659 

1660class Deemphasis(enum.IntEnum): 

1661 DISABLED = 0 

1662 _50_uS = 1 

1663 _75_uS = 2 

1664 

1665 

1666class DetectMdMode(enum.IntEnum): 

1667 DISABLED = 0 

1668 GLOBAL = 1 

1669 THRESHOLD_GRID = 2 

1670 REGION_GRID = 3 

1671 

1672 

1673class StatelessH264DecodeMode(enum.IntEnum): 

1674 SLICE_BASED = 0 

1675 FRAME_BASED = 1 

1676 

1677 

1678class StatelessH264StartCode(enum.IntEnum): 

1679 NONE = 0 

1680 ANNEX_B = 1 

1681 

1682 

1683class StatelessHevcDecodeMode(enum.IntEnum): 

1684 SLICE_BASED = 0 

1685 FRAME_BASED = 1 

1686 

1687 

1688class StatelessHevcStartCode(enum.IntEnum): 

1689 NONE = 0 

1690 ANNEX_B = 1 

1691 

1692 

1693class Av1WarpModel(enum.IntEnum): 

1694 IDENTITY = 0 

1695 TRANSLATION = 1 

1696 ROTZOOM = 2 

1697 AFFINE = 3 

1698 

1699 

1700class Av1ReferenceFrame(enum.IntEnum): 

1701 INTRA_FRAME = 0 

1702 LAST_FRAME = 1 

1703 LAST2_FRAME = 2 

1704 LAST3_FRAME = 3 

1705 GOLDEN_FRAME = 4 

1706 BWDREF_FRAME = 5 

1707 ALTREF2_FRAME = 6 

1708 ALTREF_FRAME = 7 

1709 

1710 

1711class Av1FrameRestorationType(enum.IntEnum): 

1712 NONE = 0 

1713 WIENER = 1 

1714 SGRPROJ = 2 

1715 SWITCHABLE = 3 

1716 

1717 

1718class Av1SegmentFeature(enum.IntEnum): 

1719 ALT_Q = 0 

1720 ALT_LF_Y_V = 1 

1721 REF_FRAME = 5 

1722 REF_SKIP = 6 

1723 REF_GLOBALMV = 7 

1724 MAX = 8 

1725 

1726 

1727class Av1FrameType(enum.IntEnum): 

1728 KEY_FRAME = 0 

1729 INTER_FRAME = 1 

1730 INTRA_ONLY_FRAME = 2 

1731 SWITCH_FRAME = 3 

1732 

1733 

1734class Av1InterpolationFilter(enum.IntEnum): 

1735 EIGHTTAP = 0 

1736 EIGHTTAP_SMOOTH = 1 

1737 EIGHTTAP_SHARP = 2 

1738 BILINEAR = 3 

1739 SWITCHABLE = 4 

1740 

1741 

1742class Av1TxMode(enum.IntEnum): 

1743 ONLY_4X4 = 0 

1744 LARGEST = 1 

1745 SELECT = 2 

1746 

1747 

1748class Field(enum.IntEnum): 

1749 ANY = 0 

1750 NONE = 1 

1751 TOP = 2 

1752 BOTTOM = 3 

1753 INTERLACED = 4 

1754 SEQ_TB = 5 

1755 SEQ_BT = 6 

1756 ALTERNATE = 7 

1757 INTERLACED_TB = 8 

1758 INTERLACED_BT = 9 

1759 

1760 

1761class BufType(enum.IntEnum): 

1762 VIDEO_CAPTURE = 1 

1763 VIDEO_OUTPUT = 2 

1764 VIDEO_OVERLAY = 3 

1765 VBI_CAPTURE = 4 

1766 VBI_OUTPUT = 5 

1767 SLICED_VBI_CAPTURE = 6 

1768 SLICED_VBI_OUTPUT = 7 

1769 VIDEO_OUTPUT_OVERLAY = 8 

1770 VIDEO_CAPTURE_MPLANE = 9 

1771 VIDEO_OUTPUT_MPLANE = 10 

1772 SDR_CAPTURE = 11 

1773 SDR_OUTPUT = 12 

1774 META_CAPTURE = 13 

1775 META_OUTPUT = 14 

1776 

1777 

1778class TunerType(enum.IntEnum): 

1779 RADIO = 1 

1780 ANALOG_TV = 2 

1781 DIGITAL_TV = 3 

1782 SDR = 4 

1783 RF = 5 

1784 

1785 

1786class Memory(enum.IntEnum): 

1787 MMAP = 1 

1788 USERPTR = 2 

1789 OVERLAY = 3 

1790 DMABUF = 4 

1791 

1792 

1793class Colorspace(enum.IntEnum): 

1794 DEFAULT = 0 

1795 SMPTE170M = 1 

1796 SMPTE240M = 2 

1797 REC709 = 3 

1798 BT878 = 4 

1799 _470_SYSTEM_M = 5 

1800 _470_SYSTEM_BG = 6 

1801 JPEG = 7 

1802 SRGB = 8 

1803 OPRGB = 9 

1804 BT2020 = 10 

1805 RAW = 11 

1806 DCI_P3 = 12 

1807 

1808 

1809class XferFunc(enum.IntEnum): 

1810 DEFAULT = 0 

1811 _709 = 1 

1812 SRGB = 2 

1813 OPRGB = 3 

1814 SMPTE240M = 4 

1815 NONE = 5 

1816 DCI_P3 = 6 

1817 SMPTE2084 = 7 

1818 

1819 

1820class YcbcrEncoding(enum.IntEnum): 

1821 DEFAULT = 0 

1822 _601 = 1 

1823 _709 = 2 

1824 XV601 = 3 

1825 XV709 = 4 

1826 SYCC = 5 

1827 BT2020 = 6 

1828 BT2020_CONST_LUM = 7 

1829 SMPTE240M = 8 

1830 

1831 

1832class HsvEncoding(enum.IntEnum): 

1833 _180 = 128 

1834 _256 = 129 

1835 

1836 

1837class Quantization(enum.IntEnum): 

1838 DEFAULT = 0 

1839 FULL_RANGE = 1 

1840 LIM_RANGE = 2 

1841 

1842 

1843class Priority(enum.IntEnum): 

1844 UNSET = 0 

1845 BACKGROUND = 1 

1846 INTERACTIVE = 2 

1847 RECORD = 3 

1848 DEFAULT = 2 

1849 

1850 

1851class Frmsizetypes(enum.IntEnum): 

1852 DISCRETE = 1 

1853 CONTINUOUS = 2 

1854 STEPWISE = 3 

1855 

1856 

1857class Frmivaltypes(enum.IntEnum): 

1858 DISCRETE = 1 

1859 CONTINUOUS = 2 

1860 STEPWISE = 3 

1861 

1862 

1863class CtrlType(enum.IntEnum): 

1864 INTEGER = 1 

1865 BOOLEAN = 2 

1866 MENU = 3 

1867 BUTTON = 4 

1868 INTEGER64 = 5 

1869 CTRL_CLASS = 6 

1870 STRING = 7 

1871 BITMASK = 8 

1872 INTEGER_MENU = 9 

1873 COMPOUND_TYPES = 256 

1874 U8 = 256 

1875 U16 = 257 

1876 U32 = 258 

1877 AREA = 262 

1878 HDR10_CLL_INFO = 272 

1879 HDR10_MASTERING_DISPLAY = 273 

1880 H264_SPS = 512 

1881 H264_PPS = 513 

1882 H264_SCALING_MATRIX = 514 

1883 H264_SLICE_PARAMS = 515 

1884 H264_DECODE_PARAMS = 516 

1885 H264_PRED_WEIGHTS = 517 

1886 FWHT_PARAMS = 544 

1887 VP8_FRAME = 576 

1888 MPEG2_QUANTISATION = 592 

1889 MPEG2_SEQUENCE = 593 

1890 MPEG2_PICTURE = 594 

1891 VP9_COMPRESSED_HDR = 608 

1892 VP9_FRAME = 609 

1893 HEVC_SPS = 624 

1894 HEVC_PPS = 625 

1895 HEVC_SLICE_PARAMS = 626 

1896 HEVC_SCALING_MATRIX = 627 

1897 HEVC_DECODE_PARAMS = 628 

1898 AV1_SEQUENCE = 640 

1899 AV1_TILE_GROUP_ENTRY = 641 

1900 AV1_FRAME = 642 

1901 AV1_FILM_GRAIN = 643 

1902 

1903 

1904class MbusPixelcode(enum.IntEnum): 

1905 FIXED = 1 

1906 RGB444_2X8_PADHI_BE = 4097 

1907 RGB444_2X8_PADHI_LE = 4098 

1908 RGB555_2X8_PADHI_BE = 4099 

1909 RGB555_2X8_PADHI_LE = 4100 

1910 BGR565_2X8_BE = 4101 

1911 BGR565_2X8_LE = 4102 

1912 RGB565_2X8_BE = 4103 

1913 RGB565_2X8_LE = 4104 

1914 RGB666_1X18 = 4105 

1915 RGB888_1X24 = 4106 

1916 RGB888_2X12_BE = 4107 

1917 RGB888_2X12_LE = 4108 

1918 ARGB8888_1X32 = 4109 

1919 Y8_1X8 = 8193 

1920 UV8_1X8 = 8213 

1921 UYVY8_1_5X8 = 8194 

1922 VYUY8_1_5X8 = 8195 

1923 YUYV8_1_5X8 = 8196 

1924 YVYU8_1_5X8 = 8197 

1925 UYVY8_2X8 = 8198 

1926 VYUY8_2X8 = 8199 

1927 YUYV8_2X8 = 8200 

1928 YVYU8_2X8 = 8201 

1929 Y10_1X10 = 8202 

1930 UYVY10_2X10 = 8216 

1931 VYUY10_2X10 = 8217 

1932 YUYV10_2X10 = 8203 

1933 YVYU10_2X10 = 8204 

1934 Y12_1X12 = 8211 

1935 UYVY8_1X16 = 8207 

1936 VYUY8_1X16 = 8208 

1937 YUYV8_1X16 = 8209 

1938 YVYU8_1X16 = 8210 

1939 YDYUYDYV8_1X16 = 8212 

1940 UYVY10_1X20 = 8218 

1941 VYUY10_1X20 = 8219 

1942 YUYV10_1X20 = 8205 

1943 YVYU10_1X20 = 8206 

1944 YUV10_1X30 = 8214 

1945 AYUV8_1X32 = 8215 

1946 UYVY12_2X12 = 8220 

1947 VYUY12_2X12 = 8221 

1948 YUYV12_2X12 = 8222 

1949 YVYU12_2X12 = 8223 

1950 UYVY12_1X24 = 8224 

1951 VYUY12_1X24 = 8225 

1952 YUYV12_1X24 = 8226 

1953 YVYU12_1X24 = 8227 

1954 SBGGR8_1X8 = 12289 

1955 SGBRG8_1X8 = 12307 

1956 SGRBG8_1X8 = 12290 

1957 SRGGB8_1X8 = 12308 

1958 SBGGR10_ALAW8_1X8 = 12309 

1959 SGBRG10_ALAW8_1X8 = 12310 

1960 SGRBG10_ALAW8_1X8 = 12311 

1961 SRGGB10_ALAW8_1X8 = 12312 

1962 SBGGR10_DPCM8_1X8 = 12299 

1963 SGBRG10_DPCM8_1X8 = 12300 

1964 SGRBG10_DPCM8_1X8 = 12297 

1965 SRGGB10_DPCM8_1X8 = 12301 

1966 SBGGR10_2X8_PADHI_BE = 12291 

1967 SBGGR10_2X8_PADHI_LE = 12292 

1968 SBGGR10_2X8_PADLO_BE = 12293 

1969 SBGGR10_2X8_PADLO_LE = 12294 

1970 SBGGR10_1X10 = 12295 

1971 SGBRG10_1X10 = 12302 

1972 SGRBG10_1X10 = 12298 

1973 SRGGB10_1X10 = 12303 

1974 SBGGR12_1X12 = 12296 

1975 SGBRG12_1X12 = 12304 

1976 SGRBG12_1X12 = 12305 

1977 SRGGB12_1X12 = 12306 

1978 JPEG_1X8 = 16385 

1979 S5C_UYVY_JPEG_1X8 = 20481 

1980 AHSV8888_1X32 = 24577 

1981 

1982 

1983class SubdevFormatWhence(enum.IntEnum): 

1984 TRY = 0 

1985 ACTIVE = 1 

1986 

1987 

1988class v4l2_edid(Struct): 

1989 pass 

1990 

1991 

1992v4l2_edid._fields_ = [ 

1993 ("pad", cuint), 

1994 ("start_block", cuint), 

1995 ("blocks", cuint), 

1996 ("reserved", cuint * 5), 

1997 ("edid", POINTER(u8)), 

1998] 

1999 

2000 

2001class v4l2_ctrl_h264_sps(Struct): 

2002 pass 

2003 

2004 

2005v4l2_ctrl_h264_sps._fields_ = [ 

2006 ("profile_idc", u8), 

2007 ("constraint_set_flags", u8), 

2008 ("level_idc", u8), 

2009 ("seq_parameter_set_id", u8), 

2010 ("chroma_format_idc", u8), 

2011 ("bit_depth_luma_minus8", u8), 

2012 ("bit_depth_chroma_minus8", u8), 

2013 ("log2_max_frame_num_minus4", u8), 

2014 ("pic_order_cnt_type", u8), 

2015 ("log2_max_pic_order_cnt_lsb_minus4", u8), 

2016 ("max_num_ref_frames", u8), 

2017 ("num_ref_frames_in_pic_order_cnt_cycle", u8), 

2018 ("offset_for_ref_frame", cint * 255), 

2019 ("offset_for_non_ref_pic", cint), 

2020 ("offset_for_top_to_bottom_field", cint), 

2021 ("pic_width_in_mbs_minus1", u16), 

2022 ("pic_height_in_map_units_minus1", u16), 

2023 ("flags", cuint), 

2024] 

2025 

2026 

2027class v4l2_ctrl_h264_pps(Struct): 

2028 pass 

2029 

2030 

2031v4l2_ctrl_h264_pps._fields_ = [ 

2032 ("pic_parameter_set_id", u8), 

2033 ("seq_parameter_set_id", u8), 

2034 ("num_slice_groups_minus1", u8), 

2035 ("num_ref_idx_l0_default_active_minus1", u8), 

2036 ("num_ref_idx_l1_default_active_minus1", u8), 

2037 ("weighted_bipred_idc", u8), 

2038 ("pic_init_qp_minus26", cchar), 

2039 ("pic_init_qs_minus26", cchar), 

2040 ("chroma_qp_index_offset", cchar), 

2041 ("second_chroma_qp_index_offset", cchar), 

2042 ("flags", u16), 

2043] 

2044 

2045 

2046class v4l2_ctrl_h264_scaling_matrix(Struct): 

2047 _pack_ = True 

2048 _layout_ = "ms" 

2049 

2050 

2051v4l2_ctrl_h264_scaling_matrix._fields_ = [("scaling_list_4x4", cchar * 16 * 6), ("scaling_list_8x8", cchar * 64 * 6)] 

2052 

2053 

2054class v4l2_h264_weight_factors(Struct): 

2055 pass 

2056 

2057 

2058v4l2_h264_weight_factors._fields_ = [ 

2059 ("luma_weight", i16 * 32), 

2060 ("luma_offset", i16 * 32), 

2061 ("chroma_weight", i16 * 2 * 32), 

2062 ("chroma_offset", i16 * 2 * 32), 

2063] 

2064 

2065 

2066class v4l2_ctrl_h264_pred_weights(Struct): 

2067 pass 

2068 

2069 

2070v4l2_ctrl_h264_pred_weights._fields_ = [ 

2071 ("luma_log2_weight_denom", u16), 

2072 ("chroma_log2_weight_denom", u16), 

2073 ("weight_factors", v4l2_h264_weight_factors * 2), 

2074] 

2075 

2076 

2077class v4l2_h264_reference(Struct): 

2078 _pack_ = True 

2079 _layout_ = "ms" 

2080 

2081 

2082v4l2_h264_reference._fields_ = [("fields", u8), ("index", u8)] 

2083 

2084 

2085class v4l2_ctrl_h264_slice_params(Struct): 

2086 pass 

2087 

2088 

2089v4l2_ctrl_h264_slice_params._fields_ = [ 

2090 ("header_bit_size", cuint), 

2091 ("first_mb_in_slice", cuint), 

2092 ("slice_type", u8), 

2093 ("colour_plane_id", u8), 

2094 ("redundant_pic_cnt", u8), 

2095 ("cabac_init_idc", u8), 

2096 ("slice_qp_delta", cchar), 

2097 ("slice_qs_delta", cchar), 

2098 ("disable_deblocking_filter_idc", u8), 

2099 ("slice_alpha_c0_offset_div2", cchar), 

2100 ("slice_beta_offset_div2", cchar), 

2101 ("num_ref_idx_l0_active_minus1", u8), 

2102 ("num_ref_idx_l1_active_minus1", u8), 

2103 ("reserved", u8), 

2104 ("ref_pic_list0", v4l2_h264_reference * 32), 

2105 ("ref_pic_list1", v4l2_h264_reference * 32), 

2106 ("flags", cuint), 

2107] 

2108 

2109 

2110class v4l2_h264_dpb_entry(Struct): 

2111 pass 

2112 

2113 

2114v4l2_h264_dpb_entry._fields_ = [ 

2115 ("reference_ts", culonglong), 

2116 ("pic_num", cuint), 

2117 ("frame_num", u16), 

2118 ("fields", u8), 

2119 ("reserved", cchar * 5), 

2120 ("top_field_order_cnt", cint), 

2121 ("bottom_field_order_cnt", cint), 

2122 ("flags", cuint), 

2123] 

2124 

2125 

2126class v4l2_ctrl_h264_decode_params(Struct): 

2127 pass 

2128 

2129 

2130v4l2_ctrl_h264_decode_params._fields_ = [ 

2131 ("dpb", v4l2_h264_dpb_entry * 16), 

2132 ("nal_ref_idc", u16), 

2133 ("frame_num", u16), 

2134 ("top_field_order_cnt", cint), 

2135 ("bottom_field_order_cnt", cint), 

2136 ("idr_pic_id", u16), 

2137 ("pic_order_cnt_lsb", u16), 

2138 ("delta_pic_order_cnt_bottom", cint), 

2139 ("delta_pic_order_cnt0", cint), 

2140 ("delta_pic_order_cnt1", cint), 

2141 ("dec_ref_pic_marking_bit_size", cuint), 

2142 ("pic_order_cnt_bit_size", cuint), 

2143 ("slice_group_change_cycle", cuint), 

2144 ("reserved", cuint), 

2145 ("flags", cuint), 

2146] 

2147 

2148 

2149class v4l2_ctrl_fwht_params(Struct): 

2150 pass 

2151 

2152 

2153v4l2_ctrl_fwht_params._fields_ = [ 

2154 ("backward_ref_ts", culonglong), 

2155 ("version", cuint), 

2156 ("width", cuint), 

2157 ("height", cuint), 

2158 ("flags", cuint), 

2159 ("colorspace", cuint), 

2160 ("xfer_func", cuint), 

2161 ("ycbcr_enc", cuint), 

2162 ("quantization", cuint), 

2163] 

2164 

2165 

2166class v4l2_vp8_segment(Struct): 

2167 pass 

2168 

2169 

2170v4l2_vp8_segment._fields_ = [ 

2171 ("quant_update", cchar * 4), 

2172 ("lf_update", cchar * 4), 

2173 ("segment_probs", cchar * 3), 

2174 ("padding", u8), 

2175 ("flags", cuint), 

2176] 

2177 

2178 

2179class v4l2_vp8_loop_filter(Struct): 

2180 pass 

2181 

2182 

2183v4l2_vp8_loop_filter._fields_ = [ 

2184 ("ref_frm_delta", cchar * 4), 

2185 ("mb_mode_delta", cchar * 4), 

2186 ("sharpness_level", u8), 

2187 ("level", u8), 

2188 ("padding", u16), 

2189 ("flags", cuint), 

2190] 

2191 

2192 

2193class v4l2_vp8_quantization(Struct): 

2194 pass 

2195 

2196 

2197v4l2_vp8_quantization._fields_ = [ 

2198 ("y_ac_qi", u8), 

2199 ("y_dc_delta", cchar), 

2200 ("y2_dc_delta", cchar), 

2201 ("y2_ac_delta", cchar), 

2202 ("uv_dc_delta", cchar), 

2203 ("uv_ac_delta", cchar), 

2204 ("padding", u16), 

2205] 

2206 

2207 

2208class v4l2_vp8_entropy(Struct): 

2209 _pack_ = True 

2210 _layout_ = "ms" 

2211 

2212 

2213v4l2_vp8_entropy._fields_ = [ 

2214 ("coeff_probs", cchar * 11 * 3 * 8 * 4), 

2215 ("y_mode_probs", cchar * 4), 

2216 ("uv_mode_probs", cchar * 3), 

2217 ("mv_probs", cchar * 19 * 2), 

2218 ("padding", cchar * 3), 

2219] 

2220 

2221 

2222class v4l2_vp8_entropy_coder_state(Struct): 

2223 _pack_ = True 

2224 _layout_ = "ms" 

2225 

2226 

2227v4l2_vp8_entropy_coder_state._fields_ = [("range", u8), ("value", u8), ("bit_count", u8), ("padding", u8)] 

2228 

2229 

2230class v4l2_ctrl_vp8_frame(Struct): 

2231 pass 

2232 

2233 

2234v4l2_ctrl_vp8_frame._fields_ = [ 

2235 ("segment", v4l2_vp8_segment), 

2236 ("lf", v4l2_vp8_loop_filter), 

2237 ("quant", v4l2_vp8_quantization), 

2238 ("entropy", v4l2_vp8_entropy), 

2239 ("coder_state", v4l2_vp8_entropy_coder_state), 

2240 ("width", u16), 

2241 ("height", u16), 

2242 ("horizontal_scale", u8), 

2243 ("vertical_scale", u8), 

2244 ("version", u8), 

2245 ("prob_skip_false", u8), 

2246 ("prob_intra", u8), 

2247 ("prob_last", u8), 

2248 ("prob_gf", u8), 

2249 ("num_dct_parts", u8), 

2250 ("first_part_size", cuint), 

2251 ("first_part_header_bits", cuint), 

2252 ("dct_part_sizes", cuint * 8), 

2253 ("last_frame_ts", culonglong), 

2254 ("golden_frame_ts", culonglong), 

2255 ("alt_frame_ts", culonglong), 

2256 ("flags", culonglong), 

2257] 

2258 

2259 

2260class v4l2_ctrl_mpeg2_sequence(Struct): 

2261 pass 

2262 

2263 

2264v4l2_ctrl_mpeg2_sequence._fields_ = [ 

2265 ("horizontal_size", u16), 

2266 ("vertical_size", u16), 

2267 ("vbv_buffer_size", cuint), 

2268 ("profile_and_level_indication", u16), 

2269 ("chroma_format", u8), 

2270 ("flags", u8), 

2271] 

2272 

2273 

2274class v4l2_ctrl_mpeg2_picture(Struct): 

2275 pass 

2276 

2277 

2278v4l2_ctrl_mpeg2_picture._fields_ = [ 

2279 ("backward_ref_ts", culonglong), 

2280 ("forward_ref_ts", culonglong), 

2281 ("flags", cuint), 

2282 ("f_code", cchar * 2 * 2), 

2283 ("picture_coding_type", u8), 

2284 ("picture_structure", u8), 

2285 ("intra_dc_precision", u8), 

2286 ("reserved", cchar * 5), 

2287] 

2288 

2289 

2290class v4l2_ctrl_mpeg2_quantisation(Struct): 

2291 _pack_ = True 

2292 _layout_ = "ms" 

2293 

2294 

2295v4l2_ctrl_mpeg2_quantisation._fields_ = [ 

2296 ("intra_quantiser_matrix", cchar * 64), 

2297 ("non_intra_quantiser_matrix", cchar * 64), 

2298 ("chroma_intra_quantiser_matrix", cchar * 64), 

2299 ("chroma_non_intra_quantiser_matrix", cchar * 64), 

2300] 

2301 

2302 

2303class v4l2_ctrl_hevc_sps(Struct): 

2304 pass 

2305 

2306 

2307v4l2_ctrl_hevc_sps._fields_ = [ 

2308 ("video_parameter_set_id", u8), 

2309 ("seq_parameter_set_id", u8), 

2310 ("pic_width_in_luma_samples", u16), 

2311 ("pic_height_in_luma_samples", u16), 

2312 ("bit_depth_luma_minus8", u8), 

2313 ("bit_depth_chroma_minus8", u8), 

2314 ("log2_max_pic_order_cnt_lsb_minus4", u8), 

2315 ("sps_max_dec_pic_buffering_minus1", u8), 

2316 ("sps_max_num_reorder_pics", u8), 

2317 ("sps_max_latency_increase_plus1", u8), 

2318 ("log2_min_luma_coding_block_size_minus3", u8), 

2319 ("log2_diff_max_min_luma_coding_block_size", u8), 

2320 ("log2_min_luma_transform_block_size_minus2", u8), 

2321 ("log2_diff_max_min_luma_transform_block_size", u8), 

2322 ("max_transform_hierarchy_depth_inter", u8), 

2323 ("max_transform_hierarchy_depth_intra", u8), 

2324 ("pcm_sample_bit_depth_luma_minus1", u8), 

2325 ("pcm_sample_bit_depth_chroma_minus1", u8), 

2326 ("log2_min_pcm_luma_coding_block_size_minus3", u8), 

2327 ("log2_diff_max_min_pcm_luma_coding_block_size", u8), 

2328 ("num_short_term_ref_pic_sets", u8), 

2329 ("num_long_term_ref_pics_sps", u8), 

2330 ("chroma_format_idc", u8), 

2331 ("sps_max_sub_layers_minus1", u8), 

2332 ("reserved", cchar * 6), 

2333 ("flags", culonglong), 

2334] 

2335 

2336 

2337class v4l2_ctrl_hevc_pps(Struct): 

2338 pass 

2339 

2340 

2341v4l2_ctrl_hevc_pps._fields_ = [ 

2342 ("pic_parameter_set_id", u8), 

2343 ("num_extra_slice_header_bits", u8), 

2344 ("num_ref_idx_l0_default_active_minus1", u8), 

2345 ("num_ref_idx_l1_default_active_minus1", u8), 

2346 ("init_qp_minus26", cchar), 

2347 ("diff_cu_qp_delta_depth", u8), 

2348 ("pps_cb_qp_offset", cchar), 

2349 ("pps_cr_qp_offset", cchar), 

2350 ("num_tile_columns_minus1", u8), 

2351 ("num_tile_rows_minus1", u8), 

2352 ("column_width_minus1", cchar * 20), 

2353 ("row_height_minus1", cchar * 22), 

2354 ("pps_beta_offset_div2", cchar), 

2355 ("pps_tc_offset_div2", cchar), 

2356 ("log2_parallel_merge_level_minus2", u8), 

2357 ("reserved", u8), 

2358 ("flags", culonglong), 

2359] 

2360 

2361 

2362class v4l2_hevc_dpb_entry(Struct): 

2363 pass 

2364 

2365 

2366v4l2_hevc_dpb_entry._fields_ = [ 

2367 ("timestamp", culonglong), 

2368 ("flags", u8), 

2369 ("field_pic", u8), 

2370 ("reserved", u16), 

2371 ("pic_order_cnt_val", cint), 

2372] 

2373 

2374 

2375class v4l2_hevc_pred_weight_table(Struct): 

2376 _pack_ = True 

2377 _layout_ = "ms" 

2378 

2379 

2380v4l2_hevc_pred_weight_table._fields_ = [ 

2381 ("delta_luma_weight_l0", cchar * 16), 

2382 ("luma_offset_l0", cchar * 16), 

2383 ("delta_chroma_weight_l0", cchar * 2 * 16), 

2384 ("chroma_offset_l0", cchar * 2 * 16), 

2385 ("delta_luma_weight_l1", cchar * 16), 

2386 ("luma_offset_l1", cchar * 16), 

2387 ("delta_chroma_weight_l1", cchar * 2 * 16), 

2388 ("chroma_offset_l1", cchar * 2 * 16), 

2389 ("luma_log2_weight_denom", u8), 

2390 ("delta_chroma_log2_weight_denom", cchar), 

2391] 

2392 

2393 

2394class v4l2_ctrl_hevc_slice_params(Struct): 

2395 pass 

2396 

2397 

2398v4l2_ctrl_hevc_slice_params._fields_ = [ 

2399 ("bit_size", cuint), 

2400 ("data_byte_offset", cuint), 

2401 ("num_entry_point_offsets", cuint), 

2402 ("nal_unit_type", u8), 

2403 ("nuh_temporal_id_plus1", u8), 

2404 ("slice_type", u8), 

2405 ("colour_plane_id", u8), 

2406 ("slice_pic_order_cnt", cint), 

2407 ("num_ref_idx_l0_active_minus1", u8), 

2408 ("num_ref_idx_l1_active_minus1", u8), 

2409 ("collocated_ref_idx", u8), 

2410 ("five_minus_max_num_merge_cand", u8), 

2411 ("slice_qp_delta", cchar), 

2412 ("slice_cb_qp_offset", cchar), 

2413 ("slice_cr_qp_offset", cchar), 

2414 ("slice_act_y_qp_offset", cchar), 

2415 ("slice_act_cb_qp_offset", cchar), 

2416 ("slice_act_cr_qp_offset", cchar), 

2417 ("slice_beta_offset_div2", cchar), 

2418 ("slice_tc_offset_div2", cchar), 

2419 ("pic_struct", u8), 

2420 ("reserved0", cchar * 3), 

2421 ("slice_segment_addr", cuint), 

2422 ("ref_idx_l0", cchar * 16), 

2423 ("ref_idx_l1", cchar * 16), 

2424 ("short_term_ref_pic_set_size", u16), 

2425 ("long_term_ref_pic_set_size", u16), 

2426 ("pred_weight_table", v4l2_hevc_pred_weight_table), 

2427 ("reserved1", cchar * 2), 

2428 ("flags", culonglong), 

2429] 

2430 

2431 

2432class v4l2_ctrl_hevc_decode_params(Struct): 

2433 pass 

2434 

2435 

2436v4l2_ctrl_hevc_decode_params._fields_ = [ 

2437 ("pic_order_cnt_val", cint), 

2438 ("short_term_ref_pic_set_size", u16), 

2439 ("long_term_ref_pic_set_size", u16), 

2440 ("num_active_dpb_entries", u8), 

2441 ("num_poc_st_curr_before", u8), 

2442 ("num_poc_st_curr_after", u8), 

2443 ("num_poc_lt_curr", u8), 

2444 ("poc_st_curr_before", cchar * 16), 

2445 ("poc_st_curr_after", cchar * 16), 

2446 ("poc_lt_curr", cchar * 16), 

2447 ("num_delta_pocs_of_ref_rps_idx", u8), 

2448 ("reserved", cchar * 3), 

2449 ("dpb", v4l2_hevc_dpb_entry * 16), 

2450 ("flags", culonglong), 

2451] 

2452 

2453 

2454class v4l2_ctrl_hevc_scaling_matrix(Struct): 

2455 _pack_ = True 

2456 _layout_ = "ms" 

2457 

2458 

2459v4l2_ctrl_hevc_scaling_matrix._fields_ = [ 

2460 ("scaling_list_4x4", cchar * 16 * 6), 

2461 ("scaling_list_8x8", cchar * 64 * 6), 

2462 ("scaling_list_16x16", cchar * 64 * 6), 

2463 ("scaling_list_32x32", cchar * 64 * 2), 

2464 ("scaling_list_dc_coef_16x16", cchar * 6), 

2465 ("scaling_list_dc_coef_32x32", cchar * 2), 

2466] 

2467 

2468 

2469class v4l2_ctrl_hdr10_cll_info(Struct): 

2470 pass 

2471 

2472 

2473v4l2_ctrl_hdr10_cll_info._fields_ = [("max_content_light_level", u16), ("max_pic_average_light_level", u16)] 

2474 

2475 

2476class v4l2_ctrl_hdr10_mastering_display(Struct): 

2477 pass 

2478 

2479 

2480v4l2_ctrl_hdr10_mastering_display._fields_ = [ 

2481 ("display_primaries_x", u16 * 3), 

2482 ("display_primaries_y", u16 * 3), 

2483 ("white_point_x", u16), 

2484 ("white_point_y", u16), 

2485 ("max_display_mastering_luminance", cuint), 

2486 ("min_display_mastering_luminance", cuint), 

2487] 

2488 

2489 

2490class v4l2_vp9_loop_filter(Struct): 

2491 _pack_ = True 

2492 _layout_ = "ms" 

2493 

2494 

2495v4l2_vp9_loop_filter._fields_ = [ 

2496 ("ref_deltas", cchar * 4), 

2497 ("mode_deltas", cchar * 2), 

2498 ("level", u8), 

2499 ("sharpness", u8), 

2500 ("flags", u8), 

2501 ("reserved", cchar * 7), 

2502] 

2503 

2504 

2505class v4l2_vp9_quantization(Struct): 

2506 _pack_ = True 

2507 _layout_ = "ms" 

2508 

2509 

2510v4l2_vp9_quantization._fields_ = [ 

2511 ("base_q_idx", u8), 

2512 ("delta_q_y_dc", cchar), 

2513 ("delta_q_uv_dc", cchar), 

2514 ("delta_q_uv_ac", cchar), 

2515 ("reserved", cchar * 4), 

2516] 

2517 

2518 

2519class v4l2_vp9_segmentation(Struct): 

2520 pass 

2521 

2522 

2523v4l2_vp9_segmentation._fields_ = [ 

2524 ("feature_data", i16 * 4 * 8), 

2525 ("feature_enabled", cchar * 8), 

2526 ("tree_probs", cchar * 7), 

2527 ("pred_probs", cchar * 3), 

2528 ("flags", u8), 

2529 ("reserved", cchar * 5), 

2530] 

2531 

2532 

2533class v4l2_ctrl_vp9_frame(Struct): 

2534 pass 

2535 

2536 

2537v4l2_ctrl_vp9_frame._fields_ = [ 

2538 ("lf", v4l2_vp9_loop_filter), 

2539 ("quant", v4l2_vp9_quantization), 

2540 ("seg", v4l2_vp9_segmentation), 

2541 ("flags", cuint), 

2542 ("compressed_header_size", u16), 

2543 ("uncompressed_header_size", u16), 

2544 ("frame_width_minus_1", u16), 

2545 ("frame_height_minus_1", u16), 

2546 ("render_width_minus_1", u16), 

2547 ("render_height_minus_1", u16), 

2548 ("last_frame_ts", culonglong), 

2549 ("golden_frame_ts", culonglong), 

2550 ("alt_frame_ts", culonglong), 

2551 ("ref_frame_sign_bias", u8), 

2552 ("reset_frame_context", u8), 

2553 ("frame_context_idx", u8), 

2554 ("profile", u8), 

2555 ("bit_depth", u8), 

2556 ("interpolation_filter", u8), 

2557 ("tile_cols_log2", u8), 

2558 ("tile_rows_log2", u8), 

2559 ("reference_mode", u8), 

2560 ("reserved", cchar * 7), 

2561] 

2562 

2563 

2564class v4l2_vp9_mv_probs(Struct): 

2565 _pack_ = True 

2566 _layout_ = "ms" 

2567 

2568 

2569v4l2_vp9_mv_probs._fields_ = [ 

2570 ("joint", cchar * 3), 

2571 ("sign", cchar * 2), 

2572 ("classes", cchar * 10 * 2), 

2573 ("class0_bit", cchar * 2), 

2574 ("bits", cchar * 10 * 2), 

2575 ("class0_fr", cchar * 3 * 2 * 2), 

2576 ("fr", cchar * 3 * 2), 

2577 ("class0_hp", cchar * 2), 

2578 ("hp", cchar * 2), 

2579] 

2580 

2581 

2582class v4l2_ctrl_vp9_compressed_hdr(Struct): 

2583 _pack_ = True 

2584 _layout_ = "ms" 

2585 

2586 

2587v4l2_ctrl_vp9_compressed_hdr._fields_ = [ 

2588 ("tx_mode", u8), 

2589 ("tx8", cchar * 1 * 2), 

2590 ("tx16", cchar * 2 * 2), 

2591 ("tx32", cchar * 3 * 2), 

2592 ("coef", cchar * 3 * 6 * 6 * 2 * 2 * 4), 

2593 ("skip", cchar * 3), 

2594 ("inter_mode", cchar * 3 * 7), 

2595 ("interp_filter", cchar * 2 * 4), 

2596 ("is_inter", cchar * 4), 

2597 ("comp_mode", cchar * 5), 

2598 ("single_ref", cchar * 2 * 5), 

2599 ("comp_ref", cchar * 5), 

2600 ("y_mode", cchar * 9 * 4), 

2601 ("uv_mode", cchar * 9 * 10), 

2602 ("partition", cchar * 3 * 16), 

2603 ("mv", v4l2_vp9_mv_probs), 

2604] 

2605 

2606 

2607class v4l2_ctrl_av1_sequence(Struct): 

2608 pass 

2609 

2610 

2611v4l2_ctrl_av1_sequence._fields_ = [ 

2612 ("flags", cuint), 

2613 ("seq_profile", u8), 

2614 ("order_hint_bits", u8), 

2615 ("bit_depth", u8), 

2616 ("reserved", u8), 

2617 ("max_frame_width_minus_1", u16), 

2618 ("max_frame_height_minus_1", u16), 

2619] 

2620 

2621 

2622class v4l2_ctrl_av1_tile_group_entry(Struct): 

2623 pass 

2624 

2625 

2626v4l2_ctrl_av1_tile_group_entry._fields_ = [ 

2627 ("tile_offset", cuint), 

2628 ("tile_size", cuint), 

2629 ("tile_row", cuint), 

2630 ("tile_col", cuint), 

2631] 

2632 

2633 

2634class v4l2_av1_global_motion(Struct): 

2635 pass 

2636 

2637 

2638v4l2_av1_global_motion._fields_ = [ 

2639 ("flags", cchar * 8), 

2640 ("type", cuint * 8), 

2641 ("params", cint * 6 * 8), 

2642 ("invalid", u8), 

2643 ("reserved", cchar * 3), 

2644] 

2645 

2646 

2647class v4l2_av1_loop_restoration(Struct): 

2648 pass 

2649 

2650 

2651v4l2_av1_loop_restoration._fields_ = [ 

2652 ("flags", u8), 

2653 ("lr_unit_shift", u8), 

2654 ("lr_uv_shift", u8), 

2655 ("reserved", u8), 

2656 ("frame_restoration_type", cuint * 3), 

2657 ("loop_restoration_size", cuint * 3), 

2658] 

2659 

2660 

2661class v4l2_av1_cdef(Struct): 

2662 _pack_ = True 

2663 _layout_ = "ms" 

2664 

2665 

2666v4l2_av1_cdef._fields_ = [ 

2667 ("damping_minus_3", u8), 

2668 ("bits", u8), 

2669 ("y_pri_strength", cchar * 8), 

2670 ("y_sec_strength", cchar * 8), 

2671 ("uv_pri_strength", cchar * 8), 

2672 ("uv_sec_strength", cchar * 8), 

2673] 

2674 

2675 

2676class v4l2_av1_segmentation(Struct): 

2677 pass 

2678 

2679 

2680v4l2_av1_segmentation._fields_ = [ 

2681 ("flags", u8), 

2682 ("last_active_seg_id", u8), 

2683 ("feature_enabled", cchar * 8), 

2684 ("feature_data", i16 * 8 * 8), 

2685] 

2686 

2687 

2688class v4l2_av1_loop_filter(Struct): 

2689 _pack_ = True 

2690 _layout_ = "ms" 

2691 

2692 

2693v4l2_av1_loop_filter._fields_ = [ 

2694 ("flags", u8), 

2695 ("level", cchar * 4), 

2696 ("sharpness", u8), 

2697 ("ref_deltas", cchar * 8), 

2698 ("mode_deltas", cchar * 2), 

2699 ("delta_lf_res", u8), 

2700] 

2701 

2702 

2703class v4l2_av1_quantization(Struct): 

2704 _pack_ = True 

2705 _layout_ = "ms" 

2706 

2707 

2708v4l2_av1_quantization._fields_ = [ 

2709 ("flags", u8), 

2710 ("base_q_idx", u8), 

2711 ("delta_q_y_dc", cchar), 

2712 ("delta_q_u_dc", cchar), 

2713 ("delta_q_u_ac", cchar), 

2714 ("delta_q_v_dc", cchar), 

2715 ("delta_q_v_ac", cchar), 

2716 ("qm_y", u8), 

2717 ("qm_u", u8), 

2718 ("qm_v", u8), 

2719 ("delta_q_res", u8), 

2720] 

2721 

2722 

2723class v4l2_av1_tile_info(Struct): 

2724 pass 

2725 

2726 

2727v4l2_av1_tile_info._fields_ = [ 

2728 ("flags", u8), 

2729 ("context_update_tile_id", u8), 

2730 ("tile_cols", u8), 

2731 ("tile_rows", u8), 

2732 ("mi_col_starts", cuint * 65), 

2733 ("mi_row_starts", cuint * 65), 

2734 ("width_in_sbs_minus_1", cuint * 64), 

2735 ("height_in_sbs_minus_1", cuint * 64), 

2736 ("tile_size_bytes", u8), 

2737 ("reserved", cchar * 3), 

2738] 

2739 

2740 

2741class v4l2_ctrl_av1_frame(Struct): 

2742 pass 

2743 

2744 

2745v4l2_ctrl_av1_frame._fields_ = [ 

2746 ("tile_info", v4l2_av1_tile_info), 

2747 ("quantization", v4l2_av1_quantization), 

2748 ("superres_denom", u8), 

2749 ("segmentation", v4l2_av1_segmentation), 

2750 ("loop_filter", v4l2_av1_loop_filter), 

2751 ("cdef", v4l2_av1_cdef), 

2752 ("skip_mode_frame", cchar * 2), 

2753 ("primary_ref_frame", u8), 

2754 ("loop_restoration", v4l2_av1_loop_restoration), 

2755 ("global_motion", v4l2_av1_global_motion), 

2756 ("flags", cuint), 

2757 ("frame_type", cuint), 

2758 ("order_hint", cuint), 

2759 ("upscaled_width", cuint), 

2760 ("interpolation_filter", cuint), 

2761 ("tx_mode", cuint), 

2762 ("frame_width_minus_1", cuint), 

2763 ("frame_height_minus_1", cuint), 

2764 ("render_width_minus_1", u16), 

2765 ("render_height_minus_1", u16), 

2766 ("current_frame_id", cuint), 

2767 ("buffer_removal_time", cuint * 32), 

2768 ("reserved", cchar * 4), 

2769 ("order_hints", cuint * 8), 

2770 ("reference_frame_ts", culonglong * 8), 

2771 ("ref_frame_idx", cchar * 7), 

2772 ("refresh_frame_flags", u8), 

2773] 

2774 

2775 

2776class v4l2_ctrl_av1_film_grain(Struct): 

2777 pass 

2778 

2779 

2780v4l2_ctrl_av1_film_grain._fields_ = [ 

2781 ("flags", u8), 

2782 ("cr_mult", u8), 

2783 ("grain_seed", u16), 

2784 ("film_grain_params_ref_idx", u8), 

2785 ("num_y_points", u8), 

2786 ("point_y_value", cchar * 16), 

2787 ("point_y_scaling", cchar * 16), 

2788 ("num_cb_points", u8), 

2789 ("point_cb_value", cchar * 16), 

2790 ("point_cb_scaling", cchar * 16), 

2791 ("num_cr_points", u8), 

2792 ("point_cr_value", cchar * 16), 

2793 ("point_cr_scaling", cchar * 16), 

2794 ("grain_scaling_minus_8", u8), 

2795 ("ar_coeff_lag", u8), 

2796 ("ar_coeffs_y_plus_128", cchar * 25), 

2797 ("ar_coeffs_cb_plus_128", cchar * 25), 

2798 ("ar_coeffs_cr_plus_128", cchar * 25), 

2799 ("ar_coeff_shift_minus_6", u8), 

2800 ("grain_scale_shift", u8), 

2801 ("cb_mult", u8), 

2802 ("cb_luma_mult", u8), 

2803 ("cr_luma_mult", u8), 

2804 ("cb_offset", u16), 

2805 ("cr_offset", u16), 

2806 ("reserved", cchar * 4), 

2807] 

2808 

2809 

2810class v4l2_rect(Struct): 

2811 pass 

2812 

2813 

2814v4l2_rect._fields_ = [("left", cint), ("top", cint), ("width", cuint), ("height", cuint)] 

2815 

2816 

2817class v4l2_fract(Struct): 

2818 pass 

2819 

2820 

2821v4l2_fract._fields_ = [("numerator", cuint), ("denominator", cuint)] 

2822 

2823 

2824class v4l2_area(Struct): 

2825 pass 

2826 

2827 

2828v4l2_area._fields_ = [("width", cuint), ("height", cuint)] 

2829 

2830 

2831class v4l2_capability(Struct): 

2832 pass 

2833 

2834 

2835v4l2_capability._fields_ = [ 

2836 ("driver", cchar * 16), 

2837 ("card", cchar * 32), 

2838 ("bus_info", cchar * 32), 

2839 ("version", cuint), 

2840 ("capabilities", cuint), 

2841 ("device_caps", cuint), 

2842 ("reserved", cuint * 3), 

2843] 

2844 

2845 

2846class v4l2_pix_format(Struct): 

2847 class M1(Union): 

2848 pass 

2849 

2850 M1._fields_ = [("ycbcr_enc", cuint), ("hsv_enc", cuint)] 

2851 

2852 _anonymous_ = ("m1",) 

2853 

2854 

2855v4l2_pix_format._fields_ = [ 

2856 ("width", cuint), 

2857 ("height", cuint), 

2858 ("pixelformat", cuint), 

2859 ("field", cuint), 

2860 ("bytesperline", cuint), 

2861 ("sizeimage", cuint), 

2862 ("colorspace", cuint), 

2863 ("priv", cuint), 

2864 ("flags", cuint), 

2865 ("m1", v4l2_pix_format.M1), 

2866 ("quantization", cuint), 

2867 ("xfer_func", cuint), 

2868] 

2869 

2870 

2871class v4l2_fmtdesc(Struct): 

2872 pass 

2873 

2874 

2875v4l2_fmtdesc._fields_ = [ 

2876 ("index", cuint), 

2877 ("type", cuint), 

2878 ("flags", cuint), 

2879 ("description", cchar * 32), 

2880 ("pixelformat", cuint), 

2881 ("mbus_code", cuint), 

2882 ("reserved", cuint * 3), 

2883] 

2884 

2885 

2886class v4l2_frmsize_discrete(Struct): 

2887 pass 

2888 

2889 

2890v4l2_frmsize_discrete._fields_ = [("width", cuint), ("height", cuint)] 

2891 

2892 

2893class v4l2_frmsize_stepwise(Struct): 

2894 pass 

2895 

2896 

2897v4l2_frmsize_stepwise._fields_ = [ 

2898 ("min_width", cuint), 

2899 ("max_width", cuint), 

2900 ("step_width", cuint), 

2901 ("min_height", cuint), 

2902 ("max_height", cuint), 

2903 ("step_height", cuint), 

2904] 

2905 

2906 

2907class v4l2_frmsizeenum(Struct): 

2908 class M1(Union): 

2909 pass 

2910 

2911 M1._fields_ = [("discrete", v4l2_frmsize_discrete), ("stepwise", v4l2_frmsize_stepwise)] 

2912 

2913 _anonymous_ = ("m1",) 

2914 

2915 

2916v4l2_frmsizeenum._fields_ = [ 

2917 ("index", cuint), 

2918 ("pixel_format", cuint), 

2919 ("type", cuint), 

2920 ("m1", v4l2_frmsizeenum.M1), 

2921 ("reserved", cuint * 2), 

2922] 

2923 

2924 

2925class v4l2_frmival_stepwise(Struct): 

2926 pass 

2927 

2928 

2929v4l2_frmival_stepwise._fields_ = [("min", v4l2_fract), ("max", v4l2_fract), ("step", v4l2_fract)] 

2930 

2931 

2932class v4l2_frmivalenum(Struct): 

2933 class M1(Union): 

2934 pass 

2935 

2936 M1._fields_ = [("discrete", v4l2_fract), ("stepwise", v4l2_frmival_stepwise)] 

2937 

2938 _anonymous_ = ("m1",) 

2939 

2940 

2941v4l2_frmivalenum._fields_ = [ 

2942 ("index", cuint), 

2943 ("pixel_format", cuint), 

2944 ("width", cuint), 

2945 ("height", cuint), 

2946 ("type", cuint), 

2947 ("m1", v4l2_frmivalenum.M1), 

2948 ("reserved", cuint * 2), 

2949] 

2950 

2951 

2952class v4l2_timecode(Struct): 

2953 pass 

2954 

2955 

2956v4l2_timecode._fields_ = [ 

2957 ("type", cuint), 

2958 ("flags", cuint), 

2959 ("frames", u8), 

2960 ("seconds", u8), 

2961 ("minutes", u8), 

2962 ("hours", u8), 

2963 ("userbits", cchar * 4), 

2964] 

2965 

2966 

2967class v4l2_jpegcompression(Struct): 

2968 pass 

2969 

2970 

2971v4l2_jpegcompression._fields_ = [ 

2972 ("quality", cint), 

2973 ("APPn", cint), 

2974 ("APP_len", cint), 

2975 ("APP_data", cchar * 60), 

2976 ("COM_len", cint), 

2977 ("COM_data", cchar * 60), 

2978 ("jpeg_markers", cuint), 

2979] 

2980 

2981 

2982class v4l2_requestbuffers(Struct): 

2983 pass 

2984 

2985 

2986v4l2_requestbuffers._fields_ = [ 

2987 ("count", cuint), 

2988 ("type", cuint), 

2989 ("memory", cuint), 

2990 ("capabilities", cuint), 

2991 ("flags", u8), 

2992 ("reserved", cchar * 3), 

2993] 

2994 

2995 

2996class v4l2_plane(Struct): 

2997 class M1(Union): 

2998 pass 

2999 

3000 M1._fields_ = [("mem_offset", cuint), ("userptr", culong), ("fd", cint)] 

3001 

3002 

3003v4l2_plane._fields_ = [ 

3004 ("bytesused", cuint), 

3005 ("length", cuint), 

3006 ("m", v4l2_plane.M1), 

3007 ("data_offset", cuint), 

3008 ("reserved", cuint * 11), 

3009] 

3010 

3011 

3012class v4l2_buffer(Struct): 

3013 class M1(Union): 

3014 pass 

3015 

3016 M1._fields_ = [("offset", cuint), ("userptr", culong), ("planes", POINTER(v4l2_plane)), ("fd", cint)] 

3017 

3018 class M2(Union): 

3019 pass 

3020 

3021 M2._fields_ = [("request_fd", cint), ("reserved", cuint)] 

3022 

3023 _anonymous_ = ("m2",) 

3024 

3025 

3026v4l2_buffer._fields_ = [ 

3027 ("index", cuint), 

3028 ("type", cuint), 

3029 ("bytesused", cuint), 

3030 ("flags", cuint), 

3031 ("field", cuint), 

3032 ("timestamp", timeval), 

3033 ("timecode", v4l2_timecode), 

3034 ("sequence", cuint), 

3035 ("memory", cuint), 

3036 ("m", v4l2_buffer.M1), 

3037 ("length", cuint), 

3038 ("reserved2", cuint), 

3039 ("m2", v4l2_buffer.M2), 

3040] 

3041 

3042 

3043class v4l2_exportbuffer(Struct): 

3044 pass 

3045 

3046 

3047v4l2_exportbuffer._fields_ = [ 

3048 ("type", cuint), 

3049 ("index", cuint), 

3050 ("plane", cuint), 

3051 ("flags", cuint), 

3052 ("fd", cint), 

3053 ("reserved", cuint * 11), 

3054] 

3055 

3056 

3057class v4l2_framebuffer(Struct): 

3058 class M1(Struct): 

3059 pass 

3060 

3061 M1._fields_ = [ 

3062 ("width", cuint), 

3063 ("height", cuint), 

3064 ("pixelformat", cuint), 

3065 ("field", cuint), 

3066 ("bytesperline", cuint), 

3067 ("sizeimage", cuint), 

3068 ("colorspace", cuint), 

3069 ("priv", cuint), 

3070 ] 

3071 

3072 

3073v4l2_framebuffer._fields_ = [ 

3074 ("capability", cuint), 

3075 ("flags", cuint), 

3076 ("base", POINTER(None)), 

3077 ("fmt", v4l2_framebuffer.M1), 

3078] 

3079 

3080 

3081class v4l2_clip(Struct): 

3082 pass 

3083 

3084 

3085v4l2_clip._fields_ = [("c", v4l2_rect), ("next", POINTER(v4l2_clip))] 

3086 

3087 

3088class v4l2_window(Struct): 

3089 pass 

3090 

3091 

3092v4l2_window._fields_ = [ 

3093 ("w", v4l2_rect), 

3094 ("field", cuint), 

3095 ("chromakey", cuint), 

3096 ("clips", POINTER(v4l2_clip)), 

3097 ("clipcount", cuint), 

3098 ("bitmap", POINTER(None)), 

3099 ("global_alpha", u8), 

3100] 

3101 

3102 

3103class v4l2_captureparm(Struct): 

3104 pass 

3105 

3106 

3107v4l2_captureparm._fields_ = [ 

3108 ("capability", cuint), 

3109 ("capturemode", cuint), 

3110 ("timeperframe", v4l2_fract), 

3111 ("extendedmode", cuint), 

3112 ("readbuffers", cuint), 

3113 ("reserved", cuint * 4), 

3114] 

3115 

3116 

3117class v4l2_outputparm(Struct): 

3118 pass 

3119 

3120 

3121v4l2_outputparm._fields_ = [ 

3122 ("capability", cuint), 

3123 ("outputmode", cuint), 

3124 ("timeperframe", v4l2_fract), 

3125 ("extendedmode", cuint), 

3126 ("writebuffers", cuint), 

3127 ("reserved", cuint * 4), 

3128] 

3129 

3130 

3131class v4l2_cropcap(Struct): 

3132 pass 

3133 

3134 

3135v4l2_cropcap._fields_ = [("type", cuint), ("bounds", v4l2_rect), ("defrect", v4l2_rect), ("pixelaspect", v4l2_fract)] 

3136 

3137 

3138class v4l2_crop(Struct): 

3139 pass 

3140 

3141 

3142v4l2_crop._fields_ = [("type", cuint), ("c", v4l2_rect)] 

3143 

3144 

3145class v4l2_selection(Struct): 

3146 pass 

3147 

3148 

3149v4l2_selection._fields_ = [ 

3150 ("type", cuint), 

3151 ("target", cuint), 

3152 ("flags", cuint), 

3153 ("r", v4l2_rect), 

3154 ("reserved", cuint * 9), 

3155] 

3156 

3157 

3158class v4l2_standard(Struct): 

3159 pass 

3160 

3161 

3162v4l2_standard._fields_ = [ 

3163 ("index", cuint), 

3164 ("id", culonglong), 

3165 ("name", cchar * 24), 

3166 ("frameperiod", v4l2_fract), 

3167 ("framelines", cuint), 

3168 ("reserved", cuint * 4), 

3169] 

3170 

3171 

3172class v4l2_bt_timings(Struct): 

3173 _pack_ = True 

3174 _layout_ = "ms" 

3175 

3176 

3177v4l2_bt_timings._fields_ = [ 

3178 ("width", cuint), 

3179 ("height", cuint), 

3180 ("interlaced", cuint), 

3181 ("polarities", cuint), 

3182 ("pixelclock", culonglong), 

3183 ("hfrontporch", cuint), 

3184 ("hsync", cuint), 

3185 ("hbackporch", cuint), 

3186 ("vfrontporch", cuint), 

3187 ("vsync", cuint), 

3188 ("vbackporch", cuint), 

3189 ("il_vfrontporch", cuint), 

3190 ("il_vsync", cuint), 

3191 ("il_vbackporch", cuint), 

3192 ("standards", cuint), 

3193 ("flags", cuint), 

3194 ("picture_aspect", v4l2_fract), 

3195 ("cea861_vic", u8), 

3196 ("hdmi_vic", u8), 

3197 ("reserved", cchar * 46), 

3198] 

3199 

3200 

3201class v4l2_dv_timings(Struct): 

3202 _pack_ = True 

3203 _layout_ = "ms" 

3204 

3205 class M1(Union): 

3206 pass 

3207 

3208 M1._fields_ = [("bt", v4l2_bt_timings), ("reserved", cuint * 32)] 

3209 

3210 _anonymous_ = ("m1",) 

3211 

3212 

3213v4l2_dv_timings._fields_ = [("type", cuint), ("m1", v4l2_dv_timings.M1)] 

3214 

3215 

3216class v4l2_enum_dv_timings(Struct): 

3217 pass 

3218 

3219 

3220v4l2_enum_dv_timings._fields_ = [ 

3221 ("index", cuint), 

3222 ("pad", cuint), 

3223 ("reserved", cuint * 2), 

3224 ("timings", v4l2_dv_timings), 

3225] 

3226 

3227 

3228class v4l2_bt_timings_cap(Struct): 

3229 _pack_ = True 

3230 _layout_ = "ms" 

3231 

3232 

3233v4l2_bt_timings_cap._fields_ = [ 

3234 ("min_width", cuint), 

3235 ("max_width", cuint), 

3236 ("min_height", cuint), 

3237 ("max_height", cuint), 

3238 ("min_pixelclock", culonglong), 

3239 ("max_pixelclock", culonglong), 

3240 ("standards", cuint), 

3241 ("capabilities", cuint), 

3242 ("reserved", cuint * 16), 

3243] 

3244 

3245 

3246class v4l2_dv_timings_cap(Struct): 

3247 class M1(Union): 

3248 pass 

3249 

3250 M1._fields_ = [("bt", v4l2_bt_timings_cap), ("raw_data", cuint * 32)] 

3251 

3252 _anonymous_ = ("m1",) 

3253 

3254 

3255v4l2_dv_timings_cap._fields_ = [ 

3256 ("type", cuint), 

3257 ("pad", cuint), 

3258 ("reserved", cuint * 2), 

3259 ("m1", v4l2_dv_timings_cap.M1), 

3260] 

3261 

3262 

3263class v4l2_input(Struct): 

3264 pass 

3265 

3266 

3267v4l2_input._fields_ = [ 

3268 ("index", cuint), 

3269 ("name", cchar * 32), 

3270 ("type", cuint), 

3271 ("audioset", cuint), 

3272 ("tuner", cuint), 

3273 ("std", culonglong), 

3274 ("status", cuint), 

3275 ("capabilities", cuint), 

3276 ("reserved", cuint * 3), 

3277] 

3278 

3279 

3280class v4l2_output(Struct): 

3281 pass 

3282 

3283 

3284v4l2_output._fields_ = [ 

3285 ("index", cuint), 

3286 ("name", cchar * 32), 

3287 ("type", cuint), 

3288 ("audioset", cuint), 

3289 ("modulator", cuint), 

3290 ("std", culonglong), 

3291 ("capabilities", cuint), 

3292 ("reserved", cuint * 3), 

3293] 

3294 

3295 

3296class v4l2_control(Struct): 

3297 pass 

3298 

3299 

3300v4l2_control._fields_ = [("id", cuint), ("value", cint)] 

3301 

3302 

3303class v4l2_ext_control(Struct): 

3304 _pack_ = True 

3305 _layout_ = "ms" 

3306 

3307 class M1(Union): 

3308 _pack_ = True 

3309 _layout_ = "ms" 

3310 

3311 M1._fields_ = [ 

3312 ("value", cint), 

3313 ("value64", clonglong), 

3314 ("string", POINTER(cchar)), 

3315 ("p_u8", POINTER(u8)), 

3316 ("p_u16", POINTER(u16)), 

3317 ("p_u32", POINTER(cuint)), 

3318 ("p_s32", POINTER(cint)), 

3319 ("p_s64", POINTER(clonglong)), 

3320 ("p_area", POINTER(v4l2_area)), 

3321 ("p_h264_sps", POINTER(v4l2_ctrl_h264_sps)), 

3322 ("p_h264_pps", POINTER(v4l2_ctrl_h264_pps)), 

3323 ("p_h264_scaling_matrix", POINTER(v4l2_ctrl_h264_scaling_matrix)), 

3324 ("p_h264_pred_weights", POINTER(v4l2_ctrl_h264_pred_weights)), 

3325 ("p_h264_slice_params", POINTER(v4l2_ctrl_h264_slice_params)), 

3326 ("p_h264_decode_params", POINTER(v4l2_ctrl_h264_decode_params)), 

3327 ("p_fwht_params", POINTER(v4l2_ctrl_fwht_params)), 

3328 ("p_vp8_frame", POINTER(v4l2_ctrl_vp8_frame)), 

3329 ("p_mpeg2_sequence", POINTER(v4l2_ctrl_mpeg2_sequence)), 

3330 ("p_mpeg2_picture", POINTER(v4l2_ctrl_mpeg2_picture)), 

3331 ("p_mpeg2_quantisation", POINTER(v4l2_ctrl_mpeg2_quantisation)), 

3332 ("p_vp9_compressed_hdr_probs", POINTER(v4l2_ctrl_vp9_compressed_hdr)), 

3333 ("p_vp9_frame", POINTER(v4l2_ctrl_vp9_frame)), 

3334 ("p_hevc_sps", POINTER(v4l2_ctrl_hevc_sps)), 

3335 ("p_hevc_pps", POINTER(v4l2_ctrl_hevc_pps)), 

3336 ("p_hevc_slice_params", POINTER(v4l2_ctrl_hevc_slice_params)), 

3337 ("p_hevc_scaling_matrix", POINTER(v4l2_ctrl_hevc_scaling_matrix)), 

3338 ("p_hevc_decode_params", POINTER(v4l2_ctrl_hevc_decode_params)), 

3339 ("p_av1_sequence", POINTER(v4l2_ctrl_av1_sequence)), 

3340 ("p_av1_tile_group_entry", POINTER(v4l2_ctrl_av1_tile_group_entry)), 

3341 ("p_av1_frame", POINTER(v4l2_ctrl_av1_frame)), 

3342 ("p_av1_film_grain", POINTER(v4l2_ctrl_av1_film_grain)), 

3343 ("p_hdr10_cll_info", POINTER(v4l2_ctrl_hdr10_cll_info)), 

3344 ("p_hdr10_mastering_display", POINTER(v4l2_ctrl_hdr10_mastering_display)), 

3345 ("ptr", POINTER(None)), 

3346 ] 

3347 

3348 _anonymous_ = ("m1",) 

3349 

3350 

3351v4l2_ext_control._fields_ = [("id", cuint), ("size", cuint), ("reserved2", cuint * 1), ("m1", v4l2_ext_control.M1)] 

3352 

3353 

3354class v4l2_ext_controls(Struct): 

3355 class M1(Union): 

3356 pass 

3357 

3358 M1._fields_ = [("ctrl_class", cuint), ("which", cuint)] 

3359 

3360 _anonymous_ = ("m1",) 

3361 

3362 

3363v4l2_ext_controls._fields_ = [ 

3364 ("m1", v4l2_ext_controls.M1), 

3365 ("count", cuint), 

3366 ("error_idx", cuint), 

3367 ("request_fd", cint), 

3368 ("reserved", cuint * 1), 

3369 ("controls", POINTER(v4l2_ext_control)), 

3370] 

3371 

3372 

3373class v4l2_queryctrl(Struct): 

3374 pass 

3375 

3376 

3377v4l2_queryctrl._fields_ = [ 

3378 ("id", cuint), 

3379 ("type", cuint), 

3380 ("name", cchar * 32), 

3381 ("minimum", cint), 

3382 ("maximum", cint), 

3383 ("step", cint), 

3384 ("default_value", cint), 

3385 ("flags", cuint), 

3386 ("reserved", cuint * 2), 

3387] 

3388 

3389 

3390class v4l2_query_ext_ctrl(Struct): 

3391 pass 

3392 

3393 

3394v4l2_query_ext_ctrl._fields_ = [ 

3395 ("id", cuint), 

3396 ("type", cuint), 

3397 ("name", cchar * 32), 

3398 ("minimum", clonglong), 

3399 ("maximum", clonglong), 

3400 ("step", culonglong), 

3401 ("default_value", clonglong), 

3402 ("flags", cuint), 

3403 ("elem_size", cuint), 

3404 ("elems", cuint), 

3405 ("nr_of_dims", cuint), 

3406 ("dims", cuint * 4), 

3407 ("reserved", cuint * 32), 

3408] 

3409 

3410 

3411class v4l2_querymenu(Struct): 

3412 _pack_ = True 

3413 _layout_ = "ms" 

3414 

3415 class M1(Union): 

3416 pass 

3417 

3418 M1._fields_ = [("name", cchar * 32), ("value", clonglong)] 

3419 

3420 _anonymous_ = ("m1",) 

3421 

3422 

3423v4l2_querymenu._fields_ = [("id", cuint), ("index", cuint), ("m1", v4l2_querymenu.M1), ("reserved", cuint)] 

3424 

3425 

3426class v4l2_tuner(Struct): 

3427 pass 

3428 

3429 

3430v4l2_tuner._fields_ = [ 

3431 ("index", cuint), 

3432 ("name", cchar * 32), 

3433 ("type", cuint), 

3434 ("capability", cuint), 

3435 ("rangelow", cuint), 

3436 ("rangehigh", cuint), 

3437 ("rxsubchans", cuint), 

3438 ("audmode", cuint), 

3439 ("signal", cint), 

3440 ("afc", cint), 

3441 ("reserved", cuint * 4), 

3442] 

3443 

3444 

3445class v4l2_modulator(Struct): 

3446 pass 

3447 

3448 

3449v4l2_modulator._fields_ = [ 

3450 ("index", cuint), 

3451 ("name", cchar * 32), 

3452 ("capability", cuint), 

3453 ("rangelow", cuint), 

3454 ("rangehigh", cuint), 

3455 ("txsubchans", cuint), 

3456 ("type", cuint), 

3457 ("reserved", cuint * 3), 

3458] 

3459 

3460 

3461class v4l2_frequency(Struct): 

3462 pass 

3463 

3464 

3465v4l2_frequency._fields_ = [("tuner", cuint), ("type", cuint), ("frequency", cuint), ("reserved", cuint * 8)] 

3466 

3467 

3468class v4l2_frequency_band(Struct): 

3469 pass 

3470 

3471 

3472v4l2_frequency_band._fields_ = [ 

3473 ("tuner", cuint), 

3474 ("type", cuint), 

3475 ("index", cuint), 

3476 ("capability", cuint), 

3477 ("rangelow", cuint), 

3478 ("rangehigh", cuint), 

3479 ("modulation", cuint), 

3480 ("reserved", cuint * 9), 

3481] 

3482 

3483 

3484class v4l2_hw_freq_seek(Struct): 

3485 pass 

3486 

3487 

3488v4l2_hw_freq_seek._fields_ = [ 

3489 ("tuner", cuint), 

3490 ("type", cuint), 

3491 ("seek_upward", cuint), 

3492 ("wrap_around", cuint), 

3493 ("spacing", cuint), 

3494 ("rangelow", cuint), 

3495 ("rangehigh", cuint), 

3496 ("reserved", cuint * 5), 

3497] 

3498 

3499 

3500class v4l2_rds_data(Struct): 

3501 _pack_ = True 

3502 _layout_ = "ms" 

3503 

3504 

3505v4l2_rds_data._fields_ = [("lsb", u8), ("msb", u8), ("block", u8)] 

3506 

3507 

3508class v4l2_audio(Struct): 

3509 pass 

3510 

3511 

3512v4l2_audio._fields_ = [ 

3513 ("index", cuint), 

3514 ("name", cchar * 32), 

3515 ("capability", cuint), 

3516 ("mode", cuint), 

3517 ("reserved", cuint * 2), 

3518] 

3519 

3520 

3521class v4l2_audioout(Struct): 

3522 pass 

3523 

3524 

3525v4l2_audioout._fields_ = [ 

3526 ("index", cuint), 

3527 ("name", cchar * 32), 

3528 ("capability", cuint), 

3529 ("mode", cuint), 

3530 ("reserved", cuint * 2), 

3531] 

3532 

3533 

3534class v4l2_enc_idx_entry(Struct): 

3535 pass 

3536 

3537 

3538v4l2_enc_idx_entry._fields_ = [ 

3539 ("offset", culonglong), 

3540 ("pts", culonglong), 

3541 ("length", cuint), 

3542 ("flags", cuint), 

3543 ("reserved", cuint * 2), 

3544] 

3545 

3546 

3547class v4l2_enc_idx(Struct): 

3548 pass 

3549 

3550 

3551v4l2_enc_idx._fields_ = [ 

3552 ("entries", cuint), 

3553 ("entries_cap", cuint), 

3554 ("reserved", cuint * 4), 

3555 ("entry", v4l2_enc_idx_entry * 64), 

3556] 

3557 

3558 

3559class v4l2_encoder_cmd(Struct): 

3560 class M1(Union): 

3561 class M1(Struct): 

3562 pass 

3563 

3564 M1._fields_ = [("data", cuint * 8)] 

3565 

3566 M1._fields_ = [("raw", M1.M1)] 

3567 

3568 _anonymous_ = ("m1",) 

3569 

3570 

3571v4l2_encoder_cmd._fields_ = [("cmd", cuint), ("flags", cuint), ("m1", v4l2_encoder_cmd.M1)] 

3572 

3573 

3574class v4l2_decoder_cmd(Struct): 

3575 class M1(Union): 

3576 class M1(Struct): 

3577 pass 

3578 

3579 M1._fields_ = [("pts", culonglong)] 

3580 

3581 class M2(Struct): 

3582 pass 

3583 

3584 M2._fields_ = [("speed", cint), ("format", cuint)] 

3585 

3586 class M3(Struct): 

3587 pass 

3588 

3589 M3._fields_ = [("data", cuint * 16)] 

3590 

3591 M1._fields_ = [("stop", M1.M1), ("start", M1.M2), ("raw", M1.M3)] 

3592 

3593 _anonymous_ = ("m1",) 

3594 

3595 

3596v4l2_decoder_cmd._fields_ = [("cmd", cuint), ("flags", cuint), ("m1", v4l2_decoder_cmd.M1)] 

3597 

3598 

3599class v4l2_vbi_format(Struct): 

3600 pass 

3601 

3602 

3603v4l2_vbi_format._fields_ = [ 

3604 ("sampling_rate", cuint), 

3605 ("offset", cuint), 

3606 ("samples_per_line", cuint), 

3607 ("sample_format", cuint), 

3608 ("start", cint * 2), 

3609 ("count", cuint * 2), 

3610 ("flags", cuint), 

3611 ("reserved", cuint * 2), 

3612] 

3613 

3614 

3615class v4l2_sliced_vbi_format(Struct): 

3616 pass 

3617 

3618 

3619v4l2_sliced_vbi_format._fields_ = [ 

3620 ("service_set", u16), 

3621 ("service_lines", u16 * 24 * 2), 

3622 ("io_size", cuint), 

3623 ("reserved", cuint * 2), 

3624] 

3625 

3626 

3627class v4l2_sliced_vbi_cap(Struct): 

3628 pass 

3629 

3630 

3631v4l2_sliced_vbi_cap._fields_ = [ 

3632 ("service_set", u16), 

3633 ("service_lines", u16 * 24 * 2), 

3634 ("type", cuint), 

3635 ("reserved", cuint * 3), 

3636] 

3637 

3638 

3639class v4l2_sliced_vbi_data(Struct): 

3640 pass 

3641 

3642 

3643v4l2_sliced_vbi_data._fields_ = [ 

3644 ("id", cuint), 

3645 ("field", cuint), 

3646 ("line", cuint), 

3647 ("reserved", cuint), 

3648 ("data", cchar * 48), 

3649] 

3650 

3651 

3652class v4l2_mpeg_vbi_itv0_line(Struct): 

3653 _pack_ = True 

3654 _layout_ = "ms" 

3655 

3656 

3657v4l2_mpeg_vbi_itv0_line._fields_ = [("id", u8), ("data", cchar * 42)] 

3658 

3659 

3660class v4l2_mpeg_vbi_itv0(Struct): 

3661 _pack_ = True 

3662 _layout_ = "ms" 

3663 

3664 

3665v4l2_mpeg_vbi_itv0._fields_ = [("linemask", cuint * 2), ("line", v4l2_mpeg_vbi_itv0_line * 35)] 

3666 

3667 

3668class v4l2_mpeg_vbi_ITV0(Struct): 

3669 _pack_ = True 

3670 _layout_ = "ms" 

3671 

3672 

3673v4l2_mpeg_vbi_ITV0._fields_ = [("line", v4l2_mpeg_vbi_itv0_line * 36)] 

3674 

3675 

3676class v4l2_mpeg_vbi_fmt_ivtv(Struct): 

3677 _pack_ = True 

3678 _layout_ = "ms" 

3679 

3680 class M1(Union): 

3681 _pack_ = True 

3682 _layout_ = "ms" 

3683 

3684 M1._fields_ = [("itv0", v4l2_mpeg_vbi_itv0), ("ITV0", v4l2_mpeg_vbi_ITV0)] 

3685 

3686 _anonymous_ = ("m1",) 

3687 

3688 

3689v4l2_mpeg_vbi_fmt_ivtv._fields_ = [("magic", cchar * 4), ("m1", v4l2_mpeg_vbi_fmt_ivtv.M1)] 

3690 

3691 

3692class v4l2_plane_pix_format(Struct): 

3693 _pack_ = True 

3694 _layout_ = "ms" 

3695 

3696 

3697v4l2_plane_pix_format._fields_ = [("sizeimage", cuint), ("bytesperline", cuint), ("reserved", u16 * 6)] 

3698 

3699 

3700class v4l2_pix_format_mplane(Struct): 

3701 _pack_ = True 

3702 _layout_ = "ms" 

3703 

3704 class M1(Union): 

3705 _pack_ = True 

3706 _layout_ = "ms" 

3707 

3708 M1._fields_ = [("ycbcr_enc", u8), ("hsv_enc", u8)] 

3709 

3710 _anonymous_ = ("m1",) 

3711 

3712 

3713v4l2_pix_format_mplane._fields_ = [ 

3714 ("width", cuint), 

3715 ("height", cuint), 

3716 ("pixelformat", cuint), 

3717 ("field", cuint), 

3718 ("colorspace", cuint), 

3719 ("plane_fmt", v4l2_plane_pix_format * 8), 

3720 ("num_planes", u8), 

3721 ("flags", u8), 

3722 ("m1", v4l2_pix_format_mplane.M1), 

3723 ("quantization", u8), 

3724 ("xfer_func", u8), 

3725 ("reserved", cchar * 7), 

3726] 

3727 

3728 

3729class v4l2_sdr_format(Struct): 

3730 _pack_ = True 

3731 _layout_ = "ms" 

3732 

3733 

3734v4l2_sdr_format._fields_ = [("pixelformat", cuint), ("buffersize", cuint), ("reserved", cchar * 24)] 

3735 

3736 

3737class v4l2_meta_format(Struct): 

3738 _pack_ = True 

3739 _layout_ = "ms" 

3740 

3741 

3742v4l2_meta_format._fields_ = [ 

3743 ("dataformat", cuint), 

3744 ("buffersize", cuint), 

3745 ("width", cuint), 

3746 ("height", cuint), 

3747 ("bytesperline", cuint), 

3748] 

3749 

3750 

3751class v4l2_format(Struct): 

3752 class M1(Union): 

3753 pass 

3754 

3755 M1._fields_ = [ 

3756 ("pix", v4l2_pix_format), 

3757 ("pix_mp", v4l2_pix_format_mplane), 

3758 ("win", v4l2_window), 

3759 ("vbi", v4l2_vbi_format), 

3760 ("sliced", v4l2_sliced_vbi_format), 

3761 ("sdr", v4l2_sdr_format), 

3762 ("meta", v4l2_meta_format), 

3763 ("raw_data", cchar * 200), 

3764 ] 

3765 

3766 

3767v4l2_format._fields_ = [("type", cuint), ("fmt", v4l2_format.M1)] 

3768 

3769 

3770class v4l2_streamparm(Struct): 

3771 class M1(Union): 

3772 pass 

3773 

3774 M1._fields_ = [("capture", v4l2_captureparm), ("output", v4l2_outputparm), ("raw_data", cchar * 200)] 

3775 

3776 

3777v4l2_streamparm._fields_ = [("type", cuint), ("parm", v4l2_streamparm.M1)] 

3778 

3779 

3780class v4l2_event_vsync(Struct): 

3781 _pack_ = True 

3782 _layout_ = "ms" 

3783 

3784 

3785v4l2_event_vsync._fields_ = [("field", u8)] 

3786 

3787 

3788class v4l2_event_ctrl(Struct): 

3789 class M1(Union): 

3790 pass 

3791 

3792 M1._fields_ = [("value", cint), ("value64", clonglong)] 

3793 

3794 _anonymous_ = ("m1",) 

3795 

3796 

3797v4l2_event_ctrl._fields_ = [ 

3798 ("changes", cuint), 

3799 ("type", cuint), 

3800 ("m1", v4l2_event_ctrl.M1), 

3801 ("flags", cuint), 

3802 ("minimum", cint), 

3803 ("maximum", cint), 

3804 ("step", cint), 

3805 ("default_value", cint), 

3806] 

3807 

3808 

3809class v4l2_event_frame_sync(Struct): 

3810 pass 

3811 

3812 

3813v4l2_event_frame_sync._fields_ = [("frame_sequence", cuint)] 

3814 

3815 

3816class v4l2_event_src_change(Struct): 

3817 pass 

3818 

3819 

3820v4l2_event_src_change._fields_ = [("changes", cuint)] 

3821 

3822 

3823class v4l2_event_motion_det(Struct): 

3824 pass 

3825 

3826 

3827v4l2_event_motion_det._fields_ = [("flags", cuint), ("frame_sequence", cuint), ("region_mask", cuint)] 

3828 

3829 

3830class v4l2_event(Struct): 

3831 class M1(Union): 

3832 pass 

3833 

3834 M1._fields_ = [ 

3835 ("vsync", v4l2_event_vsync), 

3836 ("ctrl", v4l2_event_ctrl), 

3837 ("frame_sync", v4l2_event_frame_sync), 

3838 ("src_change", v4l2_event_src_change), 

3839 ("motion_det", v4l2_event_motion_det), 

3840 ("data", cchar * 64), 

3841 ] 

3842 

3843 

3844v4l2_event._fields_ = [ 

3845 ("type", cuint), 

3846 ("u", v4l2_event.M1), 

3847 ("pending", cuint), 

3848 ("sequence", cuint), 

3849 ("timestamp", timespec), 

3850 ("id", cuint), 

3851 ("reserved", cuint * 8), 

3852] 

3853 

3854 

3855class v4l2_event_subscription(Struct): 

3856 pass 

3857 

3858 

3859v4l2_event_subscription._fields_ = [("type", cuint), ("id", cuint), ("flags", cuint), ("reserved", cuint * 5)] 

3860 

3861 

3862class v4l2_dbg_match(Struct): 

3863 _pack_ = True 

3864 _layout_ = "ms" 

3865 

3866 class M1(Union): 

3867 pass 

3868 

3869 M1._fields_ = [("addr", cuint), ("name", cchar * 32)] 

3870 

3871 _anonymous_ = ("m1",) 

3872 

3873 

3874v4l2_dbg_match._fields_ = [("type", cuint), ("m1", v4l2_dbg_match.M1)] 

3875 

3876 

3877class v4l2_dbg_register(Struct): 

3878 _pack_ = True 

3879 _layout_ = "ms" 

3880 

3881 

3882v4l2_dbg_register._fields_ = [("match", v4l2_dbg_match), ("size", cuint), ("reg", culonglong), ("val", culonglong)] 

3883 

3884 

3885class v4l2_dbg_chip_info(Struct): 

3886 _pack_ = True 

3887 _layout_ = "ms" 

3888 

3889 

3890v4l2_dbg_chip_info._fields_ = [ 

3891 ("match", v4l2_dbg_match), 

3892 ("name", cchar * 32), 

3893 ("flags", cuint), 

3894 ("reserved", cuint * 32), 

3895] 

3896 

3897 

3898class v4l2_create_buffers(Struct): 

3899 pass 

3900 

3901 

3902v4l2_create_buffers._fields_ = [ 

3903 ("index", cuint), 

3904 ("count", cuint), 

3905 ("memory", cuint), 

3906 ("format", v4l2_format), 

3907 ("capabilities", cuint), 

3908 ("flags", cuint), 

3909 ("max_num_buffers", cuint), 

3910 ("reserved", cuint * 5), 

3911] 

3912 

3913 

3914class v4l2_remove_buffers(Struct): 

3915 pass 

3916 

3917 

3918v4l2_remove_buffers._fields_ = [("index", cuint), ("count", cuint), ("type", cuint), ("reserved", cuint * 13)] 

3919 

3920 

3921class v4l2_mbus_framefmt(Struct): 

3922 class M1(Union): 

3923 pass 

3924 

3925 M1._fields_ = [("ycbcr_enc", u16), ("hsv_enc", u16)] 

3926 

3927 _anonymous_ = ("m1",) 

3928 

3929 

3930v4l2_mbus_framefmt._fields_ = [ 

3931 ("width", cuint), 

3932 ("height", cuint), 

3933 ("code", cuint), 

3934 ("field", cuint), 

3935 ("colorspace", cuint), 

3936 ("m1", v4l2_mbus_framefmt.M1), 

3937 ("quantization", u16), 

3938 ("xfer_func", u16), 

3939 ("flags", u16), 

3940 ("reserved", u16 * 10), 

3941] 

3942 

3943 

3944class v4l2_subdev_format(Struct): 

3945 pass 

3946 

3947 

3948v4l2_subdev_format._fields_ = [ 

3949 ("which", cuint), 

3950 ("pad", cuint), 

3951 ("format", v4l2_mbus_framefmt), 

3952 ("stream", cuint), 

3953 ("reserved", cuint * 7), 

3954] 

3955 

3956 

3957class v4l2_subdev_crop(Struct): 

3958 pass 

3959 

3960 

3961v4l2_subdev_crop._fields_ = [ 

3962 ("which", cuint), 

3963 ("pad", cuint), 

3964 ("rect", v4l2_rect), 

3965 ("stream", cuint), 

3966 ("reserved", cuint * 7), 

3967] 

3968 

3969 

3970class v4l2_subdev_mbus_code_enum(Struct): 

3971 pass 

3972 

3973 

3974v4l2_subdev_mbus_code_enum._fields_ = [ 

3975 ("pad", cuint), 

3976 ("index", cuint), 

3977 ("code", cuint), 

3978 ("which", cuint), 

3979 ("flags", cuint), 

3980 ("stream", cuint), 

3981 ("reserved", cuint * 6), 

3982] 

3983 

3984 

3985class v4l2_subdev_frame_size_enum(Struct): 

3986 pass 

3987 

3988 

3989v4l2_subdev_frame_size_enum._fields_ = [ 

3990 ("index", cuint), 

3991 ("pad", cuint), 

3992 ("code", cuint), 

3993 ("min_width", cuint), 

3994 ("max_width", cuint), 

3995 ("min_height", cuint), 

3996 ("max_height", cuint), 

3997 ("which", cuint), 

3998 ("stream", cuint), 

3999 ("reserved", cuint * 7), 

4000] 

4001 

4002 

4003class v4l2_subdev_frame_interval(Struct): 

4004 pass 

4005 

4006 

4007v4l2_subdev_frame_interval._fields_ = [ 

4008 ("pad", cuint), 

4009 ("interval", v4l2_fract), 

4010 ("stream", cuint), 

4011 ("which", cuint), 

4012 ("reserved", cuint * 7), 

4013] 

4014 

4015 

4016class v4l2_subdev_frame_interval_enum(Struct): 

4017 pass 

4018 

4019 

4020v4l2_subdev_frame_interval_enum._fields_ = [ 

4021 ("index", cuint), 

4022 ("pad", cuint), 

4023 ("code", cuint), 

4024 ("width", cuint), 

4025 ("height", cuint), 

4026 ("interval", v4l2_fract), 

4027 ("which", cuint), 

4028 ("stream", cuint), 

4029 ("reserved", cuint * 7), 

4030] 

4031 

4032 

4033class v4l2_subdev_selection(Struct): 

4034 pass 

4035 

4036 

4037v4l2_subdev_selection._fields_ = [ 

4038 ("which", cuint), 

4039 ("pad", cuint), 

4040 ("target", cuint), 

4041 ("flags", cuint), 

4042 ("r", v4l2_rect), 

4043 ("stream", cuint), 

4044 ("reserved", cuint * 7), 

4045] 

4046 

4047 

4048class v4l2_subdev_capability(Struct): 

4049 pass 

4050 

4051 

4052v4l2_subdev_capability._fields_ = [("version", cuint), ("capabilities", cuint), ("reserved", cuint * 14)] 

4053 

4054 

4055class v4l2_subdev_route(Struct): 

4056 pass 

4057 

4058 

4059v4l2_subdev_route._fields_ = [ 

4060 ("sink_pad", cuint), 

4061 ("sink_stream", cuint), 

4062 ("source_pad", cuint), 

4063 ("source_stream", cuint), 

4064 ("flags", cuint), 

4065 ("reserved", cuint * 5), 

4066] 

4067 

4068 

4069class v4l2_subdev_routing(Struct): 

4070 pass 

4071 

4072 

4073v4l2_subdev_routing._fields_ = [ 

4074 ("which", cuint), 

4075 ("len_routes", cuint), 

4076 ("routes", culonglong), 

4077 ("num_routes", cuint), 

4078 ("reserved", cuint * 11), 

4079] 

4080 

4081 

4082class v4l2_subdev_client_capability(Struct): 

4083 pass 

4084 

4085 

4086v4l2_subdev_client_capability._fields_ = [("capabilities", culonglong)] 

4087 

4088 

4089# STD macros are too complicated to auto generate 

4090 

4091 

4092class StandardID(enum.IntFlag): 

4093 PAL_B = 0x00000001 

4094 PAL_B1 = 0x00000002 

4095 PAL_G = 0x00000004 

4096 PAL_H = 0x00000008 

4097 PAL_I = 0x00000010 

4098 PAL_D = 0x00000020 

4099 PAL_D1 = 0x00000040 

4100 PAL_K = 0x00000080 

4101 PAL_M = 0x00000100 

4102 PAL_N = 0x00000200 

4103 PAL_Nc = 0x00000400 

4104 PAL_60 = 0x00000800 

4105 NTSC_M = 0x00001000 # BTSC 

4106 NTSC_M_JP = 0x00002000 # EIA-J 

4107 NTSC_443 = 0x00004000 

4108 NTSC_M_KR = 0x00008000 # FM A2 

4109 SECAM_B = 0x00010000 

4110 SECAM_D = 0x00020000 

4111 SECAM_G = 0x00040000 

4112 SECAM_H = 0x00080000 

4113 SECAM_K = 0x00100000 

4114 SECAM_K1 = 0x00200000 

4115 SECAM_L = 0x00400000 

4116 SECAM_LC = 0x00800000 

4117 ATSC_8_VSB = 0x01000000 

4118 ATSC_16_VSB = 0x02000000 

4119 

4120 

4121class IOC(enum.IntEnum): 

4122 QUERYCAP = _IOR("V", 0, v4l2_capability) 

4123 ENUM_FMT = _IOWR("V", 2, v4l2_fmtdesc) 

4124 G_FMT = _IOWR("V", 4, v4l2_format) 

4125 S_FMT = _IOWR("V", 5, v4l2_format) 

4126 REQBUFS = _IOWR("V", 8, v4l2_requestbuffers) 

4127 QUERYBUF = _IOWR("V", 9, v4l2_buffer) 

4128 G_FBUF = _IOR("V", 10, v4l2_framebuffer) 

4129 S_FBUF = _IOW("V", 11, v4l2_framebuffer) 

4130 OVERLAY = _IOW("V", 14, cint) 

4131 QBUF = _IOWR("V", 15, v4l2_buffer) 

4132 EXPBUF = _IOWR("V", 16, v4l2_exportbuffer) 

4133 DQBUF = _IOWR("V", 17, v4l2_buffer) 

4134 STREAMON = _IOW("V", 18, cint) 

4135 STREAMOFF = _IOW("V", 19, cint) 

4136 G_PARM = _IOWR("V", 21, v4l2_streamparm) 

4137 S_PARM = _IOWR("V", 22, v4l2_streamparm) 

4138 G_STD = _IOR("V", 23, v4l2_std_id) 

4139 S_STD = _IOW("V", 24, v4l2_std_id) 

4140 ENUMSTD = _IOWR("V", 25, v4l2_standard) 

4141 ENUMINPUT = _IOWR("V", 26, v4l2_input) 

4142 G_CTRL = _IOWR("V", 27, v4l2_control) 

4143 S_CTRL = _IOWR("V", 28, v4l2_control) 

4144 G_TUNER = _IOWR("V", 29, v4l2_tuner) 

4145 S_TUNER = _IOW("V", 30, v4l2_tuner) 

4146 G_AUDIO = _IOR("V", 33, v4l2_audio) 

4147 S_AUDIO = _IOW("V", 34, v4l2_audio) 

4148 QUERYCTRL = _IOWR("V", 36, v4l2_queryctrl) 

4149 QUERYMENU = _IOWR("V", 37, v4l2_querymenu) 

4150 G_INPUT = _IOR("V", 38, cint) 

4151 S_INPUT = _IOWR("V", 39, cint) 

4152 G_EDID = _IOWR("V", 40, v4l2_edid) 

4153 S_EDID = _IOWR("V", 41, v4l2_edid) 

4154 G_OUTPUT = _IOR("V", 46, cint) 

4155 S_OUTPUT = _IOWR("V", 47, cint) 

4156 ENUMOUTPUT = _IOWR("V", 48, v4l2_output) 

4157 G_AUDOUT = _IOR("V", 49, v4l2_audioout) 

4158 S_AUDOUT = _IOW("V", 50, v4l2_audioout) 

4159 G_MODULATOR = _IOWR("V", 54, v4l2_modulator) 

4160 S_MODULATOR = _IOW("V", 55, v4l2_modulator) 

4161 G_FREQUENCY = _IOWR("V", 56, v4l2_frequency) 

4162 S_FREQUENCY = _IOW("V", 57, v4l2_frequency) 

4163 CROPCAP = _IOWR("V", 58, v4l2_cropcap) 

4164 G_CROP = _IOWR("V", 59, v4l2_crop) 

4165 S_CROP = _IOW("V", 60, v4l2_crop) 

4166 G_JPEGCOMP = _IOR("V", 61, v4l2_jpegcompression) 

4167 S_JPEGCOMP = _IOW("V", 62, v4l2_jpegcompression) 

4168 QUERYSTD = _IOR("V", 63, v4l2_std_id) 

4169 TRY_FMT = _IOWR("V", 64, v4l2_format) 

4170 ENUMAUDIO = _IOWR("V", 65, v4l2_audio) 

4171 ENUMAUDOUT = _IOWR("V", 66, v4l2_audioout) 

4172 G_PRIORITY = _IOR("V", 67, u32) # enum v4l2_priority 

4173 S_PRIORITY = _IOW("V", 68, u32) # enum v4l2_priority 

4174 G_SLICED_VBI_CAP = _IOWR("V", 69, v4l2_sliced_vbi_cap) 

4175 LOG_STATUS = _IO("V", 70) 

4176 G_EXT_CTRLS = _IOWR("V", 71, v4l2_ext_controls) 

4177 S_EXT_CTRLS = _IOWR("V", 72, v4l2_ext_controls) 

4178 TRY_EXT_CTRLS = _IOWR("V", 73, v4l2_ext_controls) 

4179 ENUM_FRAMESIZES = _IOWR("V", 74, v4l2_frmsizeenum) 

4180 ENUM_FRAMEINTERVALS = _IOWR("V", 75, v4l2_frmivalenum) 

4181 G_ENC_INDEX = _IOR("V", 76, v4l2_enc_idx) 

4182 ENCODER_CMD = _IOWR("V", 77, v4l2_encoder_cmd) 

4183 TRY_ENCODER_CMD = _IOWR("V", 78, v4l2_encoder_cmd) 

4184 DBG_S_REGISTER = _IOW("V", 79, v4l2_dbg_register) 

4185 DBG_G_REGISTER = _IOWR("V", 80, v4l2_dbg_register) 

4186 S_HW_FREQ_SEEK = _IOW("V", 82, v4l2_hw_freq_seek) 

4187 S_DV_TIMINGS = _IOWR("V", 87, v4l2_dv_timings) 

4188 G_DV_TIMINGS = _IOWR("V", 88, v4l2_dv_timings) 

4189 DQEVENT = _IOR("V", 89, v4l2_event) 

4190 SUBSCRIBE_EVENT = _IOW("V", 90, v4l2_event_subscription) 

4191 UNSUBSCRIBE_EVENT = _IOW("V", 91, v4l2_event_subscription) 

4192 CREATE_BUFS = _IOWR("V", 92, v4l2_create_buffers) 

4193 PREPARE_BUF = _IOWR("V", 93, v4l2_buffer) 

4194 G_SELECTION = _IOWR("V", 94, v4l2_selection) 

4195 S_SELECTION = _IOWR("V", 95, v4l2_selection) 

4196 DECODER_CMD = _IOWR("V", 96, v4l2_decoder_cmd) 

4197 TRY_DECODER_CMD = _IOWR("V", 97, v4l2_decoder_cmd) 

4198 ENUM_DV_TIMINGS = _IOWR("V", 98, v4l2_enum_dv_timings) 

4199 QUERY_DV_TIMINGS = _IOR("V", 99, v4l2_dv_timings) 

4200 DV_TIMINGS_CAP = _IOWR("V", 100, v4l2_dv_timings_cap) 

4201 ENUM_FREQ_BANDS = _IOWR("V", 101, v4l2_frequency_band) 

4202 DBG_G_CHIP_INFO = _IOWR("V", 102, v4l2_dbg_chip_info) 

4203 QUERY_EXT_CTRL = _IOWR("V", 103, v4l2_query_ext_ctrl) 

4204 REMOVE_BUFS = _IOWR("V", 104, v4l2_remove_buffers) 

4205 SUBDEV_QUERYCAP = _IOR("V", 0, v4l2_subdev_capability) 

4206 SUBDEV_G_FMT = _IOWR("V", 4, v4l2_subdev_format) 

4207 SUBDEV_S_FMT = _IOWR("V", 5, v4l2_subdev_format) 

4208 SUBDEV_G_FRAME_INTERVAL = _IOWR("V", 21, v4l2_subdev_frame_interval) 

4209 SUBDEV_S_FRAME_INTERVAL = _IOWR("V", 22, v4l2_subdev_frame_interval) 

4210 SUBDEV_ENUM_MBUS_CODE = _IOWR("V", 2, v4l2_subdev_mbus_code_enum) 

4211 SUBDEV_ENUM_FRAME_SIZE = _IOWR("V", 74, v4l2_subdev_frame_size_enum) 

4212 SUBDEV_ENUM_FRAME_INTERVAL = _IOWR("V", 75, v4l2_subdev_frame_interval_enum) 

4213 SUBDEV_G_CROP = _IOWR("V", 59, v4l2_subdev_crop) 

4214 SUBDEV_S_CROP = _IOWR("V", 60, v4l2_subdev_crop) 

4215 SUBDEV_G_SELECTION = _IOWR("V", 61, v4l2_subdev_selection) 

4216 SUBDEV_S_SELECTION = _IOWR("V", 62, v4l2_subdev_selection) 

4217 SUBDEV_G_ROUTING = _IOWR("V", 38, v4l2_subdev_routing) 

4218 SUBDEV_S_ROUTING = _IOWR("V", 39, v4l2_subdev_routing) 

4219 SUBDEV_G_CLIENT_CAP = _IOR("V", 101, v4l2_subdev_client_capability) 

4220 SUBDEV_S_CLIENT_CAP = _IOWR("V", 102, v4l2_subdev_client_capability) 

4221 SUBDEV_G_STD = _IOR("V", 23, v4l2_std_id) 

4222 SUBDEV_S_STD = _IOW("V", 24, v4l2_std_id) 

4223 SUBDEV_ENUMSTD = _IOWR("V", 25, v4l2_standard) 

4224 SUBDEV_G_EDID = _IOWR("V", 40, v4l2_edid) 

4225 SUBDEV_S_EDID = _IOWR("V", 41, v4l2_edid) 

4226 SUBDEV_QUERYSTD = _IOR("V", 63, v4l2_std_id) 

4227 SUBDEV_S_DV_TIMINGS = _IOWR("V", 87, v4l2_dv_timings) 

4228 SUBDEV_G_DV_TIMINGS = _IOWR("V", 88, v4l2_dv_timings) 

4229 SUBDEV_ENUM_DV_TIMINGS = _IOWR("V", 98, v4l2_enum_dv_timings) 

4230 SUBDEV_QUERY_DV_TIMINGS = _IOR("V", 99, v4l2_dv_timings) 

4231 SUBDEV_DV_TIMINGS_CAP = _IOWR("V", 100, v4l2_dv_timings_cap)