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

2320 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-10-18 07:40 +0200

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.IntEnum): 

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 

2049 

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

2051 

2052 

2053class v4l2_h264_weight_factors(Struct): 

2054 pass 

2055 

2056 

2057v4l2_h264_weight_factors._fields_ = [ 

2058 ("luma_weight", i16 * 32), 

2059 ("luma_offset", i16 * 32), 

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

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

2062] 

2063 

2064 

2065class v4l2_ctrl_h264_pred_weights(Struct): 

2066 pass 

2067 

2068 

2069v4l2_ctrl_h264_pred_weights._fields_ = [ 

2070 ("luma_log2_weight_denom", u16), 

2071 ("chroma_log2_weight_denom", u16), 

2072 ("weight_factors", v4l2_h264_weight_factors * 2), 

2073] 

2074 

2075 

2076class v4l2_h264_reference(Struct): 

2077 _pack_ = True 

2078 

2079 

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

2081 

2082 

2083class v4l2_ctrl_h264_slice_params(Struct): 

2084 pass 

2085 

2086 

2087v4l2_ctrl_h264_slice_params._fields_ = [ 

2088 ("header_bit_size", cuint), 

2089 ("first_mb_in_slice", cuint), 

2090 ("slice_type", u8), 

2091 ("colour_plane_id", u8), 

2092 ("redundant_pic_cnt", u8), 

2093 ("cabac_init_idc", u8), 

2094 ("slice_qp_delta", cchar), 

2095 ("slice_qs_delta", cchar), 

2096 ("disable_deblocking_filter_idc", u8), 

2097 ("slice_alpha_c0_offset_div2", cchar), 

2098 ("slice_beta_offset_div2", cchar), 

2099 ("num_ref_idx_l0_active_minus1", u8), 

2100 ("num_ref_idx_l1_active_minus1", u8), 

2101 ("reserved", u8), 

2102 ("ref_pic_list0", v4l2_h264_reference * 32), 

2103 ("ref_pic_list1", v4l2_h264_reference * 32), 

2104 ("flags", cuint), 

2105] 

2106 

2107 

2108class v4l2_h264_dpb_entry(Struct): 

2109 pass 

2110 

2111 

2112v4l2_h264_dpb_entry._fields_ = [ 

2113 ("reference_ts", culonglong), 

2114 ("pic_num", cuint), 

2115 ("frame_num", u16), 

2116 ("fields", u8), 

2117 ("reserved", cchar * 5), 

2118 ("top_field_order_cnt", cint), 

2119 ("bottom_field_order_cnt", cint), 

2120 ("flags", cuint), 

2121] 

2122 

2123 

2124class v4l2_ctrl_h264_decode_params(Struct): 

2125 pass 

2126 

2127 

2128v4l2_ctrl_h264_decode_params._fields_ = [ 

2129 ("dpb", v4l2_h264_dpb_entry * 16), 

2130 ("nal_ref_idc", u16), 

2131 ("frame_num", u16), 

2132 ("top_field_order_cnt", cint), 

2133 ("bottom_field_order_cnt", cint), 

2134 ("idr_pic_id", u16), 

2135 ("pic_order_cnt_lsb", u16), 

2136 ("delta_pic_order_cnt_bottom", cint), 

2137 ("delta_pic_order_cnt0", cint), 

2138 ("delta_pic_order_cnt1", cint), 

2139 ("dec_ref_pic_marking_bit_size", cuint), 

2140 ("pic_order_cnt_bit_size", cuint), 

2141 ("slice_group_change_cycle", cuint), 

2142 ("reserved", cuint), 

2143 ("flags", cuint), 

2144] 

2145 

2146 

2147class v4l2_ctrl_fwht_params(Struct): 

2148 pass 

2149 

2150 

2151v4l2_ctrl_fwht_params._fields_ = [ 

2152 ("backward_ref_ts", culonglong), 

2153 ("version", cuint), 

2154 ("width", cuint), 

2155 ("height", cuint), 

2156 ("flags", cuint), 

2157 ("colorspace", cuint), 

2158 ("xfer_func", cuint), 

2159 ("ycbcr_enc", cuint), 

2160 ("quantization", cuint), 

2161] 

2162 

2163 

2164class v4l2_vp8_segment(Struct): 

2165 pass 

2166 

2167 

2168v4l2_vp8_segment._fields_ = [ 

2169 ("quant_update", cchar * 4), 

2170 ("lf_update", cchar * 4), 

2171 ("segment_probs", cchar * 3), 

2172 ("padding", u8), 

2173 ("flags", cuint), 

2174] 

2175 

2176 

2177class v4l2_vp8_loop_filter(Struct): 

2178 pass 

2179 

2180 

2181v4l2_vp8_loop_filter._fields_ = [ 

2182 ("ref_frm_delta", cchar * 4), 

2183 ("mb_mode_delta", cchar * 4), 

2184 ("sharpness_level", u8), 

2185 ("level", u8), 

2186 ("padding", u16), 

2187 ("flags", cuint), 

2188] 

2189 

2190 

2191class v4l2_vp8_quantization(Struct): 

2192 pass 

2193 

2194 

2195v4l2_vp8_quantization._fields_ = [ 

2196 ("y_ac_qi", u8), 

2197 ("y_dc_delta", cchar), 

2198 ("y2_dc_delta", cchar), 

2199 ("y2_ac_delta", cchar), 

2200 ("uv_dc_delta", cchar), 

2201 ("uv_ac_delta", cchar), 

2202 ("padding", u16), 

2203] 

2204 

2205 

2206class v4l2_vp8_entropy(Struct): 

2207 _pack_ = True 

2208 

2209 

2210v4l2_vp8_entropy._fields_ = [ 

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

2212 ("y_mode_probs", cchar * 4), 

2213 ("uv_mode_probs", cchar * 3), 

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

2215 ("padding", cchar * 3), 

2216] 

2217 

2218 

2219class v4l2_vp8_entropy_coder_state(Struct): 

2220 _pack_ = True 

2221 

2222 

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

2224 

2225 

2226class v4l2_ctrl_vp8_frame(Struct): 

2227 pass 

2228 

2229 

2230v4l2_ctrl_vp8_frame._fields_ = [ 

2231 ("segment", v4l2_vp8_segment), 

2232 ("lf", v4l2_vp8_loop_filter), 

2233 ("quant", v4l2_vp8_quantization), 

2234 ("entropy", v4l2_vp8_entropy), 

2235 ("coder_state", v4l2_vp8_entropy_coder_state), 

2236 ("width", u16), 

2237 ("height", u16), 

2238 ("horizontal_scale", u8), 

2239 ("vertical_scale", u8), 

2240 ("version", u8), 

2241 ("prob_skip_false", u8), 

2242 ("prob_intra", u8), 

2243 ("prob_last", u8), 

2244 ("prob_gf", u8), 

2245 ("num_dct_parts", u8), 

2246 ("first_part_size", cuint), 

2247 ("first_part_header_bits", cuint), 

2248 ("dct_part_sizes", cuint * 8), 

2249 ("last_frame_ts", culonglong), 

2250 ("golden_frame_ts", culonglong), 

2251 ("alt_frame_ts", culonglong), 

2252 ("flags", culonglong), 

2253] 

2254 

2255 

2256class v4l2_ctrl_mpeg2_sequence(Struct): 

2257 pass 

2258 

2259 

2260v4l2_ctrl_mpeg2_sequence._fields_ = [ 

2261 ("horizontal_size", u16), 

2262 ("vertical_size", u16), 

2263 ("vbv_buffer_size", cuint), 

2264 ("profile_and_level_indication", u16), 

2265 ("chroma_format", u8), 

2266 ("flags", u8), 

2267] 

2268 

2269 

2270class v4l2_ctrl_mpeg2_picture(Struct): 

2271 pass 

2272 

2273 

2274v4l2_ctrl_mpeg2_picture._fields_ = [ 

2275 ("backward_ref_ts", culonglong), 

2276 ("forward_ref_ts", culonglong), 

2277 ("flags", cuint), 

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

2279 ("picture_coding_type", u8), 

2280 ("picture_structure", u8), 

2281 ("intra_dc_precision", u8), 

2282 ("reserved", cchar * 5), 

2283] 

