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
« 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.
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)
13import enum
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
36v4l2_std_id = u64
39class SelectionFlag(enum.IntFlag):
40 GE = 1 << 0
41 LE = 1 << 1
42 KEEP_CONFIG = 1 << 2
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
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
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
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
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
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
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
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
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
415class InputType(enum.IntEnum):
416 TUNER = 0x1
417 CAMERA = 0x2
418 TOUCH = 0x3
421class OutputType(enum.IntEnum):
422 MODULATOR = 0x1
423 ANALOG = 0x2
424 ANALOGVGAOVERLAY = 0x3
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
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
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
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
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
953class ControlWhichValue(enum.IntEnum):
954 CUR_VAL = 0x0
955 DEF_VAL = 0xF000000
956 REQUEST_VAL = 0xF010000
959class TimeCodeType(enum.IntEnum):
960 _24FPS = 0x1
961 _25FPS = 0x2
962 _30FPS = 0x3
963 _50FPS = 0x4
964 _60FPS = 0x5
967class TimeCodeFlag(enum.IntFlag):
968 DROPFRAME = 0x0001 # "drop-frame" mode
969 COLORFRAME = 0x2
972class EventSubscriptionFlag(enum.IntFlag):
973 SEND_INITIAL = 1 << 0
974 ALLOW_FEEDBACK = 1 << 1
977class EventControlChange(enum.IntEnum):
978 VALUE = 1 << 0
979 FLAGS = 1 << 1
980 RANGE = 1 << 2
981 DIMENSIONS = 1 << 3
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
996class MbusFrameFormatFlag(enum.IntFlag):
997 SET_CSC = 0x1
1000class Interlaced(enum.IntEnum):
1001 V4L2_DV_PROGRESSIVE = 0x0
1002 V4L2_DV_INTERLACED = 0x1
1005class PositivePolarityFlag(enum.IntFlag):
1006 V4L2_DV_VSYNC_POS_POL = 0x1
1007 V4L2_DV_HSYNC_POS_POL = 0x2
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
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
1031class DVTimingsCapabilities(enum.IntFlag):
1032 INTERLACED = 1 << 0
1033 PROGRESSIVE = 1 << 1
1034 REDUCED_BLANKING = 1 << 2
1035 CUSTOM = 1 << 3
1038class PowerLineFrequency(enum.IntEnum):
1039 DISABLED = 0
1040 _50HZ = 1
1041 _60HZ = 2
1042 AUTO = 3
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
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
1074class MpegStreamVbiFmt(enum.IntEnum):
1075 NONE = 0
1076 IVTV = 1
1079class MpegAudioSamplingFreq(enum.IntEnum):
1080 _44100 = 0
1081 _48000 = 1
1082 _32000 = 2
1085class MpegAudioEncoding(enum.IntEnum):
1086 LAYER_1 = 0
1087 LAYER_2 = 1
1088 LAYER_3 = 2
1089 AAC = 3
1090 AC3 = 4
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
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
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
1144class MpegAudioMode(enum.IntEnum):
1145 STEREO = 0
1146 JOINT_STEREO = 1
1147 DUAL = 2
1148 MONO = 3
1151class MpegAudioModeExtension(enum.IntEnum):
1152 BOUND_4 = 0
1153 BOUND_8 = 1
1154 BOUND_12 = 2
1155 BOUND_16 = 3
1158class MpegAudioEmphasis(enum.IntEnum):
1159 NONE = 0
1160 _50_DIV_15_uS = 1
1161 CCITT_J17 = 2
1164class MpegAudioCrc(enum.IntEnum):
1165 NONE = 0
1166 CRC16 = 1
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
1191class MpegAudioDecPlayback(enum.IntEnum):
1192 AUTO = 0
1193 STEREO = 1
1194 LEFT = 2
1195 RIGHT = 3
1196 MONO = 4
1197 SWAPPED_STEREO = 5
1200class MpegVideoEncoding(enum.IntEnum):
1201 MPEG_1 = 0
1202 MPEG_2 = 1
1203 MPEG_4_AVC = 2
1206class MpegVideoAspect(enum.IntEnum):
1207 _1x1 = 0
1208 _4x3 = 1
1209 _16x9 = 2
1210 _221x100 = 3
1213class MpegVideoBitrateMode(enum.IntEnum):
1214 VBR = 0
1215 CBR = 1
1216 CQ = 2
1219class MpegVideoHeaderMode(enum.IntEnum):
1220 SEPARATE = 0
1221 JOINED_WITH_1ST_FRAME = 1
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
1232class MpegVideoIntraRefreshPeriodType(enum.IntEnum):
1233 RANDOM = 0
1234 CYCLIC = 1
1237class MpegVideoMpeg2Level(enum.IntEnum):
1238 LOW = 0
1239 MAIN = 1
1240 HIGH_1440 = 2
1241 HIGH = 3
1244class MpegVideoMpeg2Profile(enum.IntEnum):
1245 SIMPLE = 0
1246 MAIN = 1
1247 SNR_SCALABLE = 2
1248 SPATIALLY_SCALABLE = 3
1249 HIGH = 4
1250 MULTIVIEW = 5
1253class MpegVideoH264EntropyMode(enum.IntEnum):
1254 CAVLC = 0
1255 CABAC = 1
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
1281class MpegVideoH264LoopFilterMode(enum.IntEnum):
1282 ENABLED = 0
1283 DISABLED = 1
1284 DISABLED_AT_SLICE_BOUNDARY = 2
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
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
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
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
1348class MpegVideoH264FmoChangeDir(enum.IntEnum):
1349 RIGHT = 0
1350 LEFT = 1
1353class MpegVideoH264HierarchicalCodingType(enum.IntEnum):
1354 B = 0
1355 P = 1
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
1369class MpegVideoMpeg4Profile(enum.IntEnum):
1370 SIMPLE = 0
1371 ADVANCED_SIMPLE = 1
1372 CORE = 2
1373 SIMPLE_SCALABLE = 3
1374 ADVANCED_CODING_EFFICIENCY = 4
1377class Vp8NumPartitions(enum.IntEnum):
1378 _1_PARTITION = 0
1379 _2_PARTITIONS = 1
1380 _4_PARTITIONS = 2
1381 _8_PARTITIONS = 3
1384class Vp8NumRefFrames(enum.IntEnum):
1385 _1_REF_FRAME = 0
1386 _2_REF_FRAME = 1
1387 _3_REF_FRAME = 2
1390class Vp8GoldenFrameSel(enum.IntEnum):
1391 PREV = 0
1392 REF_PERIOD = 1
1395class MpegVideoVp8Profile(enum.IntEnum):
1396 _0 = 0
1397 _1 = 1
1398 _2 = 2
1399 _3 = 3
1402class MpegVideoVp9Profile(enum.IntEnum):
1403 _0 = 0
1404 _1 = 1
1405 _2 = 2
1406 _3 = 3
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
1426class MpegVideoHevcHierCodingType(enum.IntEnum):
1427 B = 0
1428 P = 1
1431class MpegVideoHevcProfile(enum.IntEnum):
1432 MAIN = 0
1433 MAIN_STILL_PICTURE = 1
1434 MAIN_10 = 2
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
1453class MpegVideoHevcTier(enum.IntEnum):
1454 MAIN = 0
1455 HIGH = 1
1458class CidMpegVideoHevcLoopFilterMode(enum.IntEnum):
1459 DISABLED = 0
1460 ENABLED = 1
1461 DISABLED_AT_SLICE_BOUNDARY = 2
1464class CidMpegVideoHevcRefreshType(enum.IntEnum):
1465 NONE = 0
1466 CRA = 1
1467 IDR = 2
1470class CidMpegVideoHevcSizeOfLengthField(enum.IntEnum):
1471 _0 = 0
1472 _1 = 1
1473 _2 = 2
1474 _4 = 3
1477class MpegVideoFrameSkipMode(enum.IntEnum):
1478 DISABLED = 0
1479 LEVEL_LIMIT = 1
1480 BUF_LIMIT = 2
1483class MpegVideoAv1Profile(enum.IntEnum):
1484 MAIN = 0
1485 HIGH = 1
1486 PROFESSIONAL = 2
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
1516class MpegCx2341xVideoSpatialFilterMode(enum.IntEnum):
1517 MANUAL = 0
1518 AUTO = 1
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
1529class MpegCx2341xVideoChromaSpatialFilterType(enum.IntEnum):
1530 OFF = 0
1531 _1D_HOR = 1
1534class MpegCx2341xVideoTemporalFilterMode(enum.IntEnum):
1535 MANUAL = 0
1536 AUTO = 1
1539class MpegCx2341xVideoMedianFilterType(enum.IntEnum):
1540 OFF = 0
1541 HOR = 1
1542 VERT = 2
1543 HOR_VERT = 3
1544 DIAG = 4
1547class MpegMfc51VideoFrameSkipMode(enum.IntEnum):
1548 DISABLED = 0
1549 LEVEL_LIMIT = 1
1550 BUF_LIMIT = 2
1553class MpegMfc51VideoForceFrameType(enum.IntEnum):
1554 DISABLED = 0
1555 I_FRAME = 1
1556 NOT_CODED = 2
1559class ExposureAutoType(enum.IntEnum):
1560 AUTO = 0
1561 MANUAL = 1
1562 SHUTTER_PRIORITY = 2
1563 APERTURE_PRIORITY = 3
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
1579class IsoSensitivityAutoType(enum.IntEnum):
1580 MANUAL = 0
1581 AUTO = 1
1584class ExposureMetering(enum.IntEnum):
1585 AVERAGE = 0
1586 CENTER_WEIGHTED = 1
1587 SPOT = 2
1588 MATRIX = 3
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
1608class AutoFocusRange(enum.IntEnum):
1609 AUTO = 0
1610 NORMAL = 1
1611 MACRO = 2
1612 INFINITY = 3
1615class Preemphasis(enum.IntEnum):
1616 DISABLED = 0
1617 _50_uS = 1
1618 _75_uS = 2
1621class FlashLedMode(enum.IntEnum):
1622 NONE = 0
1623 FLASH = 1
1624 TORCH = 2
1627class FlashStrobeSource(enum.IntEnum):
1628 SOFTWARE = 0
1629 EXTERNAL = 1
1632class JpegChromaSubsampling(enum.IntEnum):
1633 _444 = 0
1634 _422 = 1
1635 _420 = 2
1636 _411 = 3
1637 _410 = 4
1638 GRAY = 5
1641class DvTxMode(enum.IntEnum):
1642 DVI_D = 0
1643 HDMI = 1
1646class DvRgbRange(enum.IntEnum):
1647 AUTO = 0
1648 LIMITED = 1
1649 FULL = 2
1652class DvItContentType(enum.IntEnum):
1653 GRAPHICS = 0
1654 PHOTO = 1
1655 CINEMA = 2
1656 GAME = 3
1657 NO_ITC = 4
1660class Deemphasis(enum.IntEnum):
1661 DISABLED = 0
1662 _50_uS = 1
1663 _75_uS = 2
1666class DetectMdMode(enum.IntEnum):
1667 DISABLED = 0
1668 GLOBAL = 1
1669 THRESHOLD_GRID = 2
1670 REGION_GRID = 3
1673class StatelessH264DecodeMode(enum.IntEnum):
1674 SLICE_BASED = 0
1675 FRAME_BASED = 1
1678class StatelessH264StartCode(enum.IntEnum):
1679 NONE = 0
1680 ANNEX_B = 1
1683class StatelessHevcDecodeMode(enum.IntEnum):
1684 SLICE_BASED = 0
1685 FRAME_BASED = 1
1688class StatelessHevcStartCode(enum.IntEnum):
1689 NONE = 0
1690 ANNEX_B = 1
1693class Av1WarpModel(enum.IntEnum):
1694 IDENTITY = 0
1695 TRANSLATION = 1
1696 ROTZOOM = 2
1697 AFFINE = 3
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
1711class Av1FrameRestorationType(enum.IntEnum):
1712 NONE = 0
1713 WIENER = 1
1714 SGRPROJ = 2
1715 SWITCHABLE = 3
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
1727class Av1FrameType(enum.IntEnum):
1728 KEY_FRAME = 0
1729 INTER_FRAME = 1
1730 INTRA_ONLY_FRAME = 2
1731 SWITCH_FRAME = 3
1734class Av1InterpolationFilter(enum.IntEnum):
1735 EIGHTTAP = 0
1736 EIGHTTAP_SMOOTH = 1
1737 EIGHTTAP_SHARP = 2
1738 BILINEAR = 3
1739 SWITCHABLE = 4
1742class Av1TxMode(enum.IntEnum):
1743 ONLY_4X4 = 0
1744 LARGEST = 1
1745 SELECT = 2
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
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
1778class TunerType(enum.IntEnum):
1779 RADIO = 1
1780 ANALOG_TV = 2
1781 DIGITAL_TV = 3
1782 SDR = 4
1783 RF = 5
1786class Memory(enum.IntEnum):
1787 MMAP = 1
1788 USERPTR = 2
1789 OVERLAY = 3
1790 DMABUF = 4
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
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
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
1832class HsvEncoding(enum.IntEnum):
1833 _180 = 128
1834 _256 = 129
1837class Quantization(enum.IntEnum):
1838 DEFAULT = 0
1839 FULL_RANGE = 1
1840 LIM_RANGE = 2
1843class Priority(enum.IntEnum):
1844 UNSET = 0
1845 BACKGROUND = 1
1846 INTERACTIVE = 2
1847 RECORD = 3
1848 DEFAULT = 2
1851class Frmsizetypes(enum.IntEnum):
1852 DISCRETE = 1
1853 CONTINUOUS = 2
1854 STEPWISE = 3
1857class Frmivaltypes(enum.IntEnum):
1858 DISCRETE = 1
1859 CONTINUOUS = 2
1860 STEPWISE = 3
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
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
1983class SubdevFormatWhence(enum.IntEnum):
1984 TRY = 0
1985 ACTIVE = 1
1988class v4l2_edid(Struct):
1989 pass
1992v4l2_edid._fields_ = [
1993 ("pad", cuint),
1994 ("start_block", cuint),
1995 ("blocks", cuint),
1996 ("reserved", cuint * 5),
1997 ("edid", POINTER(u8)),
1998]
2001class v4l2_ctrl_h264_sps(Struct):
2002 pass
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]
2027class v4l2_ctrl_h264_pps(Struct):
2028 pass
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]
2046class v4l2_ctrl_h264_scaling_matrix(Struct):
2047 _pack_ = True
2050v4l2_ctrl_h264_scaling_matrix._fields_ = [("scaling_list_4x4", cchar * 16 * 6), ("scaling_list_8x8", cchar * 64 * 6)]
2053class v4l2_h264_weight_factors(Struct):
2054 pass
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]
2065class v4l2_ctrl_h264_pred_weights(Struct):
2066 pass
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]
2076class v4l2_h264_reference(Struct):
2077 _pack_ = True
2080v4l2_h264_reference._fields_ = [("fields", u8), ("index", u8)]
2083class v4l2_ctrl_h264_slice_params(Struct):
2084 pass
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]
2108class v4l2_h264_dpb_entry(Struct):
2109 pass
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]
2124class v4l2_ctrl_h264_decode_params(Struct):
2125 pass
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]
2147class v4l2_ctrl_fwht_params(Struct):
2148 pass
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]
2164class v4l2_vp8_segment(Struct):
2165 pass
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]
2177class v4l2_vp8_loop_filter(Struct):
2178 pass
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]
2191class v4l2_vp8_quantization(Struct):
2192 pass
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]
2206class v4l2_vp8_entropy(Struct):
2207 _pack_ = True
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]
2219class v4l2_vp8_entropy_coder_state(Struct):
2220 _pack_ = True
2223v4l2_vp8_entropy_coder_state._fields_ = [("range", u8), ("value", u8), ("bit_count", u8), ("padding", u8)]
2226class v4l2_ctrl_vp8_frame(Struct):
2227 pass
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]
2256class v4l2_ctrl_mpeg2_sequence(Struct):
2257 pass
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]
2270class v4l2_ctrl_mpeg2_picture(Struct):
2271 pass
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]
2286class v4l2_ctrl_mpeg2_quantisation(Struct):
2287 _pack_ = True
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]
2298class v4l2_ctrl_hevc_sps(Struct):
2299 pass
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]
2332class v4l2_ctrl_hevc_pps(Struct):
2333 pass
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]
2357class v4l2_hevc_dpb_entry(Struct):
2358 pass
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]
2370class v4l2_hevc_pred_weight_table(Struct):
2371 _pack_ = True
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]
2388class v4l2_ctrl_hevc_slice_params(Struct):
2389 pass
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]
2426class v4l2_ctrl_hevc_decode_params(Struct):
2427 pass
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]
2448class v4l2_ctrl_hevc_scaling_matrix(Struct):
2449 _pack_ = True
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]
2462class v4l2_ctrl_hdr10_cll_info(Struct):
2463 pass
2466v4l2_ctrl_hdr10_cll_info._fields_ = [("max_content_light_level", u16), ("max_pic_average_light_level", u16)]
2469class v4l2_ctrl_hdr10_mastering_display(Struct):
2470 pass
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]
2483class v4l2_vp9_loop_filter(Struct):
2484 _pack_ = True
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]
2497class v4l2_vp9_quantization(Struct):
2498 _pack_ = True
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]
2510class v4l2_vp9_segmentation(Struct):
2511 pass
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]
2524class v4l2_ctrl_vp9_frame(Struct):
2525 pass
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]
2555class v4l2_vp9_mv_probs(Struct):
2556 _pack_ = True
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]
2572class v4l2_ctrl_vp9_compressed_hdr(Struct):
2573 _pack_ = True
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]
2596class v4l2_ctrl_av1_sequence(Struct):
2597 pass
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]
2611class v4l2_ctrl_av1_tile_group_entry(Struct):
2612 pass
2615v4l2_ctrl_av1_tile_group_entry._fields_ = [
2616 ("tile_offset", cuint),
2617 ("tile_size", cuint),
2618 ("tile_row", cuint),
2619 ("tile_col", cuint),
2620]
2623class v4l2_av1_global_motion(Struct):
2624 pass
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]
2636class v4l2_av1_loop_restoration(Struct):
2637 pass
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]
2650class v4l2_av1_cdef(Struct):
2651 _pack_ = True
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]
2664class v4l2_av1_segmentation(Struct):
2665 pass
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]
2676class v4l2_av1_loop_filter(Struct):
2677 _pack_ = True
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]
2690class v4l2_av1_quantization(Struct):
2691 _pack_ = True
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]
2709class v4l2_av1_tile_info(Struct):
2710 pass
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]
2727class v4l2_ctrl_av1_frame(Struct):
2728 pass
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]
2762class v4l2_ctrl_av1_film_grain(Struct):
2763 pass
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]
2796class v4l2_rect(Struct):
2797 pass
2800v4l2_rect._fields_ = [("left", cint), ("top", cint), ("width", cuint), ("height", cuint)]
2803class v4l2_fract(Struct):
2804 pass
2807v4l2_fract._fields_ = [("numerator", cuint), ("denominator", cuint)]
2810class v4l2_area(Struct):
2811 pass
2814v4l2_area._fields_ = [("width", cuint), ("height", cuint)]
2817class v4l2_capability(Struct):
2818 pass
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]
2832class v4l2_pix_format(Struct):
2833 class M1(Union):
2834 pass
2836 M1._fields_ = [("ycbcr_enc", cuint), ("hsv_enc", cuint)]
2838 _anonymous_ = ("m1",)
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]
2857class v4l2_fmtdesc(Struct):
2858 pass
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]
2872class v4l2_frmsize_discrete(Struct):
2873 pass
2876v4l2_frmsize_discrete._fields_ = [("width", cuint), ("height", cuint)]
2879class v4l2_frmsize_stepwise(Struct):
2880 pass
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]
2893class v4l2_frmsizeenum(Struct):
2894 class M1(Union):
2895 pass
2897 M1._fields_ = [("discrete", v4l2_frmsize_discrete), ("stepwise", v4l2_frmsize_stepwise)]
2899 _anonymous_ = ("m1",)
2902v4l2_frmsizeenum._fields_ = [
2903 ("index", cuint),
2904 ("pixel_format", cuint),
2905 ("type", cuint),
2906 ("m1", v4l2_frmsizeenum.M1),
2907 ("reserved", cuint * 2),
2908]
2911class v4l2_frmival_stepwise(Struct):
2912 pass
2915v4l2_frmival_stepwise._fields_ = [("min", v4l2_fract), ("max", v4l2_fract), ("step", v4l2_fract)]
2918class v4l2_frmivalenum(Struct):
2919 class M1(Union):
2920 pass
2922 M1._fields_ = [("discrete", v4l2_fract), ("stepwise", v4l2_frmival_stepwise)]
2924 _anonymous_ = ("m1",)
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]
2938class v4l2_timecode(Struct):
2939 pass
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]
2953class v4l2_jpegcompression(Struct):
2954 pass
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]
2968class v4l2_requestbuffers(Struct):
2969 pass
2972v4l2_requestbuffers._fields_ = [
2973 ("count", cuint),
2974 ("type", cuint),
2975 ("memory", cuint),
2976 ("capabilities", cuint),
2977 ("flags", u8),
2978 ("reserved", cchar * 3),
2979]
2982class v4l2_plane(Struct):
2983 class M1(Union):
2984 pass
2986 M1._fields_ = [("mem_offset", cuint), ("userptr", culong), ("fd", cint)]
2989v4l2_plane._fields_ = [
2990 ("bytesused", cuint),
2991 ("length", cuint),
2992 ("m", v4l2_plane.M1),
2993 ("data_offset", cuint),
2994 ("reserved", cuint * 11),
2995]
2998class v4l2_buffer(Struct):
2999 class M1(Union):
3000 pass
3002 M1._fields_ = [("offset", cuint), ("userptr", culong), ("planes", POINTER(v4l2_plane)), ("fd", cint)]
3004 class M2(Union):
3005 pass
3007 M2._fields_ = [("request_fd", cint), ("reserved", cuint)]
3009 _anonymous_ = ("m2",)
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]
3029class v4l2_exportbuffer(Struct):
3030 pass
3033v4l2_exportbuffer._fields_ = [
3034 ("type", cuint),
3035 ("index", cuint),
3036 ("plane", cuint),
3037 ("flags", cuint),
3038 ("fd", cint),
3039 ("reserved", cuint * 11),
3040]
3043class v4l2_framebuffer(Struct):
3044 class M1(Struct):
3045 pass
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 ]
3059v4l2_framebuffer._fields_ = [
3060 ("capability", cuint),
3061 ("flags", cuint),
3062 ("base", POINTER(None)),
3063 ("fmt", v4l2_framebuffer.M1),
3064]
3067class v4l2_clip(Struct):
3068 pass
3071v4l2_clip._fields_ = [("c", v4l2_rect), ("next", POINTER(v4l2_clip))]
3074class v4l2_window(Struct):
3075 pass
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]
3089class v4l2_captureparm(Struct):
3090 pass
3093v4l2_captureparm._fields_ = [
3094 ("capability", cuint),
3095 ("capturemode", cuint),
3096 ("timeperframe", v4l2_fract),
3097 ("extendedmode", cuint),
3098 ("readbuffers", cuint),
3099 ("reserved", cuint * 4),
3100]
3103class v4l2_outputparm(Struct):
3104 pass
3107v4l2_outputparm._fields_ = [
3108 ("capability", cuint),
3109 ("outputmode", cuint),
3110 ("timeperframe", v4l2_fract),
3111 ("extendedmode", cuint),
3112 ("writebuffers", cuint),
3113 ("reserved", cuint * 4),
3114]
3117class v4l2_cropcap(Struct):
3118 pass
3121v4l2_cropcap._fields_ = [("type", cuint), ("bounds", v4l2_rect), ("defrect", v4l2_rect), ("pixelaspect", v4l2_fract)]
3124class v4l2_crop(Struct):
3125 pass
3128v4l2_crop._fields_ = [("type", cuint), ("c", v4l2_rect)]
3131class v4l2_selection(Struct):
3132 pass
3135v4l2_selection._fields_ = [
3136 ("type", cuint),
3137 ("target", cuint),
3138 ("flags", cuint),
3139 ("r", v4l2_rect),
3140 ("reserved", cuint * 9),
3141]
3144class v4l2_standard(Struct):
3145 pass
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]
3158class v4l2_bt_timings(Struct):
3159 _pack_ = True
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]
3186class v4l2_dv_timings(Struct):
3187 _pack_ = True
3189 class M1(Union):
3190 pass
3192 M1._fields_ = [("bt", v4l2_bt_timings), ("reserved", cuint * 32)]
3194 _anonymous_ = ("m1",)
3197v4l2_dv_timings._fields_ = [("type", cuint), ("m1", v4l2_dv_timings.M1)]
3200class v4l2_enum_dv_timings(Struct):
3201 pass
3204v4l2_enum_dv_timings._fields_ = [
3205 ("index", cuint),
3206 ("pad", cuint),
3207 ("reserved", cuint * 2),
3208 ("timings", v4l2_dv_timings),
3209]
3212class v4l2_bt_timings_cap(Struct):
3213 _pack_ = True
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]
3229class v4l2_dv_timings_cap(Struct):
3230 class M1(Union):
3231 pass
3233 M1._fields_ = [("bt", v4l2_bt_timings_cap), ("raw_data", cuint * 32)]
3235 _anonymous_ = ("m1",)
3238v4l2_dv_timings_cap._fields_ = [
3239 ("type", cuint),
3240 ("pad", cuint),
3241 ("reserved", cuint * 2),
3242 ("m1", v4l2_dv_timings_cap.M1),
3243]
3246class v4l2_input(Struct):
3247 pass
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]
3263class v4l2_output(Struct):
3264 pass
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]
3279class v4l2_control(Struct):
3280 pass
3283v4l2_control._fields_ = [("id", cuint), ("value", cint)]
3286class v4l2_ext_control(Struct):
3287 _pack_ = True
3289 class M1(Union):
3290 _pack_ = True
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 ]
3329 _anonymous_ = ("m1",)
3332v4l2_ext_control._fields_ = [("id", cuint), ("size", cuint), ("reserved2", cuint * 1), ("m1", v4l2_ext_control.M1)]
3335class v4l2_ext_controls(Struct):
3336 class M1(Union):
3337 pass
3339 M1._fields_ = [("ctrl_class", cuint), ("which", cuint)]
3341 _anonymous_ = ("m1",)
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]
3354class v4l2_queryctrl(Struct):
3355 pass
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]
3371class v4l2_query_ext_ctrl(Struct):
3372 pass
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]
3392class v4l2_querymenu(Struct):
3393 _pack_ = True
3395 class M1(Union):
3396 pass
3398 M1._fields_ = [("name", cchar * 32), ("value", clonglong)]
3400 _anonymous_ = ("m1",)
3403v4l2_querymenu._fields_ = [("id", cuint), ("index", cuint), ("m1", v4l2_querymenu.M1), ("reserved", cuint)]
3406class v4l2_tuner(Struct):
3407 pass
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]
3425class v4l2_modulator(Struct):
3426 pass
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]
3441class v4l2_frequency(Struct):
3442 pass
3445v4l2_frequency._fields_ = [("tuner", cuint), ("type", cuint), ("frequency", cuint), ("reserved", cuint * 8)]
3448class v4l2_frequency_band(Struct):
3449 pass
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]
3464class v4l2_hw_freq_seek(Struct):
3465 pass
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]
3480class v4l2_rds_data(Struct):
3481 _pack_ = True
3484v4l2_rds_data._fields_ = [("lsb", u8), ("msb", u8), ("block", u8)]
3487class v4l2_audio(Struct):
3488 pass
3491v4l2_audio._fields_ = [
3492 ("index", cuint),
3493 ("name", cchar * 32),
3494 ("capability", cuint),
3495 ("mode", cuint),
3496 ("reserved", cuint * 2),
3497]
3500class v4l2_audioout(Struct):
3501 pass
3504v4l2_audioout._fields_ = [
3505 ("index", cuint),
3506 ("name", cchar * 32),
3507 ("capability", cuint),
3508 ("mode", cuint),
3509 ("reserved", cuint * 2),
3510]
3513class v4l2_enc_idx_entry(Struct):
3514 pass
3517v4l2_enc_idx_entry._fields_ = [
3518 ("offset", culonglong),
3519 ("pts", culonglong),
3520 ("length", cuint),
3521 ("flags", cuint),
3522 ("reserved", cuint * 2),
3523]
3526class v4l2_enc_idx(Struct):
3527 pass
3530v4l2_enc_idx._fields_ = [
3531 ("entries", cuint),
3532 ("entries_cap", cuint),
3533 ("reserved", cuint * 4),
3534 ("entry", v4l2_enc_idx_entry * 64),
3535]
3538class v4l2_encoder_cmd(Struct):
3539 class M1(Union):
3540 class M1(Struct):
3541 pass
3543 M1._fields_ = [("data", cuint * 8)]
3545 M1._fields_ = [("raw", M1.M1)]
3547 _anonymous_ = ("m1",)
3550v4l2_encoder_cmd._fields_ = [("cmd", cuint), ("flags", cuint), ("m1", v4l2_encoder_cmd.M1)]
3553class v4l2_decoder_cmd(Struct):
3554 class M1(Union):
3555 class M1(Struct):
3556 pass
3558 M1._fields_ = [("pts", culonglong)]
3560 class M2(Struct):
3561 pass
3563 M2._fields_ = [("speed", cint), ("format", cuint)]
3565 class M3(Struct):
3566 pass
3568 M3._fields_ = [("data", cuint * 16)]
3570 M1._fields_ = [("stop", M1.M1), ("start", M1.M2), ("raw", M1.M3)]
3572 _anonymous_ = ("m1",)
3575v4l2_decoder_cmd._fields_ = [("cmd", cuint), ("flags", cuint), ("m1", v4l2_decoder_cmd.M1)]
3578class v4l2_vbi_format(Struct):
3579 pass
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]
3594class v4l2_sliced_vbi_format(Struct):
3595 pass
3598v4l2_sliced_vbi_format._fields_ = [
3599 ("service_set", u16),
3600 ("service_lines", u16 * 24 * 2),
3601 ("io_size", cuint),
3602 ("reserved", cuint * 2),
3603]
3606class v4l2_sliced_vbi_cap(Struct):
3607 pass
3610v4l2_sliced_vbi_cap._fields_ = [
3611 ("service_set", u16),
3612 ("service_lines", u16 * 24 * 2),
3613 ("type", cuint),
3614 ("reserved", cuint * 3),
3615]
3618class v4l2_sliced_vbi_data(Struct):
3619 pass
3622v4l2_sliced_vbi_data._fields_ = [
3623 ("id", cuint),
3624 ("field", cuint),
3625 ("line", cuint),
3626 ("reserved", cuint),
3627 ("data", cchar * 48),
3628]
3631class v4l2_mpeg_vbi_itv0_line(Struct):
3632 _pack_ = True
3635v4l2_mpeg_vbi_itv0_line._fields_ = [("id", u8), ("data", cchar * 42)]
3638class v4l2_mpeg_vbi_itv0(Struct):
3639 _pack_ = True
3642v4l2_mpeg_vbi_itv0._fields_ = [("linemask", cuint * 2), ("line", v4l2_mpeg_vbi_itv0_line * 35)]
3645class v4l2_mpeg_vbi_ITV0(Struct):
3646 _pack_ = True
3649v4l2_mpeg_vbi_ITV0._fields_ = [("line", v4l2_mpeg_vbi_itv0_line * 36)]
3652class v4l2_mpeg_vbi_fmt_ivtv(Struct):
3653 _pack_ = True
3655 class M1(Union):
3656 _pack_ = True
3658 M1._fields_ = [("itv0", v4l2_mpeg_vbi_itv0), ("ITV0", v4l2_mpeg_vbi_ITV0)]
3660 _anonymous_ = ("m1",)
3663v4l2_mpeg_vbi_fmt_ivtv._fields_ = [("magic", cchar * 4), ("m1", v4l2_mpeg_vbi_fmt_ivtv.M1)]
3666class v4l2_plane_pix_format(Struct):
3667 _pack_ = True
3670v4l2_plane_pix_format._fields_ = [("sizeimage", cuint), ("bytesperline", cuint), ("reserved", u16 * 6)]
3673class v4l2_pix_format_mplane(Struct):
3674 _pack_ = True
3676 class M1(Union):
3677 _pack_ = True
3679 M1._fields_ = [("ycbcr_enc", u8), ("hsv_enc", u8)]
3681 _anonymous_ = ("m1",)
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]
3700class v4l2_sdr_format(Struct):
3701 _pack_ = True
3704v4l2_sdr_format._fields_ = [("pixelformat", cuint), ("buffersize", cuint), ("reserved", cchar * 24)]
3707class v4l2_meta_format(Struct):
3708 _pack_ = True
3711v4l2_meta_format._fields_ = [
3712 ("dataformat", cuint),
3713 ("buffersize", cuint),
3714 ("width", cuint),
3715 ("height", cuint),
3716 ("bytesperline", cuint),
3717]
3720class v4l2_format(Struct):
3721 class M1(Union):
3722 pass
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 ]
3736v4l2_format._fields_ = [("type", cuint), ("fmt", v4l2_format.M1)]
3739class v4l2_streamparm(Struct):
3740 class M1(Union):
3741 pass
3743 M1._fields_ = [("capture", v4l2_captureparm), ("output", v4l2_outputparm), ("raw_data", cchar * 200)]
3746v4l2_streamparm._fields_ = [("type", cuint), ("parm", v4l2_streamparm.M1)]
3749class v4l2_event_vsync(Struct):
3750 _pack_ = True
3753v4l2_event_vsync._fields_ = [("field", u8)]
3756class v4l2_event_ctrl(Struct):
3757 class M1(Union):
3758 pass
3760 M1._fields_ = [("value", cint), ("value64", clonglong)]
3762 _anonymous_ = ("m1",)
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]
3777class v4l2_event_frame_sync(Struct):
3778 pass
3781v4l2_event_frame_sync._fields_ = [("frame_sequence", cuint)]
3784class v4l2_event_src_change(Struct):
3785 pass
3788v4l2_event_src_change._fields_ = [("changes", cuint)]
3791class v4l2_event_motion_det(Struct):
3792 pass
3795v4l2_event_motion_det._fields_ = [("flags", cuint), ("frame_sequence", cuint), ("region_mask", cuint)]
3798class v4l2_event(Struct):
3799 class M1(Union):
3800 pass
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 ]
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]
3823class v4l2_event_subscription(Struct):
3824 pass
3827v4l2_event_subscription._fields_ = [("type", cuint), ("id", cuint), ("flags", cuint), ("reserved", cuint * 5)]
3830class v4l2_dbg_match(Struct):
3831 _pack_ = True
3833 class M1(Union):
3834 pass
3836 M1._fields_ = [("addr", cuint), ("name", cchar * 32)]
3838 _anonymous_ = ("m1",)
3841v4l2_dbg_match._fields_ = [("type", cuint), ("m1", v4l2_dbg_match.M1)]
3844class v4l2_dbg_register(Struct):
3845 _pack_ = True
3848v4l2_dbg_register._fields_ = [("match", v4l2_dbg_match), ("size", cuint), ("reg", culonglong), ("val", culonglong)]
3851class v4l2_dbg_chip_info(Struct):
3852 _pack_ = True
3855v4l2_dbg_chip_info._fields_ = [
3856 ("match", v4l2_dbg_match),
3857 ("name", cchar * 32),
3858 ("flags", cuint),
3859 ("reserved", cuint * 32),
3860]
3863class v4l2_create_buffers(Struct):
3864 pass
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]
3879class v4l2_remove_buffers(Struct):
3880 pass
3883v4l2_remove_buffers._fields_ = [("index", cuint), ("count", cuint), ("type", cuint), ("reserved", cuint * 13)]
3886class v4l2_mbus_framefmt(Struct):
3887 class M1(Union):
3888 pass
3890 M1._fields_ = [("ycbcr_enc", u16), ("hsv_enc", u16)]
3892 _anonymous_ = ("m1",)
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]
3909class v4l2_subdev_format(Struct):
3910 pass
3913v4l2_subdev_format._fields_ = [
3914 ("which", cuint),
3915 ("pad", cuint),
3916 ("format", v4l2_mbus_framefmt),
3917 ("stream", cuint),
3918 ("reserved", cuint * 7),
3919]
3922class v4l2_subdev_crop(Struct):
3923 pass
3926v4l2_subdev_crop._fields_ = [
3927 ("which", cuint),
3928 ("pad", cuint),
3929 ("rect", v4l2_rect),
3930 ("stream", cuint),
3931 ("reserved", cuint * 7),
3932]
3935class v4l2_subdev_mbus_code_enum(Struct):
3936 pass
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]
3950class v4l2_subdev_frame_size_enum(Struct):
3951 pass
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]
3968class v4l2_subdev_frame_interval(Struct):
3969 pass
3972v4l2_subdev_frame_interval._fields_ = [
3973 ("pad", cuint),
3974 ("interval", v4l2_fract),
3975 ("stream", cuint),
3976 ("which", cuint),
3977 ("reserved", cuint * 7),
3978]
3981class v4l2_subdev_frame_interval_enum(Struct):
3982 pass
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]
3998class v4l2_subdev_selection(Struct):
3999 pass
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]
4013class v4l2_subdev_capability(Struct):
4014 pass
4017v4l2_subdev_capability._fields_ = [("version", cuint), ("capabilities", cuint), ("reserved", cuint * 14)]
4020class v4l2_subdev_route(Struct):
4021 pass
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]
4034class v4l2_subdev_routing(Struct):
4035 pass
4038v4l2_subdev_routing._fields_ = [
4039 ("which", cuint),
4040 ("len_routes", cuint),
4041 ("routes", culonglong),
4042 ("num_routes", cuint),
4043 ("reserved", cuint * 11),
4044]
4047class v4l2_subdev_client_capability(Struct):
4048 pass
4051v4l2_subdev_client_capability._fields_ = [("capabilities", culonglong)]
4054# STD macros are too complicated to auto generate
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
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)