2284 

2285 

2286class v4l2_ctrl_mpeg2_quantisation(Struct): 

2287 _pack_ = True 

2288 

2289 

2290v4l2_ctrl_mpeg2_quantisation._fields_ = [ 

2291 ("intra_quantiser_matrix", cchar * 64), 

2292 ("non_intra_quantiser_matrix", cchar * 64), 

2293 ("chroma_intra_quantiser_matrix", cchar * 64), 

2294 ("chroma_non_intra_quantiser_matrix", cchar * 64), 

2295] 

2296 

2297 

2298class v4l2_ctrl_hevc_sps(Struct): 

2299 pass 

2300 

2301 

2302v4l2_ctrl_hevc_sps._fields_ = [ 

2303 ("video_parameter_set_id", u8), 

2304 ("seq_parameter_set_id", u8), 

2305 ("pic_width_in_luma_samples", u16), 

2306 ("pic_height_in_luma_samples", u16), 

2307 ("bit_depth_luma_minus8", u8), 

2308 ("bit_depth_chroma_minus8", u8), 

2309 ("log2_max_pic_order_cnt_lsb_minus4", u8), 

2310 ("sps_max_dec_pic_buffering_minus1", u8), 

2311 ("sps_max_num_reorder_pics", u8), 

2312 ("sps_max_latency_increase_plus1", u8), 

2313 ("log2_min_luma_coding_block_size_minus3", u8), 

2314 ("log2_diff_max_min_luma_coding_block_size", u8), 

2315 ("log2_min_luma_transform_block_size_minus2", u8), 

2316 ("log2_diff_max_min_luma_transform_block_size", u8), 

2317 ("max_transform_hierarchy_depth_inter", u8), 

2318 ("max_transform_hierarchy_depth_intra", u8), 

2319 ("pcm_sample_bit_depth_luma_minus1", u8), 

2320 ("pcm_sample_bit_depth_chroma_minus1", u8), 

2321 ("log2_min_pcm_luma_coding_block_size_minus3", u8), 

2322 ("log2_diff_max_min_pcm_luma_coding_block_size", u8), 

2323 ("num_short_term_ref_pic_sets", u8), 

2324 ("num_long_term_ref_pics_sps", u8), 

2325 ("chroma_format_idc", u8), 

2326 ("sps_max_sub_layers_minus1", u8), 

2327 ("reserved", cchar * 6), 

2328 ("flags", culonglong), 

2329] 

2330 

2331 

2332class v4l2_ctrl_hevc_pps(Struct): 

2333 pass 

2334 

2335 

2336v4l2_ctrl_hevc_pps._fields_ = [ 

2337 ("pic_parameter_set_id", u8), 

2338 ("num_extra_slice_header_bits", u8), 

2339 ("num_ref_idx_l0_default_active_minus1", u8), 

2340 ("num_ref_idx_l1_default_active_minus1", u8), 

2341 ("init_qp_minus26", cchar), 

2342 ("diff_cu_qp_delta_depth", u8), 

2343 ("pps_cb_qp_offset", cchar), 

2344 ("pps_cr_qp_offset", cchar), 

2345 ("num_tile_columns_minus1", u8), 

2346 ("num_tile_rows_minus1", u8), 

2347 ("column_width_minus1", cchar * 20), 

2348 ("row_height_minus1", cchar * 22), 

2349 ("pps_beta_offset_div2", cchar), 

2350 ("pps_tc_offset_div2", cchar), 

2351 ("log2_parallel_merge_level_minus2", u8), 

2352 ("reserved", u8), 

2353 ("flags", culonglong), 

2354] 

2355 

2356 

2357class v4l2_hevc_dpb_entry(Struct): 

2358 pass 

2359 

2360 

2361v4l2_hevc_dpb_entry._fields_ = [ 

2362 ("timestamp", culonglong), 

2363 ("flags", u8), 

2364 ("field_pic", u8), 

2365 ("reserved", u16), 

2366 ("pic_order_cnt_val", cint), 

2367] 

2368 

2369 

2370class v4l2_hevc_pred_weight_table(Struct): 

2371 _pack_ = True 

2372 

2373 

2374v4l2_hevc_pred_weight_table._fields_ = [ 

2375 ("delta_luma_weight_l0", cchar * 16), 

2376 ("luma_offset_l0", cchar * 16), 

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

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

2379 ("delta_luma_weight_l1", cchar * 16), 

2380 ("luma_offset_l1", cchar * 16), 

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

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

2383 ("luma_log2_weight_denom", u8), 

2384 ("delta_chroma_log2_weight_denom", cchar), 

2385] 

2386 

2387 

2388class v4l2_ctrl_hevc_slice_params(Struct): 

2389 pass 

2390 

2391 

2392v4l2_ctrl_hevc_slice_params._fields_ = [ 

2393 ("bit_size", cuint), 

2394 ("data_byte_offset", cuint), 

2395 ("num_entry_point_offsets", cuint), 

2396 ("nal_unit_type", u8), 

2397 ("nuh_temporal_id_plus1", u8), 

2398 ("slice_type", u8), 

2399 ("colour_plane_id", u8), 

2400 ("slice_pic_order_cnt", cint), 

2401 ("num_ref_idx_l0_active_minus1", u8), 

2402 ("num_ref_idx_l1_active_minus1", u8), 

2403 ("collocated_ref_idx", u8), 

2404 ("five_minus_max_num_merge_cand", u8), 

2405 ("slice_qp_delta", cchar), 

2406 ("slice_cb_qp_offset", cchar), 

2407 ("slice_cr_qp_offset", cchar), 

2408 ("slice_act_y_qp_offset", cchar), 

2409 ("slice_act_cb_qp_offset", cchar), 

2410 ("slice_act_cr_qp_offset", cchar), 

2411 ("slice_beta_offset_div2", cchar), 

2412 ("slice_tc_offset_div2", cchar), 

2413 ("pic_struct", u8), 

2414 ("reserved0", cchar * 3), 

2415 ("slice_segment_addr", cuint), 

2416 ("ref_idx_l0", cchar * 16), 

2417 ("ref_idx_l1", cchar * 16), 

2418 ("short_term_ref_pic_set_size", u16), 

2419 ("long_term_ref_pic_set_size", u16), 

2420 ("pred_weight_table", v4l2_hevc_pred_weight_table), 

2421 ("reserved1", cchar * 2), 

2422 ("flags", culonglong), 

2423] 

2424 

2425 

2426class v4l2_ctrl_hevc_decode_params(Struct): 

2427 pass 

2428 

2429 

2430v4l2_ctrl_hevc_decode_params._fields_ = [ 

2431 ("pic_order_cnt_val", cint), 

2432 ("short_term_ref_pic_set_size", u16), 

2433 ("long_term_ref_pic_set_size", u16), 

2434 ("num_active_dpb_entries", u8), 

2435 ("num_poc_st_curr_before", u8), 

2436 ("num_poc_st_curr_after", u8), 

2437 ("num_poc_lt_curr", u8), 

2438 ("poc_st_curr_before", cchar * 16), 

2439 ("poc_st_curr_after", cchar * 16), 

2440 ("poc_lt_curr", cchar * 16), 

2441 ("num_delta_pocs_of_ref_rps_idx", u8), 

2442 ("reserved", cchar * 3), 

2443 ("dpb", v4l2_hevc_dpb_entry * 16), 

2444 ("flags", culonglong), 

2445] 

2446 

2447 

2448class v4l2_ctrl_hevc_scaling_matrix(Struct): 

2449 _pack_ = True 

2450 

2451 

2452v4l2_ctrl_hevc_scaling_matrix._fields_ = [ 

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

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

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

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

2457 ("scaling_list_dc_coef_16x16", cchar * 6), 

2458 ("scaling_list_dc_coef_32x32", cchar * 2), 

2459] 

2460 

2461 

2462class v4l2_ctrl_hdr10_cll_info(Struct): 

2463 pass 

2464 

2465 

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

2467 

2468 

2469class v4l2_ctrl_hdr10_mastering_display(Struct): 

2470 pass 

2471 

2472 

2473v4l2_ctrl_hdr10_mastering_display._fields_ = [ 

2474 ("display_primaries_x", u16 * 3), 

2475 ("display_primaries_y", u16 * 3), 

2476 ("white_point_x", u16), 

2477 ("white_point_y", u16), 

2478 ("max_display_mastering_luminance", cuint), 

2479 ("min_display_mastering_luminance", cuint), 

2480] 

2481 

2482 

2483class v4l2_vp9_loop_filter(Struct): 

2484 _pack_ = True 

2485 

2486 

2487v4l2_vp9_loop_filter._fields_ = [ 

2488 ("ref_deltas", cchar * 4), 

2489 ("mode_deltas", cchar * 2), 

2490 ("level", u8), 

2491 ("sharpness", u8), 

2492 ("flags", u8), 

2493 ("reserved", cchar * 7), 

2494] 

2495 

2496 

2497class v4l2_vp9_quantization(Struct): 

2498 _pack_ = True 

2499 

2500 

2501v4l2_vp9_quantization._fields_ = [ 

2502 ("base_q_idx", u8), 

2503 ("delta_q_y_dc", cchar), 

2504 ("delta_q_uv_dc", cchar), 

2505 ("delta_q_uv_ac", cchar), 

2506 ("reserved", cchar * 4), 

2507] 

2508 

2509 

2510class v4l2_vp9_segmentation(Struct): 

2511 pass 

2512 

2513 

2514v4l2_vp9_segmentation._fields_ = [ 

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

2516 ("feature_enabled", cchar * 8), 

2517 ("tree_probs", cchar * 7), 

2518 ("pred_probs", cchar * 3), 

2519 ("flags", u8), 

2520 ("reserved", cchar * 5), 

2521] 

2522 

2523 

2524class v4l2_ctrl_vp9_frame(Struct): 

2525 pass 

2526 

2527 

2528v4l2_ctrl_vp9_frame._fields_ = [ 

2529 ("lf", v4l2_vp9_loop_filter), 

2530 ("quant", v4l2_vp9_quantization), 

2531 ("seg", v4l2_vp9_segmentation), 

2532 ("flags", cuint), 

2533 ("compressed_header_size", u16), 

2534 ("uncompressed_header_size", u16), 

2535 ("frame_width_minus_1", u16), 

2536 ("frame_height_minus_1", u16), 

2537 ("render_width_minus_1", u16), 

2538 ("render_height_minus_1", u16), 

2539 ("last_frame_ts", culonglong), 

2540 ("golden_frame_ts", culonglong), 

2541 ("alt_frame_ts", culonglong), 

2542 ("ref_frame_sign_bias", u8), 

2543 ("reset_frame_context", u8), 

2544 ("frame_context_idx", u8), 

2545 ("profile", u8), 

2546 ("bit_depth", u8), 

2547 ("interpolation_filter", u8), 

2548 ("tile_cols_log2", u8), 

2549 ("tile_rows_log2", u8), 

2550 ("reference_mode", u8), 

2551 ("reserved", cchar * 7), 

2552] 

2553 

2554 

2555class v4l2_vp9_mv_probs(Struct): 

2556 _pack_ = True 

2557 

2558 

2559v4l2_vp9_mv_probs._fields_ = [ 

2560 ("joint", cchar * 3), 

2561 ("sign", cchar * 2), 

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

2563 ("class0_bit", cchar * 2), 

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

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

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

2567 ("class0_hp", cchar * 2), 

2568 ("hp", cchar * 2), 

2569] 

2570 

2571 

2572class v4l2_ctrl_vp9_compressed_hdr(Struct): 

2573 _pack_ = True 

2574 

2575 

2576v4l2_ctrl_vp9_compressed_hdr._fields_ = [ 

2577 ("tx_mode", u8), 

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

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

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

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

2582 ("skip", cchar * 3), 

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

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

2585 ("is_inter", cchar * 4), 

2586 ("comp_mode", cchar * 5), 

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

2588 ("comp_ref", cchar * 5), 

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

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

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

2592 ("mv", v4l2_vp9_mv_probs), 

2593] 

2594 

2595 

2596class v4l2_ctrl_av1_sequence(Struct): 

2597 pass 

2598 

2599 

2600v4l2_ctrl_av1_sequence._fields_ = [ 

2601 ("flags", cuint), 

2602 ("seq_profile", u8), 

2603 ("order_hint_bits", u8), 

2604 ("bit_depth", u8), 

2605 ("reserved", u8), 

2606 ("max_frame_width_minus_1", u16), 

2607 ("max_frame_height_minus_1", u16), 

2608] 

2609 

2610 

2611class v4l2_ctrl_av1_tile_group_entry(Struct): 

2612 pass 

2613 

2614 

2615v4l2_ctrl_av1_tile_group_entry._fields_ = [ 

2616 ("tile_offset", cuint), 

2617 ("tile_size", cuint), 

2618 ("tile_row", cuint), 

2619 ("tile_col", cuint), 

2620] 

2621 

2622 

2623class v4l2_av1_global_motion(Struct): 

2624 pass 

2625 

2626 

2627v4l2_av1_global_motion._fields_ = [ 

2628 ("flags", cchar * 8), 

2629 ("type", cuint * 8), 

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

2631 ("invalid", u8), 

2632 ("reserved", cchar * 3), 

2633] 

2634 

2635 

2636class v4l2_av1_loop_restoration(Struct): 

2637 pass 

2638 

2639 

2640v4l2_av1_loop_restoration._fields_ = [ 

2641 ("flags", u8), 

2642 ("lr_unit_shift", u8), 

2643 ("lr_uv_shift", u8), 

2644 ("reserved", u8), 

2645 ("frame_restoration_type", cuint * 3), 

2646 ("loop_restoration_size", cuint * 3), 

2647] 

2648 

2649 

2650class v4l2_av1_cdef(Struct): 

2651 _pack_ = True 

2652 

2653 

2654v4l2_av1_cdef._fields_ = [ 

2655 ("damping_minus_3", u8), 

2656 ("bits", u8), 

2657 ("y_pri_strength", cchar * 8), 

2658 ("y_sec_strength", cchar * 8), 

2659 ("uv_pri_strength", cchar * 8), 

2660 ("uv_sec_strength", cchar * 8), 

2661] 

2662 

2663 

2664class v4l2_av1_segmentation(Struct): 

2665 pass 

2666 

2667 

2668v4l2_av1_segmentation._fields_ = [ 

2669 ("flags", u8), 

2670 ("last_active_seg_id", u8), 

2671 ("feature_enabled", cchar * 8), 

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

2673] 

2674 

2675 

2676class v4l2_av1_loop_filter(Struct): 

2677 _pack_ = True 

2678 

2679 

2680v4l2_av1_loop_filter._fields_ = [ 

2681 ("flags", u8), 

2682 ("level", cchar * 4), 

2683 ("sharpness", u8), 

2684 ("ref_deltas", cchar * 8), 

2685 ("mode_deltas", cchar * 2), 

2686 ("delta_lf_res", u8), 

2687] 

2688 

2689 

2690class v4l2_av1_quantization(Struct): 

2691 _pack_ = True 

2692 

2693 

2694v4l2_av1_quantization._fields_ = [ 

2695 ("flags", u8), 

2696 ("base_q_idx", u8), 

2697 ("delta_q_y_dc", cchar), 

2698 ("delta_q_u_dc", cchar), 

2699 ("delta_q_u_ac", cchar), 

2700 ("delta_q_v_dc", cchar), 

2701 ("delta_q_v_ac", cchar), 

2702 ("qm_y", u8), 

2703 ("qm_u", u8), 

2704 ("qm_v", u8), 

2705 ("delta_q_res", u8), 

2706] 

2707 

2708 

2709class v4l2_av1_tile_info(Struct): 

2710 pass 

2711 

2712 

2713v4l2_av1_tile_info._fields_ = [ 

2714 ("flags", u8), 

2715 ("context_update_tile_id", u8), 

2716 ("tile_cols", u8), 

2717 ("tile_rows", u8), 

2718 ("mi_col_starts", cuint * 65), 

2719 ("mi_row_starts", cuint * 65), 

2720 ("width_in_sbs_minus_1", cuint * 64), 

2721 ("height_in_sbs_minus_1", cuint * 64), 

2722 ("tile_size_bytes", u8), 

2723 ("reserved", cchar * 3), 

2724] 

2725 

2726 

2727class v4l2_ctrl_av1_frame(Struct): 

2728 pass 

2729 

2730 

2731v4l2_ctrl_av1_frame._fields_ = [ 

2732 ("tile_info", v4l2_av1_tile_info), 

2733 ("quantization", v4l2_av1_quantization), 

2734 ("superres_denom", u8), 

2735 ("segmentation", v4l2_av1_segmentation), 

2736 ("loop_filter", v4l2_av1_loop_filter), 

2737 ("cdef", v4l2_av1_cdef), 

2738 ("skip_mode_frame", cchar * 2), 

2739 ("primary_ref_frame", u8), 

2740 ("loop_restoration", v4l2_av1_loop_restoration), 

2741 ("global_motion", v4l2_av1_global_motion), 

2742 ("flags", cuint), 

2743 ("frame_type", cuint), 

2744 ("order_hint", cuint), 

2745 ("upscaled_width", cuint), 

2746 ("interpolation_filter", cuint), 

2747 ("tx_mode", cuint), 

2748 ("frame_width_minus_1", cuint), 

2749 ("frame_height_minus_1", cuint), 

2750 ("render_width_minus_1", u16), 

2751 ("render_height_minus_1", u16), 

2752 ("current_frame_id", cuint), 

2753 ("buffer_removal_time", cuint * 32), 

2754 ("reserved", cchar * 4), 

2755 ("order_hints", cuint * 8), 

2756 ("reference_frame_ts", culonglong * 8), 

2757 ("ref_frame_idx", cchar * 7), 

2758 ("refresh_frame_flags", u8), 

2759] 

2760 

2761 

2762class v4l2_ctrl_av1_film_grain(Struct): 

2763 pass 

2764 

2765 

2766v4l2_ctrl_av1_film_grain._fields_ = [ 

2767 ("flags", u8), 

2768 ("cr_mult", u8), 

2769 ("grain_seed", u16), 

2770 ("film_grain_params_ref_idx", u8), 

2771 ("num_y_points", u8), 

2772 ("point_y_value", cchar * 16), 

2773 ("point_y_scaling", cchar * 16), 

2774 ("num_cb_points", u8), 

2775 ("point_cb_value", cchar * 16), 

2776 ("point_cb_scaling", cchar * 16), 

2777 ("num_cr_points", u8), 

2778 ("point_cr_value", cchar * 16), 

2779 ("point_cr_scaling", cchar * 16), 

2780 ("grain_scaling_minus_8", u8), 

2781 ("ar_coeff_lag", u8), 

2782 ("ar_coeffs_y_plus_128", cchar * 25), 

2783 ("ar_coeffs_cb_plus_128", cchar * 25), 

2784 ("ar_coeffs_cr_plus_128", cchar * 25), 

2785 ("ar_coeff_shift_minus_6", u8), 

2786 ("grain_scale_shift", u8), 

2787 ("cb_mult", u8), 

2788 ("cb_luma_mult", u8), 

2789 ("cr_luma_mult", u8), 

2790 ("cb_offset", u16), 

2791 ("cr_offset", u16), 

2792 ("reserved", cchar * 4), 

2793] 

2794 

2795 

2796class v4l2_rect(Struct): 

2797 pass 

2798 

2799 

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

2801 

2802 

2803class v4l2_fract(Struct): 

2804 pass 

2805 

2806 

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

2808 

2809 

2810class v4l2_area(Struct): 

2811 pass 

2812 

2813 

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

2815 

2816 

2817class v4l2_capability(Struct): 

2818 pass 

2819 

2820 

2821v4l2_capability._fields_ = [ 

2822 ("driver", cchar * 16), 

2823 ("card", cchar * 32), 

2824 ("bus_info", cchar * 32), 

2825 ("version", cuint), 

2826 ("capabilities", cuint), 

2827 ("device_caps", cuint), 

2828 ("reserved", cuint * 3), 

2829] 

2830 

2831 

2832class v4l2_pix_format(Struct): 

2833 class M1(Union): 

2834 pass 

2835 

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

2837 

2838 _anonymous_ = ("m1",) 

2839 

2840 

2841v4l2_pix_format._fields_ = [ 

2842 ("width", cuint), 

2843 ("height", cuint), 

2844 ("pixelformat", cuint), 

2845 ("field", cuint), 

2846 ("bytesperline", cuint), 

2847 ("sizeimage", cuint), 

2848 ("colorspace", cuint), 

2849 ("priv", cuint), 

2850 ("flags", cuint), 

2851 ("m1", v4l2_pix_format.M1), 

2852 ("quantization", cuint), 

2853 ("xfer_func", cuint), 

2854] 

2855 

2856 

2857class v4l2_fmtdesc(Struct): 

2858 pass 

2859 

2860 

2861v4l2_fmtdesc._fields_ = [ 

2862 ("index", cuint), 

2863 ("type", cuint), 

2864 ("flags", cuint), 

2865 ("description", cchar * 32), 

2866 ("pixelformat", cuint), 

2867 ("mbus_code", cuint), 

2868 ("reserved", cuint * 3), 

2869] 

2870 

2871 

2872class v4l2_frmsize_discrete(Struct): 

2873 pass 

2874 

2875 

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

2877 

2878 

2879class v4l2_frmsize_stepwise(Struct): 

2880 pass 

2881 

2882 

2883v4l2_frmsize_stepwise._fields_ = [ 

2884 ("min_width", cuint), 

2885 ("max_width", cuint), 

2886 ("step_width", cuint), 

2887 ("min_height", cuint), 

2888 ("max_height", cuint), 

2889 ("step_height", cuint), 

2890] 

2891 

2892 

2893class v4l2_frmsizeenum(Struct): 

2894 class M1(Union): 

2895 pass 

2896 

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

2898 

2899 _anonymous_ = ("m1",) 

2900 

2901 

2902v4l2_frmsizeenum._fields_ = [ 

2903 ("index", cuint), 

2904 ("pixel_format", cuint), 

2905 ("type", cuint), 

2906 ("m1", v4l2_frmsizeenum.M1), 

2907 ("reserved", cuint * 2), 

2908] 

2909 

2910 

2911class v4l2_frmival_stepwise(Struct): 

2912 pass 

2913 

2914 

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

2916 

2917 

2918class v4l2_frmivalenum(Struct): 

2919 class M1(Union): 

2920 pass 

2921 

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

2923 

2924 _anonymous_ = ("m1",) 

2925 

2926 

2927v4l2_frmivalenum._fields_ = [ 

2928 ("index", cuint), 

2929 ("pixel_format", cuint), 

2930 ("width", cuint), 

2931 ("height", cuint), 

2932 ("type", cuint), 

2933 ("m1", v4l2_frmivalenum.M1), 

2934 ("reserved", cuint * 2), 

2935] 

2936 

2937 

2938class v4l2_timecode(Struct): 

2939 pass 

2940 

2941 

2942v4l2_timecode._fields_ = [ 

2943 ("type", cuint), 

2944 ("flags", cuint), 

2945 ("frames", u8), 

2946 ("seconds", u8), 

2947 ("minutes", u8), 

2948 ("hours", u8), 

2949 ("userbits", cchar * 4), 

2950] 

2951 

2952 

2953class v4l2_jpegcompression(Struct): 

2954 pass 

2955 

2956 

2957v4l2_jpegcompression._fields_ = [ 

2958 ("quality", cint), 

2959 ("APPn", cint), 

2960 ("APP_len", cint), 

2961 ("APP_data", cchar * 60), 

2962 ("COM_len", cint), 

2963 ("COM_data", cchar * 60), 

2964 ("jpeg_markers", cuint), 

2965] 

2966 

2967 

2968class v4l2_requestbuffers(Struct): 

2969 pass 

2970 

2971 

2972v4l2_requestbuffers._fields_ = [ 

2973 ("count", cuint), 

2974 ("type", cuint), 

2975 ("memory", cuint), 

2976 ("capabilities", cuint), 

2977 ("flags", u8), 

2978 ("reserved", cchar * 3), 

2979] 

2980 

2981 

2982class v4l2_plane(Struct): 

2983 class M1(Union): 

2984 pass 

2985 

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

2987 

2988 

2989v4l2_plane._fields_ = [ 

2990 ("bytesused", cuint), 

2991 ("length", cuint), 

2992 ("m", v4l2_plane.M1), 

2993 ("data_offset", cuint), 

2994 ("reserved", cuint * 11), 

2995] 

2996 

2997 

2998class v4l2_buffer(Struct): 

2999 class M1(Union): 

3000 pass 

3001 

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

3003 

3004 class M2(Union): 

3005 pass 

3006 

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

3008 

3009 _anonymous_ = ("m2",) 

3010 

3011 

3012v4l2_buffer._fields_ = [ 

3013 ("index", cuint), 

3014 ("type", cuint), 

3015 ("bytesused", cuint), 

3016 ("flags", cuint), 

3017 ("field", cuint), 

3018 ("timestamp", timeval), 

3019 ("timecode", v4l2_timecode), 

3020 ("sequence", cuint), 

3021 ("memory", cuint), 

3022 ("m", v4l2_buffer.M1), 

3023 ("length", cuint), 

3024 ("reserved2", cuint), 

3025 ("m2", v4l2_buffer.M2), 

3026] 

3027 

3028 

3029class v4l2_exportbuffer(Struct): 

3030 pass 

3031 

3032 

3033v4l2_exportbuffer._fields_ = [ 

3034 ("type", cuint), 

3035 ("index", cuint), 

3036 ("plane", cuint), 

3037 ("flags", cuint), 

3038 ("fd", cint), 

3039 ("reserved", cuint * 11), 

3040] 

3041 

3042 

3043class v4l2_framebuffer(Struct): 

3044 class M1(Struct): 

3045 pass 

3046 

3047 M1._fields_ = [ 

3048 ("width", cuint), 

3049 ("height", cuint), 

3050 ("pixelformat", cuint), 

3051 ("field", cuint), 

3052 ("bytesperline", cuint), 

3053 ("sizeimage", cuint), 

3054 ("colorspace", cuint), 

3055 ("priv", cuint), 

3056 ] 

3057 

3058 

3059v4l2_framebuffer._fields_ = [ 

3060 ("capability", cuint), 

3061 ("flags", cuint), 

3062 ("base", POINTER(None)), 

3063 ("fmt", v4l2_framebuffer.M1), 

3064] 

3065 

3066 

3067class v4l2_clip(Struct): 

3068 pass 

3069 

3070 

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

3072 

3073 

3074class v4l2_window(Struct): 

3075 pass 

3076 

3077 

3078v4l2_window._fields_ = [ 

3079 ("w", v4l2_rect), 

3080 ("field", cuint), 

3081 ("chromakey", cuint), 

3082 ("clips", POINTER(v4l2_clip)), 

3083 ("clipcount", cuint), 

3084 ("bitmap", POINTER(None)), 

3085 ("global_alpha", u8), 

3086] 

3087 

3088 

3089class v4l2_captureparm(Struct): 

3090 pass 

3091 

3092 

3093v4l2_captureparm._fields_ = [ 

3094 ("capability", cuint), 

3095 ("capturemode", cuint), 

3096 ("timeperframe", v4l2_fract), 

3097 ("extendedmode", cuint), 

3098 ("readbuffers", cuint), 

3099 ("reserved", cuint * 4), 

3100] 

3101 

3102 

3103class v4l2_outputparm(Struct): 

3104 pass 

3105 

3106 

3107v4l2_outputparm._fields_ = [ 

3108 ("capability", cuint), 

3109 ("outputmode", cuint), 

3110 ("timeperframe", v4l2_fract), 

3111 ("extendedmode", cuint), 

3112 ("writebuffers", cuint), 

3113 ("reserved", cuint * 4), 

3114] 

3115 

3116 

3117class v4l2_cropcap(Struct): 

3118 pass 

3119 

3120 

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

3122 

3123 

3124class v4l2_crop(Struct): 

3125 pass 

3126 

3127 

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

3129 

3130 

3131class v4l2_selection(Struct): 

3132 pass 

3133 

3134 

3135v4l2_selection._fields_ = [ 

3136 ("type", cuint), 

3137 ("target", cuint), 

3138 ("flags", cuint), 

3139 ("r", v4l2_rect), 

3140 ("reserved", cuint * 9), 

3141] 

3142 

3143 

3144class v4l2_standard(Struct): 

3145 pass 

3146 

3147 

3148v4l2_standard._fields_ = [ 

3149 ("index", cuint), 

3150 ("id", culonglong), 

3151 ("name", cchar * 24), 

3152 ("frameperiod", v4l2_fract), 

3153 ("framelines", cuint), 

3154 ("reserved", cuint * 4), 

3155] 

3156 

3157 

3158class v4l2_bt_timings(Struct): 

3159 _pack_ = True 

3160 

3161 

3162v4l2_bt_timings._fields_ = [ 

3163 ("width", cuint), 

3164 ("height", cuint), 

3165 ("interlaced", cuint), 

3166 ("polarities", cuint), 

3167 ("pixelclock", culonglong), 

3168 ("hfrontporch", cuint), 

3169 ("hsync", cuint), 

3170 ("hbackporch", cuint), 

3171 ("vfrontporch", cuint), 

3172 ("vsync", cuint), 

3173 ("vbackporch", cuint), 

3174 ("il_vfrontporch", cuint), 

3175 ("il_vsync", cuint), 

3176 ("il_vbackporch", cuint), 

3177 ("standards", cuint), 

3178 ("flags", cuint), 

3179 ("picture_aspect", v4l2_fract), 

3180 ("cea861_vic", u8), 

3181 ("hdmi_vic", u8), 

3182 ("reserved", cchar * 46), 

3183] 

3184 

3185 

3186class v4l2_dv_timings(Struct): 

3187 _pack_ = True 

3188 

3189 class M1(Union): 

3190 pass 

3191 

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

3193 

3194 _anonymous_ = ("m1",) 

3195 

3196 

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

3198 

3199 

3200class v4l2_enum_dv_timings(Struct): 

3201 pass 

3202 

3203 

3204v4l2_enum_dv_timings._fields_ = [ 

3205 ("index", cuint), 

3206 ("pad", cuint), 

3207 ("reserved", cuint * 2), 

3208 ("timings", v4l2_dv_timings), 

3209] 

3210 

3211 

3212class v4l2_bt_timings_cap(Struct): 

3213 _pack_ = True 

3214 

3215 

3216v4l2_bt_timings_cap._fields_ = [ 

3217 ("min_width", cuint), 

3218 ("max_width", cuint), 

3219 ("min_height", cuint), 

3220 ("max_height", cuint), 

3221 ("min_pixelclock", culonglong), 

3222 ("max_pixelclock", culonglong), 

3223 ("standards", cuint), 

3224 ("capabilities", cuint), 

3225 ("reserved", cuint * 16), 

3226] 

3227 

3228 

3229class v4l2_dv_timings_cap(Struct): 

3230 class M1(Union): 

3231 pass 

3232 

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

3234 

3235 _anonymous_ = ("m1",) 

3236 

3237 

3238v4l2_dv_timings_cap._fields_ = [ 

3239 ("type", cuint), 

3240 ("pad", cuint), 

3241 ("reserved", cuint * 2), 

3242 ("m1", v4l2_dv_timings_cap.M1), 

3243] 

3244 

3245 

3246class v4l2_input(Struct): 

3247 pass 

3248 

3249 

3250v4l2_input._fields_ = [ 

3251 ("index", cuint), 

3252 ("name", cchar * 32), 

3253 ("type", cuint), 

3254 ("audioset", cuint), 

3255 ("tuner", cuint), 

3256 ("std", culonglong), 

3257 ("status", cuint), 

3258 ("capabilities", cuint), 

3259 ("reserved", cuint * 3), 

3260] 

3261 

3262 

3263class v4l2_output(Struct): 

3264 pass 

3265 

3266 

3267v4l2_output._fields_ = [ 

3268 ("index", cuint), 

3269 ("name", cchar * 32), 

3270 ("type", cuint), 

3271 ("audioset", cuint), 

3272 ("modulator", cuint), 

3273 ("std", culonglong), 

3274 ("capabilities", cuint), 

3275 ("reserved", cuint * 3), 

3276] 

3277 

3278 

3279class v4l2_control(Struct): 

3280 pass 

3281 

3282 

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

3284 

3285 

3286class v4l2_ext_control(Struct): 

3287 _pack_ = True 

3288 

3289 class M1(Union): 

3290 _pack_ = True 

3291 

3292 M1._fields_ = [ 

3293 ("value", cint), 

3294 ("value64", clonglong), 

3295 ("string", POINTER(cchar)), 

3296 ("p_u8", POINTER(u8)), 

3297 ("p_u16", POINTER(u16)), 

3298 ("p_u32", POINTER(cuint)), 

3299 ("p_s32", POINTER(cint)), 

3300 ("p_s64", POINTER(clonglong)), 

3301 ("p_area", POINTER(v4l2_area)), 

3302 ("p_h264_sps", POINTER(v4l2_ctrl_h264_sps)), 

3303 ("p_h264_pps", POINTER(v4l2_ctrl_h264_pps)), 

3304 ("p_h264_scaling_matrix", POINTER(v4l2_ctrl_h264_scaling_matrix)), 

3305 ("p_h264_pred_weights", POINTER(v4l2_ctrl_h264_pred_weights)), 

3306 ("p_h264_slice_params", POINTER(v4l2_ctrl_h264_slice_params)), 

3307 ("p_h264_decode_params", POINTER(v4l2_ctrl_h264_decode_params)), 

3308 ("p_fwht_params", POINTER(v4l2_ctrl_fwht_params)), 

3309 ("p_vp8_frame", POINTER(v4l2_ctrl_vp8_frame)), 

3310 ("p_mpeg2_sequence", POINTER(v4l2_ctrl_mpeg2_sequence)), 

3311 ("p_mpeg2_picture", POINTER(v4l2_ctrl_mpeg2_picture)), 

3312 ("p_mpeg2_quantisation", POINTER(v4l2_ctrl_mpeg2_quantisation)), 

3313 ("p_vp9_compressed_hdr_probs", POINTER(v4l2_ctrl_vp9_compressed_hdr)), 

3314 ("p_vp9_frame", POINTER(v4l2_ctrl_vp9_frame)), 

3315 ("p_hevc_sps", POINTER(v4l2_ctrl_hevc_sps)), 

3316 ("p_hevc_pps", POINTER(v4l2_ctrl_hevc_pps)), 

3317 ("p_hevc_slice_params", POINTER(v4l2_ctrl_hevc_slice_params)), 

3318 ("p_hevc_scaling_matrix", POINTER(v4l2_ctrl_hevc_scaling_matrix)), 

3319 ("p_hevc_decode_params", POINTER(v4l2_ctrl_hevc_decode_params)), 

3320 ("p_av1_sequence", POINTER(v4l2_ctrl_av1_sequence)), 

3321 ("p_av1_tile_group_entry", POINTER(v4l2_ctrl_av1_tile_group_entry)), 

3322 ("p_av1_frame", POINTER(v4l2_ctrl_av1_frame)), 

3323 ("p_av1_film_grain", POINTER(v4l2_ctrl_av1_film_grain)), 

3324 ("p_hdr10_cll_info", POINTER(v4l2_ctrl_hdr10_cll_info)), 

3325 ("p_hdr10_mastering_display", POINTER(v4l2_ctrl_hdr10_mastering_display)), 

3326 ("ptr", POINTER(None)), 

3327 ] 

3328 

3329 _anonymous_ = ("m1",) 

3330 

3331 

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

3333 

3334 

3335class v4l2_ext_controls(Struct): 

3336 class M1(Union): 

3337 pass 

3338 

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

3340 

3341 _anonymous_ = ("m1",) 

3342 

3343 

3344v4l2_ext_controls._fields_ = [ 

3345 ("m1", v4l2_ext_controls.M1), 

3346 ("count", cuint), 

3347 ("error_idx", cuint), 

3348 ("request_fd", cint), 

3349 ("reserved", cuint * 1), 

3350 ("controls", POINTER(v4l2_ext_control)), 

3351] 

3352 

3353 

3354class v4l2_queryctrl(Struct): 

3355 pass 

3356 

3357 

3358v4l2_queryctrl._fields_ = [ 

3359 ("id", cuint), 

3360 ("type", cuint), 

3361 ("name", cchar * 32), 

3362 ("minimum", cint), 

3363 ("maximum", cint), 

3364 ("step", cint), 

3365 ("default_value", cint), 

3366 ("flags", cuint), 

3367 ("reserved", cuint * 2), 

3368] 

3369 

3370 

3371class v4l2_query_ext_ctrl(Struct): 

3372 pass 

3373 

3374 

3375v4l2_query_ext_ctrl._fields_ = [ 

3376 ("id", cuint), 

3377 ("type", cuint), 

3378 ("name", cchar * 32), 

3379 ("minimum", clonglong), 

3380 ("maximum", clonglong), 

3381 ("step", culonglong), 

3382 ("default_value", clonglong), 

3383 ("flags", cuint), 

3384 ("elem_size", cuint), 

3385 ("elems", cuint), 

3386 ("nr_of_dims", cuint), 

3387 ("dims", cuint * 4), 

3388 ("reserved", cuint * 32), 

3389] 

3390 

3391 

3392class v4l2_querymenu(Struct): 

3393 _pack_ = True 

3394 

3395 class M1(Union): 

3396 pass 

3397 

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

3399 

3400 _anonymous_ = ("m1",) 

3401 

3402 

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

3404 

3405 

3406class v4l2_tuner(Struct): 

3407 pass 

3408 

3409 

3410v4l2_tuner._fields_ = [ 

3411 ("index", cuint), 

3412 ("name", cchar * 32), 

3413 ("type", cuint), 

3414 ("capability", cuint), 

3415 ("rangelow", cuint), 

3416 ("rangehigh", cuint), 

3417 ("rxsubchans", cuint), 

3418 ("audmode", cuint), 

3419 ("signal", cint), 

3420 ("afc", cint), 

3421 ("reserved", cuint * 4), 

3422] 

3423 

3424 

3425class v4l2_modulator(Struct): 

3426 pass 

3427 

3428 

3429v4l2_modulator._fields_ = [ 

3430 ("index", cuint), 

3431 ("name", cchar * 32), 

3432 ("capability", cuint), 

3433 ("rangelow", cuint), 

3434 ("rangehigh", cuint), 

3435 ("txsubchans", cuint), 

3436 ("type", cuint), 

3437 ("reserved", cuint * 3), 

3438] 

3439 

3440 

3441class v4l2_frequency(Struct): 

3442 pass 

3443 

3444 

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

3446 

3447 

3448class v4l2_frequency_band(Struct): 

3449 pass 

3450 

3451 

3452v4l2_frequency_band._fields_ = [ 

3453 ("tuner", cuint), 

3454 ("type", cuint), 

3455 ("index", cuint), 

3456 ("capability", cuint), 

3457 ("rangelow", cuint), 

3458 ("rangehigh", cuint), 

3459 ("modulation", cuint), 

3460 ("reserved", cuint * 9), 

3461] 

3462 

3463 

3464class v4l2_hw_freq_seek(Struct): 

3465 pass 

3466 

3467 

3468v4l2_hw_freq_seek._fields_ = [ 

3469 ("tuner", cuint), 

3470 ("type", cuint), 

3471 ("seek_upward", cuint), 

3472 ("wrap_around", cuint), 

3473 ("spacing", cuint), 

3474 ("rangelow", cuint), 

3475 ("rangehigh", cuint), 

3476 ("reserved", cuint * 5), 

3477] 

3478 

3479 

3480class v4l2_rds_data(Struct): 

3481 _pack_ = True 

3482 

3483 

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

3485 

3486 

3487class v4l2_audio(Struct): 

3488 pass 

3489 

3490 

3491v4l2_audio._fields_ = [ 

3492 ("index", cuint), 

3493 ("name", cchar * 32), 

3494 ("capability", cuint), 

3495 ("mode", cuint), 

3496 ("reserved", cuint * 2), 

3497] 

3498 

3499 

3500class v4l2_audioout(Struct): 

3501 pass 

3502 

3503 

3504v4l2_audioout._fields_ = [ 

3505 ("index", cuint), 

3506 ("name", cchar * 32), 

3507 ("capability", cuint), 

3508 ("mode", cuint), 

3509 ("reserved", cuint * 2), 

3510] 

3511 

3512 

3513class v4l2_enc_idx_entry(Struct): 

3514 pass 

3515 

3516 

3517v4l2_enc_idx_entry._fields_ = [ 

3518 ("offset", culonglong), 

3519 ("pts", culonglong), 

3520 ("length", cuint), 

3521 ("flags", cuint), 

3522 ("reserved", cuint * 2), 

3523] 

3524 

3525 

3526class v4l2_enc_idx(Struct): 

3527 pass 

3528 

3529 

3530v4l2_enc_idx._fields_ = [ 

3531 ("entries", cuint), 

3532 ("entries_cap", cuint), 

3533 ("reserved", cuint * 4), 

3534 ("entry", v4l2_enc_idx_entry * 64), 

3535] 

3536 

3537 

3538class v4l2_encoder_cmd(Struct): 

3539 class M1(Union): 

3540 class M1(Struct): 

3541 pass 

3542 

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

3544 

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

3546 

3547 _anonymous_ = ("m1",) 

3548 

3549 

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

3551 

3552 

3553class v4l2_decoder_cmd(Struct): 

3554 class M1(Union): 

3555 class M1(Struct): 

3556 pass 

3557 

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

3559 

3560 class M2(Struct): 

3561 pass 

3562 

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

3564 

3565 class M3(Struct): 

3566 pass 

3567 

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

3569 

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

3571 

3572 _anonymous_ = ("m1",) 

3573 

3574 

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

3576 

3577 

3578class v4l2_vbi_format(Struct): 

3579 pass 

3580 

3581 

3582v4l2_vbi_format._fields_ = [ 

3583 ("sampling_rate", cuint), 

3584 ("offset", cuint), 

3585 ("samples_per_line", cuint), 

3586 ("sample_format", cuint), 

3587 ("start", cint * 2), 

3588 ("count", cuint * 2), 

3589 ("flags", cuint), 

3590 ("reserved", cuint * 2), 

3591] 

3592 

3593 

3594class v4l2_sliced_vbi_format(Struct): 

3595 pass 

3596 

3597 

3598v4l2_sliced_vbi_format._fields_ = [ 

3599 ("service_set", u16), 

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

3601 ("io_size", cuint), 

3602 ("reserved", cuint * 2), 

3603] 

3604 

3605 

3606class v4l2_sliced_vbi_cap(Struct): 

3607 pass 

3608 

3609 

3610v4l2_sliced_vbi_cap._fields_ = [ 

3611 ("service_set", u16), 

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

3613 ("type", cuint), 

3614 ("reserved", cuint * 3), 

3615] 

3616 

3617 

3618class v4l2_sliced_vbi_data(Struct): 

3619 pass 

3620 

3621 

3622v4l2_sliced_vbi_data._fields_ = [ 

3623 ("id", cuint), 

3624 ("field", cuint), 

3625 ("line", cuint), 

3626 ("reserved", cuint), 

3627 ("data", cchar * 48), 

3628] 

3629 

3630 

3631class v4l2_mpeg_vbi_itv0_line(Struct): 

3632 _pack_ = True 

3633 

3634 

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

3636 

3637 

3638class v4l2_mpeg_vbi_itv0(Struct): 

3639 _pack_ = True 

3640 

3641 

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

3643 

3644 

3645class v4l2_mpeg_vbi_ITV0(Struct): 

3646 _pack_ = True 

3647 

3648 

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

3650 

3651 

3652class v4l2_mpeg_vbi_fmt_ivtv(Struct): 

3653 _pack_ = True 

3654 

3655 class M1(Union): 

3656 _pack_ = True 

3657 

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

3659 

3660 _anonymous_ = ("m1",) 

3661 

3662 

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

3664 

3665 

3666class v4l2_plane_pix_format(Struct): 

3667 _pack_ = True 

3668 

3669 

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

3671 

3672 

3673class v4l2_pix_format_mplane(Struct): 

3674 _pack_ = True 

3675 

3676 class M1(Union): 

3677 _pack_ = True 

3678 

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

3680 

3681 _anonymous_ = ("m1",) 

3682 

3683 

3684v4l2_pix_format_mplane._fields_ = [ 

3685 ("width", cuint), 

3686 ("height", cuint), 

3687 ("pixelformat", cuint), 

3688 ("field", cuint), 

3689 ("colorspace", cuint), 

3690 ("plane_fmt", v4l2_plane_pix_format * 8), 

3691 ("num_planes", u8), 

3692 ("flags", u8), 

3693 ("m1", v4l2_pix_format_mplane.M1), 

3694 ("quantization", u8), 

3695 ("xfer_func", u8), 

3696 ("reserved", cchar * 7), 

3697] 

3698 

3699 

3700class v4l2_sdr_format(Struct): 

3701 _pack_ = True 

3702 

3703 

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

3705 

3706 

3707class v4l2_meta_format(Struct): 

3708 _pack_ = True 

3709 

3710 

3711v4l2_meta_format._fields_ = [ 

3712 ("dataformat", cuint), 

3713 ("buffersize", cuint), 

3714 ("width", cuint), 

3715 ("height", cuint), 

3716 ("bytesperline", cuint), 

3717] 

3718 

3719 

3720class v4l2_format(Struct): 

3721 class M1(Union): 

3722 pass 

3723 

3724 M1._fields_ = [ 

3725 ("pix", v4l2_pix_format), 

3726 ("pix_mp", v4l2_pix_format_mplane), 

3727 ("win", v4l2_window), 

3728 ("vbi", v4l2_vbi_format), 

3729 ("sliced", v4l2_sliced_vbi_format), 

3730 ("sdr", v4l2_sdr_format), 

3731 ("meta", v4l2_meta_format), 

3732 ("raw_data", cchar * 200), 

3733 ] 

3734 

3735 

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

3737 

3738 

3739class v4l2_streamparm(Struct): 

3740 class M1(Union): 

3741 pass 

3742 

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

3744 

3745 

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

3747 

3748 

3749class v4l2_event_vsync(Struct): 

3750 _pack_ = True 

3751 

3752 

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

3754 

3755 

3756class v4l2_event_ctrl(Struct): 

3757 class M1(Union): 

3758 pass 

3759 

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

3761 

3762 _anonymous_ = ("m1",) 

3763 

3764 

3765v4l2_event_ctrl._fields_ = [ 

3766 ("changes", cuint), 

3767 ("type", cuint), 

3768 ("m1", v4l2_event_ctrl.M1), 

3769 ("flags", cuint), 

3770 ("minimum", cint), 

3771 ("maximum", cint), 

3772 ("step", cint), 

3773 ("default_value", cint), 

3774] 

3775 

3776 

3777class v4l2_event_frame_sync(Struct): 

3778 pass 

3779 

3780 

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

3782 

3783 

3784class v4l2_event_src_change(Struct): 

3785 pass 

3786 

3787 

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

3789 

3790 

3791class v4l2_event_motion_det(Struct): 

3792 pass 

3793 

3794 

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

3796 

3797 

3798class v4l2_event(Struct): 

3799 class M1(Union): 

3800 pass 

3801 

3802 M1._fields_ = [ 

3803 ("vsync", v4l2_event_vsync), 

3804 ("ctrl", v4l2_event_ctrl), 

3805 ("frame_sync", v4l2_event_frame_sync), 

3806 ("src_change", v4l2_event_src_change), 

3807 ("motion_det", v4l2_event_motion_det), 

3808 ("data", cchar * 64), 

3809 ] 

3810 

3811 

3812v4l2_event._fields_ = [ 

3813 ("type", cuint), 

3814 ("u", v4l2_event.M1), 

3815 ("pending", cuint), 

3816 ("sequence", cuint), 

3817 ("timestamp", timespec), 

3818 ("id", cuint), 

3819 ("reserved", cuint * 8), 

3820] 

3821 

3822 

3823class v4l2_event_subscription(Struct): 

3824 pass 

3825 

3826 

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

3828 

3829 

3830class v4l2_dbg_match(Struct): 

3831 _pack_ = True 

3832 

3833 class M1(Union): 

3834 pass 

3835 

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

3837 

3838 _anonymous_ = ("m1",) 

3839 

3840 

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

3842 

3843 

3844class v4l2_dbg_register(Struct): 

3845 _pack_ = True 

3846 

3847 

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

3849 

3850 

3851class v4l2_dbg_chip_info(Struct): 

3852 _pack_ = True 

3853 

3854 

3855v4l2_dbg_chip_info._fields_ = [ 

3856 ("match", v4l2_dbg_match), 

3857 ("name", cchar * 32), 

3858 ("flags", cuint), 

3859 ("reserved", cuint * 32), 

3860] 

3861 

3862 

3863class v4l2_create_buffers(Struct): 

3864 pass 

3865 

3866 

3867v4l2_create_buffers._fields_ = [ 

3868 ("index", cuint), 

3869 ("count", cuint), 

3870 ("memory", cuint), 

3871 ("format", v4l2_format), 

3872 ("capabilities", cuint), 

3873 ("flags", cuint), 

3874 ("max_num_buffers", cuint), 

3875 ("reserved", cuint * 5), 

3876] 

3877 

3878 

3879class v4l2_remove_buffers(Struct): 

3880 pass 

3881 

3882 

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

3884 

3885 

3886class v4l2_mbus_framefmt(Struct): 

3887 class M1(Union): 

3888 pass 

3889 

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

3891 

3892 _anonymous_ = ("m1",) 

3893 

3894 

3895v4l2_mbus_framefmt._fields_ = [ 

3896 ("width", cuint), 

3897 ("height", cuint), 

3898 ("code", cuint), 

3899 ("field", cuint), 

3900 ("colorspace", cuint), 

3901 ("m1", v4l2_mbus_framefmt.M1), 

3902 ("quantization", u16), 

3903 ("xfer_func", u16), 

3904 ("flags", u16), 

3905 ("reserved", u16 * 10), 

3906] 

3907 

3908 

3909class v4l2_subdev_format(Struct): 

3910 pass 

3911 

3912 

3913v4l2_subdev_format._fields_ = [ 

3914 ("which", cuint), 

3915 ("pad", cuint), 

3916 ("format", v4l2_mbus_framefmt), 

3917 ("stream", cuint), 

3918 ("reserved", cuint * 7), 

3919] 

3920 

3921 

3922class v4l2_subdev_crop(Struct): 

3923 pass 

3924 

3925 

3926v4l2_subdev_crop._fields_ = [ 

3927 ("which", cuint), 

3928 ("pad", cuint), 

3929 ("rect", v4l2_rect), 

3930 ("stream", cuint), 

3931 ("reserved", cuint * 7), 

3932] 

3933 

3934 

3935class v4l2_subdev_mbus_code_enum(Struct): 

3936 pass 

3937 

3938 

3939v4l2_subdev_mbus_code_enum._fields_ = [ 

3940 ("pad", cuint), 

3941 ("index", cuint), 

3942 ("code", cuint), 

3943 ("which", cuint), 

3944 ("flags", cuint), 

3945 ("stream", cuint), 

3946 ("reserved", cuint * 6), 

3947] 

3948 

3949 

3950class v4l2_subdev_frame_size_enum(Struct): 

3951 pass 

3952 

3953 

3954v4l2_subdev_frame_size_enum._fields_ = [ 

3955 ("index", cuint), 

3956 ("pad", cuint), 

3957 ("code", cuint), 

3958 ("min_width", cuint), 

3959 ("max_width", cuint), 

3960 ("min_height", cuint), 

3961 ("max_height", cuint), 

3962 ("which", cuint), 

3963 ("stream", cuint), 

3964 ("reserved", cuint * 7), 

3965] 

3966 

3967 

3968class v4l2_subdev_frame_interval(Struct): 

3969 pass 

3970 

3971 

3972v4l2_subdev_frame_interval._fields_ = [ 

3973 ("pad", cuint), 

3974 ("interval", v4l2_fract), 

3975 ("stream", cuint), 

3976 ("which", cuint), 

3977 ("reserved", cuint * 7), 

3978] 

3979 

3980 

3981class v4l2_subdev_frame_interval_enum(Struct): 

3982 pass 

3983 

3984 

3985v4l2_subdev_frame_interval_enum._fields_ = [ 

3986 ("index", cuint), 

3987 ("pad", cuint), 

3988 ("code", cuint), 

3989 ("width", cuint), 

3990 ("height", cuint), 

3991 ("interval", v4l2_fract), 

3992 ("which", cuint), 

3993 ("stream", cuint), 

3994 ("reserved", cuint * 7), 

3995] 

3996 

3997 

3998class v4l2_subdev_selection(Struct): 

3999 pass 

4000 

4001 

4002v4l2_subdev_selection._fields_ = [ 

4003 ("which", cuint), 

4004 ("pad", cuint), 

4005 ("target", cuint), 

4006 ("flags", cuint), 

4007 ("r", v4l2_rect), 

4008 ("stream", cuint), 

4009 ("reserved", cuint * 7), 

4010] 

4011 

4012 

4013class v4l2_subdev_capability(Struct): 

4014 pass 

4015 

4016 

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

4018 

4019 

4020class v4l2_subdev_route(Struct): 

4021 pass 

4022 

4023 

4024v4l2_subdev_route._fields_ = [ 

4025 ("sink_pad", cuint), 

4026 ("sink_stream", cuint), 

4027 ("source_pad", cuint), 

4028 ("source_stream", cuint), 

4029 ("flags", cuint), 

4030 ("reserved", cuint * 5), 

4031] 

4032 

4033 

4034class v4l2_subdev_routing(Struct): 

4035 pass 

4036 

4037 

4038v4l2_subdev_routing._fields_ = [ 

4039 ("which", cuint), 

4040 ("len_routes", cuint), 

4041 ("routes", culonglong), 

4042 ("num_routes", cuint), 

4043 ("reserved", cuint * 11), 

4044] 

4045 

4046 

4047class v4l2_subdev_client_capability(Struct): 

4048 pass 

4049 

4050 

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

4052 

4053 

4054# STD macros are too complicated to auto generate 

4055 

4056 

4057class StandardID(enum.IntFlag): 

4058 PAL_B = 0x00000001 

4059 PAL_B1 = 0x00000002 

4060 PAL_G = 0x00000004 

4061 PAL_H = 0x00000008 

4062 PAL_I = 0x00000010 

4063 PAL_D = 0x00000020 

4064 PAL_D1 = 0x00000040 

4065 PAL_K = 0x00000080 

4066 PAL_M = 0x00000100 

4067 PAL_N = 0x00000200 

4068 PAL_Nc = 0x00000400 

4069 PAL_60 = 0x00000800 

4070 NTSC_M = 0x00001000 # BTSC 

4071 NTSC_M_JP = 0x00002000 # EIA-J 

4072 NTSC_443 = 0x00004000 

4073 NTSC_M_KR = 0x00008000 # FM A2 

4074 SECAM_B = 0x00010000 

4075 SECAM_D = 0x00020000 

4076 SECAM_G = 0x00040000 

4077 SECAM_H = 0x00080000 

4078 SECAM_K = 0x00100000 

4079 SECAM_K1 = 0x00200000 

4080 SECAM_L = 0x00400000 

4081 SECAM_LC = 0x00800000 

4082 ATSC_8_VSB = 0x01000000 

4083 ATSC_16_VSB = 0x02000000 

4084 

4085 

4086class IOC(enum.IntEnum): 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4140 LOG_STATUS = _IO("V", 70) 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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