1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50#ifndef __LINUX_V4L2_CONTROLS_H
51#define __LINUX_V4L2_CONTROLS_H
52
53#include <linux/const.h>
54#include <linux/types.h>
55
56
57#define V4L2_CTRL_CLASS_USER 0x00980000
58#define V4L2_CTRL_CLASS_CODEC 0x00990000
59#define V4L2_CTRL_CLASS_CAMERA 0x009a0000
60#define V4L2_CTRL_CLASS_FM_TX 0x009b0000
61#define V4L2_CTRL_CLASS_FLASH 0x009c0000
62#define V4L2_CTRL_CLASS_JPEG 0x009d0000
63#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000
64#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000
65#define V4L2_CTRL_CLASS_DV 0x00a00000
66#define V4L2_CTRL_CLASS_FM_RX 0x00a10000
67#define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000
68#define V4L2_CTRL_CLASS_DETECT 0x00a30000
69#define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000
70#define V4L2_CTRL_CLASS_COLORIMETRY 0x00a50000
71
72
73
74#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
75#define V4L2_CID_USER_BASE V4L2_CID_BASE
76#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1)
77#define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0)
78#define V4L2_CID_CONTRAST (V4L2_CID_BASE+1)
79#define V4L2_CID_SATURATION (V4L2_CID_BASE+2)
80#define V4L2_CID_HUE (V4L2_CID_BASE+3)
81#define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5)
82#define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6)
83#define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7)
84#define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8)
85#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9)
86#define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10)
87#define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11)
88#define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12)
89#define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13)
90#define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14)
91#define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15)
92#define V4L2_CID_GAMMA (V4L2_CID_BASE+16)
93#define V4L2_CID_WHITENESS (V4L2_CID_GAMMA)
94#define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17)
95#define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18)
96#define V4L2_CID_GAIN (V4L2_CID_BASE+19)
97#define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
98#define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
99
100#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
101enum v4l2_power_line_frequency {
102 V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0,
103 V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1,
104 V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2,
105 V4L2_CID_POWER_LINE_FREQUENCY_AUTO = 3,
106};
107#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25)
108#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26)
109#define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27)
110#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
111#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
112#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
113#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
114enum v4l2_colorfx {
115 V4L2_COLORFX_NONE = 0,
116 V4L2_COLORFX_BW = 1,
117 V4L2_COLORFX_SEPIA = 2,
118 V4L2_COLORFX_NEGATIVE = 3,
119 V4L2_COLORFX_EMBOSS = 4,
120 V4L2_COLORFX_SKETCH = 5,
121 V4L2_COLORFX_SKY_BLUE = 6,
122 V4L2_COLORFX_GRASS_GREEN = 7,
123 V4L2_COLORFX_SKIN_WHITEN = 8,
124 V4L2_COLORFX_VIVID = 9,
125 V4L2_COLORFX_AQUA = 10,
126 V4L2_COLORFX_ART_FREEZE = 11,
127 V4L2_COLORFX_SILHOUETTE = 12,
128 V4L2_COLORFX_SOLARIZATION = 13,
129 V4L2_COLORFX_ANTIQUE = 14,
130 V4L2_COLORFX_SET_CBCR = 15,
131};
132#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
133#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
134
135#define V4L2_CID_ROTATE (V4L2_CID_BASE+34)
136#define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35)
137
138#define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36)
139
140#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37)
141#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38)
142
143#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
144#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
145
146#define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41)
147#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
148
149
150#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
151
152
153
154
155
156#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
157
158
159
160#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
161
162
163
164
165#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1030)
166
167
168
169
170
171#define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040)
172
173
174
175#define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050)
176
177
178
179#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)
180
181
182
183#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070)
184
185
186
187#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)
188
189
190
191
192#define V4L2_CID_USER_MAX217X_BASE (V4L2_CID_USER_BASE + 0x1090)
193
194
195
196#define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE + 0x10b0)
197
198
199
200
201
202#define V4L2_CID_USER_ATMEL_ISC_BASE (V4L2_CID_USER_BASE + 0x10c0)
203
204
205
206
207
208#define V4L2_CID_USER_CODA_BASE (V4L2_CID_USER_BASE + 0x10e0)
209
210
211
212
213#define V4L2_CID_USER_CCS_BASE (V4L2_CID_USER_BASE + 0x10f0)
214
215
216
217
218
219#define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900)
220#define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
221
222
223#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE+0)
224enum v4l2_mpeg_stream_type {
225 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0,
226 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1,
227 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2,
228 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3,
229 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4,
230 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5,
231};
232#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1)
233#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_CODEC_BASE+2)
234#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_CODEC_BASE+3)
235#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_CODEC_BASE+4)
236#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_CODEC_BASE+5)
237#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_CODEC_BASE+6)
238#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_CODEC_BASE+7)
239enum v4l2_mpeg_stream_vbi_fmt {
240 V4L2_MPEG_STREAM_VBI_FMT_NONE = 0,
241 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1,
242};
243
244
245#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_CODEC_BASE+100)
246enum v4l2_mpeg_audio_sampling_freq {
247 V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,
248 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
249 V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,
250};
251#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_CODEC_BASE+101)
252enum v4l2_mpeg_audio_encoding {
253 V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,
254 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
255 V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2,
256 V4L2_MPEG_AUDIO_ENCODING_AAC = 3,
257 V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,
258};
259#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_CODEC_BASE+102)
260enum v4l2_mpeg_audio_l1_bitrate {
261 V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,
262 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
263 V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2,
264 V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3,
265 V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4,
266 V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5,
267 V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6,
268 V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7,
269 V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8,
270 V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9,
271 V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10,
272 V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11,
273 V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,
274 V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,
275};
276#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_CODEC_BASE+103)
277enum v4l2_mpeg_audio_l2_bitrate {
278 V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,
279 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
280 V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2,
281 V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3,
282 V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4,
283 V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5,
284 V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6,
285 V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7,
286 V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8,
287 V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9,
288 V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10,
289 V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11,
290 V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,
291 V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,
292};
293#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_CODEC_BASE+104)
294enum v4l2_mpeg_audio_l3_bitrate {
295 V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,
296 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
297 V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2,
298 V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3,
299 V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4,
300 V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5,
301 V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6,
302 V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7,
303 V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8,
304 V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9,
305 V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10,
306 V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11,
307 V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,
308 V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,
309};
310#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_CODEC_BASE+105)
311enum v4l2_mpeg_audio_mode {
312 V4L2_MPEG_AUDIO_MODE_STEREO = 0,
313 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
314 V4L2_MPEG_AUDIO_MODE_DUAL = 2,
315 V4L2_MPEG_AUDIO_MODE_MONO = 3,
316};
317#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_CODEC_BASE+106)
318enum v4l2_mpeg_audio_mode_extension {
319 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,
320 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
321 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,
322 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,
323};
324#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_CODEC_BASE+107)
325enum v4l2_mpeg_audio_emphasis {
326 V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,
327 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
328 V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,
329};
330#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_CODEC_BASE+108)
331enum v4l2_mpeg_audio_crc {
332 V4L2_MPEG_AUDIO_CRC_NONE = 0,
333 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
334};
335#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_CODEC_BASE+109)
336#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_CODEC_BASE+110)
337#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_CODEC_BASE+111)
338enum v4l2_mpeg_audio_ac3_bitrate {
339 V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,
340 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
341 V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2,
342 V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3,
343 V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4,
344 V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5,
345 V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6,
346 V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7,
347 V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8,
348 V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9,
349 V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10,
350 V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11,
351 V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12,
352 V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13,
353 V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14,
354 V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15,
355 V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16,
356 V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,
357 V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,
358};
359#define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_CODEC_BASE+112)
360enum v4l2_mpeg_audio_dec_playback {
361 V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0,
362 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
363 V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT = 2,
364 V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT = 3,
365 V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4,
366 V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5,
367};
368#define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_CODEC_BASE+113)
369
370
371#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_CODEC_BASE+200)
372enum v4l2_mpeg_video_encoding {
373 V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,
374 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
375 V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,
376};
377#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_CODEC_BASE+201)
378enum v4l2_mpeg_video_aspect {
379 V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,
380 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
381 V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,
382 V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,
383};
384#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_CODEC_BASE+202)
385#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_CODEC_BASE+203)
386#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_CODEC_BASE+204)
387#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_CODEC_BASE+205)
388#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_CODEC_BASE+206)
389enum v4l2_mpeg_video_bitrate_mode {
390 V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,
391 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
392 V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2,
393};
394#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_CODEC_BASE+207)
395#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_CODEC_BASE+208)
396#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_CODEC_BASE+209)
397#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_CODEC_BASE+210)
398#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_CODEC_BASE+211)
399#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_CODEC_BASE+212)
400#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_CODEC_BASE+213)
401#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_CODEC_BASE+214)
402#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_CODEC_BASE+215)
403#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_CODEC_BASE+216)
404enum v4l2_mpeg_video_header_mode {
405 V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
406 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
407
408};
409#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_CODEC_BASE+217)
410#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_CODEC_BASE+218)
411#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_CODEC_BASE+219)
412#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_CODEC_BASE+220)
413#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_CODEC_BASE+221)
414enum v4l2_mpeg_video_multi_slice_mode {
415 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
416 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
417 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES = 2,
418#ifndef __KERNEL__
419
420 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
421 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
422#endif
423};
424#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_CODEC_BASE+222)
425#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_CODEC_BASE+223)
426#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_CODEC_BASE+224)
427#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_CODEC_BASE+225)
428#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_CODEC_BASE+226)
429#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_CODEC_BASE+227)
430#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_CODEC_BASE+228)
431#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_CODEC_BASE+229)
432#define V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID (V4L2_CID_CODEC_BASE+230)
433#define V4L2_CID_MPEG_VIDEO_AU_DELIMITER (V4L2_CID_CODEC_BASE+231)
434#define V4L2_CID_MPEG_VIDEO_LTR_COUNT (V4L2_CID_CODEC_BASE+232)
435#define V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX (V4L2_CID_CODEC_BASE+233)
436#define V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES (V4L2_CID_CODEC_BASE+234)
437#define V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR (V4L2_CID_CODEC_BASE+235)
438#define V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD (V4L2_CID_CODEC_BASE+236)
439
440
441#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_CODEC_BASE+270)
442enum v4l2_mpeg_video_mpeg2_level {
443 V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0,
444 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
445 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2,
446 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3,
447};
448#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_CODEC_BASE+271)
449enum v4l2_mpeg_video_mpeg2_profile {
450 V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0,
451 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
452 V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE = 2,
453 V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE = 3,
454 V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH = 4,
455 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW = 5,
456};
457
458
459#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_CODEC_BASE + 290)
460#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_CODEC_BASE + 291)
461
462#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_CODEC_BASE+300)
463#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_CODEC_BASE+301)
464#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_CODEC_BASE+302)
465#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_CODEC_BASE+303)
466#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_CODEC_BASE+304)
467#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_CODEC_BASE+350)
468#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_CODEC_BASE+351)
469#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_CODEC_BASE+352)
470#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_CODEC_BASE+353)
471#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_CODEC_BASE+354)
472#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_CODEC_BASE+355)
473#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_CODEC_BASE+356)
474#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_CODEC_BASE+357)
475enum v4l2_mpeg_video_h264_entropy_mode {
476 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0,
477 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
478};
479#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_CODEC_BASE+358)
480#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_CODEC_BASE+359)
481enum v4l2_mpeg_video_h264_level {
482 V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0,
483 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
484 V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2,
485 V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3,
486 V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4,
487 V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5,
488 V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6,
489 V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7,
490 V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8,
491 V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9,
492 V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10,
493 V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11,
494 V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12,
495 V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13,
496 V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
497 V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
498 V4L2_MPEG_VIDEO_H264_LEVEL_5_2 = 16,
499 V4L2_MPEG_VIDEO_H264_LEVEL_6_0 = 17,
500 V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18,
501 V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19,
502};
503#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_CODEC_BASE+360)
504#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_CODEC_BASE+361)
505#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE+362)
506enum v4l2_mpeg_video_h264_loop_filter_mode {
507 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,
508 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
509 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
510};
511#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_CODEC_BASE+363)
512enum v4l2_mpeg_video_h264_profile {
513 V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
514 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
515 V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2,
516 V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3,
517 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4,
518 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5,
519 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6,
520 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7,
521 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8,
522 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9,
523 V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10,
524 V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11,
525 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12,
526 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13,
527 V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
528 V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
529 V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
530 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,
531};
532#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_CODEC_BASE+364)
533#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_CODEC_BASE+365)
534#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_CODEC_BASE+366)
535#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_CODEC_BASE+367)
536enum v4l2_mpeg_video_h264_vui_sar_idc {
537 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
538 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
539 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2,
540 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3,
541 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4,
542 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5,
543 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6,
544 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7,
545 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8,
546 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9,
547 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10,
548 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11,
549 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12,
550 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13,
551 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14,
552 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15,
553 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
554 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,
555};
556#define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_CODEC_BASE+368)
557#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_CODEC_BASE+369)
558#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_CODEC_BASE+370)
559enum v4l2_mpeg_video_h264_sei_fp_arrangement_type {
560 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0,
561 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
562 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW = 2,
563 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE = 3,
564 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4,
565 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5,
566};
567#define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_CODEC_BASE+371)
568#define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_CODEC_BASE+372)
569enum v4l2_mpeg_video_h264_fmo_map_type {
570 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0,
571 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
572 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER = 2,
573 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT = 3,
574 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN = 4,
575 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5,
576 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6,
577};
578#define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_CODEC_BASE+373)
579#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_CODEC_BASE+374)
580enum v4l2_mpeg_video_h264_fmo_change_dir {
581 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0,
582 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
583};
584#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_CODEC_BASE+375)
585#define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_CODEC_BASE+376)
586#define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_CODEC_BASE+377)
587#define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_CODEC_BASE+378)
588#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_CODEC_BASE+379)
589#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_CODEC_BASE+380)
590enum v4l2_mpeg_video_h264_hierarchical_coding_type {
591 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0,
592 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
593};
594#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_CODEC_BASE+381)
595#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_CODEC_BASE+382)
596#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_CODEC_BASE+383)
597#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_CODEC_BASE+384)
598#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+385)
599#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+386)
600#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+387)
601#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+388)
602#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+389)
603#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+390)
604#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR (V4L2_CID_CODEC_BASE+391)
605#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR (V4L2_CID_CODEC_BASE+392)
606#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR (V4L2_CID_CODEC_BASE+393)
607#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR (V4L2_CID_CODEC_BASE+394)
608#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR (V4L2_CID_CODEC_BASE+395)
609#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR (V4L2_CID_CODEC_BASE+396)
610#define V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR (V4L2_CID_CODEC_BASE+397)
611#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_CODEC_BASE+400)
612#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_CODEC_BASE+401)
613#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_CODEC_BASE+402)
614#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_CODEC_BASE+403)
615#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_CODEC_BASE+404)
616#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_CODEC_BASE+405)
617enum v4l2_mpeg_video_mpeg4_level {
618 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,
619 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
620 V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2,
621 V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3,
622 V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4,
623 V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5,
624 V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
625 V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,
626};
627#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_CODEC_BASE+406)
628enum v4l2_mpeg_video_mpeg4_profile {
629 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,
630 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
631 V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2,
632 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
633 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,
634};
635#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_CODEC_BASE+407)
636
637
638
639
640
641#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_CODEC_BASE+500)
642enum v4l2_vp8_num_partitions {
643 V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0,
644 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
645 V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2,
646 V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3,
647};
648#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_CODEC_BASE+501)
649#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_CODEC_BASE+502)
650enum v4l2_vp8_num_ref_frames {
651 V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0,
652 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
653 V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2,
654};
655#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_CODEC_BASE+503)
656#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_CODEC_BASE+504)
657#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_CODEC_BASE+505)
658#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_CODEC_BASE+506)
659enum v4l2_vp8_golden_frame_sel {
660 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0,
661 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
662};
663#define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_CODEC_BASE+507)
664#define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_CODEC_BASE+508)
665#define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_CODEC_BASE+509)
666#define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_CODEC_BASE+510)
667
668#define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_CODEC_BASE+511)
669enum v4l2_mpeg_video_vp8_profile {
670 V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0,
671 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,
672 V4L2_MPEG_VIDEO_VP8_PROFILE_2 = 2,
673 V4L2_MPEG_VIDEO_VP8_PROFILE_3 = 3,
674};
675
676#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE
677#define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_CODEC_BASE+512)
678enum v4l2_mpeg_video_vp9_profile {
679 V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0,
680 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,
681 V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2,
682 V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3,
683};
684#define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_CODEC_BASE+513)
685enum v4l2_mpeg_video_vp9_level {
686 V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0,
687 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,
688 V4L2_MPEG_VIDEO_VP9_LEVEL_2_0 = 2,
689 V4L2_MPEG_VIDEO_VP9_LEVEL_2_1 = 3,
690 V4L2_MPEG_VIDEO_VP9_LEVEL_3_0 = 4,
691 V4L2_MPEG_VIDEO_VP9_LEVEL_3_1 = 5,
692 V4L2_MPEG_VIDEO_VP9_LEVEL_4_0 = 6,
693 V4L2_MPEG_VIDEO_VP9_LEVEL_4_1 = 7,
694 V4L2_MPEG_VIDEO_VP9_LEVEL_5_0 = 8,
695 V4L2_MPEG_VIDEO_VP9_LEVEL_5_1 = 9,
696 V4L2_MPEG_VIDEO_VP9_LEVEL_5_2 = 10,
697 V4L2_MPEG_VIDEO_VP9_LEVEL_6_0 = 11,
698 V4L2_MPEG_VIDEO_VP9_LEVEL_6_1 = 12,
699 V4L2_MPEG_VIDEO_VP9_LEVEL_6_2 = 13,
700};
701
702
703
704#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_CODEC_BASE + 600)
705#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_CODEC_BASE + 601)
706#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_CODEC_BASE + 602)
707#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_CODEC_BASE + 603)
708#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_CODEC_BASE + 604)
709#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_CODEC_BASE + 605)
710#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_CODEC_BASE + 606)
711enum v4l2_mpeg_video_hevc_hier_coding_type {
712 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0,
713 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
714};
715#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_CODEC_BASE + 607)
716#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_CODEC_BASE + 608)
717#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_CODEC_BASE + 609)
718#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_CODEC_BASE + 610)
719#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_CODEC_BASE + 611)
720#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_CODEC_BASE + 612)
721#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_CODEC_BASE + 613)
722#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_CODEC_BASE + 614)
723#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_CODEC_BASE + 615)
724enum v4l2_mpeg_video_hevc_profile {
725 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0,
726 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
727 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2,
728};
729#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_CODEC_BASE + 616)
730enum v4l2_mpeg_video_hevc_level {
731 V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0,
732 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
733 V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1 = 2,
734 V4L2_MPEG_VIDEO_HEVC_LEVEL_3 = 3,
735 V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1 = 4,
736 V4L2_MPEG_VIDEO_HEVC_LEVEL_4 = 5,
737 V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1 = 6,
738 V4L2_MPEG_VIDEO_HEVC_LEVEL_5 = 7,
739 V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1 = 8,
740 V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2 = 9,
741 V4L2_MPEG_VIDEO_HEVC_LEVEL_6 = 10,
742 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11,
743 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12,
744};
745#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_CODEC_BASE + 617)
746#define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_CODEC_BASE + 618)
747enum v4l2_mpeg_video_hevc_tier {
748 V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0,
749 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
750};
751#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_CODEC_BASE + 619)
752#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE + 620)
753enum v4l2_cid_mpeg_video_hevc_loop_filter_mode {
754 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0,
755 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
756 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
757};
758#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 621)
759#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 622)
760#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_CODEC_BASE + 623)
761enum v4l2_cid_mpeg_video_hevc_refresh_type {
762 V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0,
763 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
764 V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2,
765};
766#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_CODEC_BASE + 624)
767#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_CODEC_BASE + 625)
768#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_CODEC_BASE + 626)
769#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_CODEC_BASE + 627)
770#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_CODEC_BASE + 628)
771#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_CODEC_BASE + 629)
772#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_CODEC_BASE + 630)
773#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_CODEC_BASE + 631)
774#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_CODEC_BASE + 632)
775#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_CODEC_BASE + 633)
776#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_CODEC_BASE + 634)
777#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_CODEC_BASE + 635)
778enum v4l2_cid_mpeg_video_hevc_size_of_length_field {
779 V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0,
780 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
781 V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2,
782 V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3,
783};
784#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_CODEC_BASE + 636)
785#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_CODEC_BASE + 637)
786#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_CODEC_BASE + 638)
787#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_CODEC_BASE + 639)
788#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_CODEC_BASE + 640)
789#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_CODEC_BASE + 641)
790#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_CODEC_BASE + 642)
791#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_CODEC_BASE + 643)
792#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_CODEC_BASE + 644)
793#define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_CODEC_BASE + 645)
794#define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_BASE + 646)
795enum v4l2_mpeg_video_frame_skip_mode {
796 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
797 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
798 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
799};
800
801#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP (V4L2_CID_CODEC_BASE + 647)
802#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP (V4L2_CID_CODEC_BASE + 648)
803#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP (V4L2_CID_CODEC_BASE + 649)
804#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP (V4L2_CID_CODEC_BASE + 650)
805#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP (V4L2_CID_CODEC_BASE + 651)
806#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP (V4L2_CID_CODEC_BASE + 652)
807
808#define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (V4L2_CID_CODEC_BASE + 653)
809#define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_BASE + 654)
810
811
812#define V4L2_CID_CODEC_CX2341X_BASE (V4L2_CTRL_CLASS_CODEC | 0x1000)
813#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+0)
814enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
815 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
816 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
817};
818#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1)
819#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+2)
820enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {
821 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
822 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
823 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
824 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
825 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
826};
827#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+3)
828enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {
829 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
830 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
831};
832#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+4)
833enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {
834 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
835 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
836};
837#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+5)
838#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+6)
839enum v4l2_mpeg_cx2341x_video_median_filter_type {
840 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
841 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
842 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2,
843 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
844 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
845};
846#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+7)
847#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+8)
848#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+9)
849#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+10)
850#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_CODEC_CX2341X_BASE+11)
851
852
853#define V4L2_CID_CODEC_MFC51_BASE (V4L2_CTRL_CLASS_CODEC | 0x1100)
854
855#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_CODEC_MFC51_BASE+0)
856#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1)
857#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_MFC51_BASE+2)
858enum v4l2_mpeg_mfc51_video_frame_skip_mode {
859 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
860 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
861 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
862};
863#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_CODEC_MFC51_BASE+3)
864enum v4l2_mpeg_mfc51_video_force_frame_type {
865 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,
866 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
867 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,
868};
869#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_CODEC_MFC51_BASE+4)
870#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_CODEC_MFC51_BASE+5)
871#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_CODEC_MFC51_BASE+6)
872#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_CODEC_MFC51_BASE+7)
873#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_CODEC_MFC51_BASE+50)
874#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_CODEC_MFC51_BASE+51)
875#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_CODEC_MFC51_BASE+52)
876#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_CODEC_MFC51_BASE+53)
877#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_CODEC_MFC51_BASE+54)
878
879
880
881#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
882#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
883
884#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
885enum v4l2_exposure_auto_type {
886 V4L2_EXPOSURE_AUTO = 0,
887 V4L2_EXPOSURE_MANUAL = 1,
888 V4L2_EXPOSURE_SHUTTER_PRIORITY = 2,
889 V4L2_EXPOSURE_APERTURE_PRIORITY = 3
890};
891#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2)
892#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3)
893
894#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4)
895#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5)
896#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6)
897#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7)
898
899#define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8)
900#define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9)
901
902#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10)
903#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11)
904#define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12)
905
906#define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13)
907#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14)
908#define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15)
909
910#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
911
912#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
913#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18)
914
915#define V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19)
916
917#define V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20)
918enum v4l2_auto_n_preset_white_balance {
919 V4L2_WHITE_BALANCE_MANUAL = 0,
920 V4L2_WHITE_BALANCE_AUTO = 1,
921 V4L2_WHITE_BALANCE_INCANDESCENT = 2,
922 V4L2_WHITE_BALANCE_FLUORESCENT = 3,
923 V4L2_WHITE_BALANCE_FLUORESCENT_H = 4,
924 V4L2_WHITE_BALANCE_HORIZON = 5,
925 V4L2_WHITE_BALANCE_DAYLIGHT = 6,
926 V4L2_WHITE_BALANCE_FLASH = 7,
927 V4L2_WHITE_BALANCE_CLOUDY = 8,
928 V4L2_WHITE_BALANCE_SHADE = 9,
929};
930
931#define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21)
932#define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22)
933
934#define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23)
935#define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24)
936enum v4l2_iso_sensitivity_auto_type {
937 V4L2_ISO_SENSITIVITY_MANUAL = 0,
938 V4L2_ISO_SENSITIVITY_AUTO = 1,
939};
940
941#define V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25)
942enum v4l2_exposure_metering {
943 V4L2_EXPOSURE_METERING_AVERAGE = 0,
944 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
945 V4L2_EXPOSURE_METERING_SPOT = 2,
946 V4L2_EXPOSURE_METERING_MATRIX = 3,
947};
948
949#define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26)
950enum v4l2_scene_mode {
951 V4L2_SCENE_MODE_NONE = 0,
952 V4L2_SCENE_MODE_BACKLIGHT = 1,
953 V4L2_SCENE_MODE_BEACH_SNOW = 2,
954 V4L2_SCENE_MODE_CANDLE_LIGHT = 3,
955 V4L2_SCENE_MODE_DAWN_DUSK = 4,
956 V4L2_SCENE_MODE_FALL_COLORS = 5,
957 V4L2_SCENE_MODE_FIREWORKS = 6,
958 V4L2_SCENE_MODE_LANDSCAPE = 7,
959 V4L2_SCENE_MODE_NIGHT = 8,
960 V4L2_SCENE_MODE_PARTY_INDOOR = 9,
961 V4L2_SCENE_MODE_PORTRAIT = 10,
962 V4L2_SCENE_MODE_SPORTS = 11,
963 V4L2_SCENE_MODE_SUNSET = 12,
964 V4L2_SCENE_MODE_TEXT = 13,
965};
966
967#define V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27)
968#define V4L2_LOCK_EXPOSURE (1 << 0)
969#define V4L2_LOCK_WHITE_BALANCE (1 << 1)
970#define V4L2_LOCK_FOCUS (1 << 2)
971
972#define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28)
973#define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29)
974#define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30)
975#define V4L2_AUTO_FOCUS_STATUS_IDLE (0 << 0)
976#define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0)
977#define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1)
978#define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2)
979
980#define V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31)
981enum v4l2_auto_focus_range {
982 V4L2_AUTO_FOCUS_RANGE_AUTO = 0,
983 V4L2_AUTO_FOCUS_RANGE_NORMAL = 1,
984 V4L2_AUTO_FOCUS_RANGE_MACRO = 2,
985 V4L2_AUTO_FOCUS_RANGE_INFINITY = 3,
986};
987
988#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
989#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
990
991#define V4L2_CID_CAMERA_ORIENTATION (V4L2_CID_CAMERA_CLASS_BASE+34)
992#define V4L2_CAMERA_ORIENTATION_FRONT 0
993#define V4L2_CAMERA_ORIENTATION_BACK 1
994#define V4L2_CAMERA_ORIENTATION_EXTERNAL 2
995
996#define V4L2_CID_CAMERA_SENSOR_ROTATION (V4L2_CID_CAMERA_CLASS_BASE+35)
997
998
999
1000#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
1001#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1002
1003#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1004#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2)
1005#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3)
1006#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5)
1007#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6)
1008#define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7)
1009#define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8)
1010#define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9)
1011#define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10)
1012#define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11)
1013#define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12)
1014#define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13)
1015#define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14)
1016#define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15)
1017
1018#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64)
1019#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65)
1020#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66)
1021
1022#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80)
1023#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81)
1024#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82)
1025#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83)
1026#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84)
1027
1028#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96)
1029#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97)
1030#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98)
1031
1032#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
1033enum v4l2_preemphasis {
1034 V4L2_PREEMPHASIS_DISABLED = 0,
1035 V4L2_PREEMPHASIS_50_uS = 1,
1036 V4L2_PREEMPHASIS_75_uS = 2,
1037};
1038#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
1039#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
1040
1041
1042
1043
1044#define V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900)
1045#define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1)
1046
1047#define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
1048enum v4l2_flash_led_mode {
1049 V4L2_FLASH_LED_MODE_NONE,
1050 V4L2_FLASH_LED_MODE_FLASH,
1051 V4L2_FLASH_LED_MODE_TORCH,
1052};
1053
1054#define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2)
1055enum v4l2_flash_strobe_source {
1056 V4L2_FLASH_STROBE_SOURCE_SOFTWARE,
1057 V4L2_FLASH_STROBE_SOURCE_EXTERNAL,
1058};
1059
1060#define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3)
1061#define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4)
1062#define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5)
1063
1064#define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6)
1065#define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7)
1066#define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8)
1067#define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9)
1068
1069#define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10)
1070#define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0)
1071#define V4L2_FLASH_FAULT_TIMEOUT (1 << 1)
1072#define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2)
1073#define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
1074#define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
1075#define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
1076#define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
1077#define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
1078#define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
1079
1080#define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)
1081#define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)
1082
1083
1084
1085
1086#define V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900)
1087#define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
1088
1089#define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
1090enum v4l2_jpeg_chroma_subsampling {
1091 V4L2_JPEG_CHROMA_SUBSAMPLING_444 = 0,
1092 V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
1093 V4L2_JPEG_CHROMA_SUBSAMPLING_420 = 2,
1094 V4L2_JPEG_CHROMA_SUBSAMPLING_411 = 3,
1095 V4L2_JPEG_CHROMA_SUBSAMPLING_410 = 4,
1096 V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY = 5,
1097};
1098#define V4L2_CID_JPEG_RESTART_INTERVAL (V4L2_CID_JPEG_CLASS_BASE + 2)
1099#define V4L2_CID_JPEG_COMPRESSION_QUALITY (V4L2_CID_JPEG_CLASS_BASE + 3)
1100
1101#define V4L2_CID_JPEG_ACTIVE_MARKER (V4L2_CID_JPEG_CLASS_BASE + 4)
1102#define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
1103#define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
1104#define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
1105#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
1106#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
1107
1108
1109
1110#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
1111#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
1112
1113#define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
1114#define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)
1115#define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)
1116#define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)
1117#define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)
1118#define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)
1119#define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)
1120#define V4L2_CID_UNIT_CELL_SIZE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 8)
1121
1122
1123
1124
1125#define V4L2_CID_IMAGE_PROC_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900)
1126#define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1)
1127
1128#define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
1129#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
1130#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
1131#define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)
1132#define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)
1133
1134
1135#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
1136#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
1137
1138#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
1139#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
1140#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
1141#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
1142enum v4l2_dv_tx_mode {
1143 V4L2_DV_TX_MODE_DVI_D = 0,
1144 V4L2_DV_TX_MODE_HDMI = 1,
1145};
1146#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
1147enum v4l2_dv_rgb_range {
1148 V4L2_DV_RGB_RANGE_AUTO = 0,
1149 V4L2_DV_RGB_RANGE_LIMITED = 1,
1150 V4L2_DV_RGB_RANGE_FULL = 2,
1151};
1152
1153#define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6)
1154enum v4l2_dv_it_content_type {
1155 V4L2_DV_IT_CONTENT_TYPE_GRAPHICS = 0,
1156 V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
1157 V4L2_DV_IT_CONTENT_TYPE_CINEMA = 2,
1158 V4L2_DV_IT_CONTENT_TYPE_GAME = 3,
1159 V4L2_DV_IT_CONTENT_TYPE_NO_ITC = 4,
1160};
1161
1162#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
1163#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
1164#define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102)
1165
1166#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900)
1167#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
1168
1169#define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
1170enum v4l2_deemphasis {
1171 V4L2_DEEMPHASIS_DISABLED = V4L2_PREEMPHASIS_DISABLED,
1172 V4L2_DEEMPHASIS_50_uS = V4L2_PREEMPHASIS_50_uS,
1173 V4L2_DEEMPHASIS_75_uS = V4L2_PREEMPHASIS_75_uS,
1174};
1175
1176#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)
1177#define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3)
1178#define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4)
1179#define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5)
1180#define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6)
1181#define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7)
1182#define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8)
1183
1184#define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900)
1185#define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
1186
1187#define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11)
1188#define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12)
1189#define V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32)
1190#define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41)
1191#define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42)
1192#define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51)
1193#define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52)
1194#define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61)
1195#define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62)
1196#define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91)
1197
1198
1199
1200#define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900)
1201#define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1)
1202
1203#define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
1204enum v4l2_detect_md_mode {
1205 V4L2_DETECT_MD_MODE_DISABLED = 0,
1206 V4L2_DETECT_MD_MODE_GLOBAL = 1,
1207 V4L2_DETECT_MD_MODE_THRESHOLD_GRID = 2,
1208 V4L2_DETECT_MD_MODE_REGION_GRID = 3,
1209};
1210#define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2)
1211#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
1212#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
1213
1214
1215
1216#define V4L2_CID_CODEC_STATELESS_BASE (V4L2_CTRL_CLASS_CODEC_STATELESS | 0x900)
1217#define V4L2_CID_CODEC_STATELESS_CLASS (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
1218
1219#define V4L2_CID_STATELESS_H264_DECODE_MODE (V4L2_CID_CODEC_STATELESS_BASE + 0)
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236enum v4l2_stateless_h264_decode_mode {
1237 V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED,
1238 V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED,
1239};
1240
1241#define V4L2_CID_STATELESS_H264_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 1)
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253enum v4l2_stateless_h264_start_code {
1254 V4L2_STATELESS_H264_START_CODE_NONE,
1255 V4L2_STATELESS_H264_START_CODE_ANNEX_B,
1256};
1257
1258#define V4L2_H264_SPS_CONSTRAINT_SET0_FLAG 0x01
1259#define V4L2_H264_SPS_CONSTRAINT_SET1_FLAG 0x02
1260#define V4L2_H264_SPS_CONSTRAINT_SET2_FLAG 0x04
1261#define V4L2_H264_SPS_CONSTRAINT_SET3_FLAG 0x08
1262#define V4L2_H264_SPS_CONSTRAINT_SET4_FLAG 0x10
1263#define V4L2_H264_SPS_CONSTRAINT_SET5_FLAG 0x20
1264
1265#define V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE 0x01
1266#define V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS 0x02
1267#define V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO 0x04
1268#define V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED 0x08
1269#define V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY 0x10
1270#define V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD 0x20
1271#define V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE 0x40
1272
1273#define V4L2_H264_SPS_HAS_CHROMA_FORMAT(sps) \
1274 ((sps)->profile_idc == 100 || (sps)->profile_idc == 110 || \
1275 (sps)->profile_idc == 122 || (sps)->profile_idc == 244 || \
1276 (sps)->profile_idc == 44 || (sps)->profile_idc == 83 || \
1277 (sps)->profile_idc == 86 || (sps)->profile_idc == 118 || \
1278 (sps)->profile_idc == 128 || (sps)->profile_idc == 138 || \
1279 (sps)->profile_idc == 139 || (sps)->profile_idc == 134 || \
1280 (sps)->profile_idc == 135)
1281
1282#define V4L2_CID_STATELESS_H264_SPS (V4L2_CID_CODEC_STATELESS_BASE + 2)
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308struct v4l2_ctrl_h264_sps {
1309 __u8 profile_idc;
1310 __u8 constraint_set_flags;
1311 __u8 level_idc;
1312 __u8 seq_parameter_set_id;
1313 __u8 chroma_format_idc;
1314 __u8 bit_depth_luma_minus8;
1315 __u8 bit_depth_chroma_minus8;
1316 __u8 log2_max_frame_num_minus4;
1317 __u8 pic_order_cnt_type;
1318 __u8 log2_max_pic_order_cnt_lsb_minus4;
1319 __u8 max_num_ref_frames;
1320 __u8 num_ref_frames_in_pic_order_cnt_cycle;
1321 __s32 offset_for_ref_frame[255];
1322 __s32 offset_for_non_ref_pic;
1323 __s32 offset_for_top_to_bottom_field;
1324 __u16 pic_width_in_mbs_minus1;
1325 __u16 pic_height_in_map_units_minus1;
1326 __u32 flags;
1327};
1328
1329#define V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE 0x0001
1330#define V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT 0x0002
1331#define V4L2_H264_PPS_FLAG_WEIGHTED_PRED 0x0004
1332#define V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT 0x0008
1333#define V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED 0x0010
1334#define V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT 0x0020
1335#define V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE 0x0040
1336#define V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT 0x0080
1337
1338#define V4L2_CID_STATELESS_H264_PPS (V4L2_CID_CODEC_STATELESS_BASE + 3)
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364struct v4l2_ctrl_h264_pps {
1365 __u8 pic_parameter_set_id;
1366 __u8 seq_parameter_set_id;
1367 __u8 num_slice_groups_minus1;
1368 __u8 num_ref_idx_l0_default_active_minus1;
1369 __u8 num_ref_idx_l1_default_active_minus1;
1370 __u8 weighted_bipred_idc;
1371 __s8 pic_init_qp_minus26;
1372 __s8 pic_init_qs_minus26;
1373 __s8 chroma_qp_index_offset;
1374 __s8 second_chroma_qp_index_offset;
1375 __u16 flags;
1376};
1377
1378#define V4L2_CID_STATELESS_H264_SCALING_MATRIX (V4L2_CID_CODEC_STATELESS_BASE + 4)
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396struct v4l2_ctrl_h264_scaling_matrix {
1397 __u8 scaling_list_4x4[6][16];
1398 __u8 scaling_list_8x8[6][64];
1399};
1400
1401struct v4l2_h264_weight_factors {
1402 __s16 luma_weight[32];
1403 __s16 luma_offset[32];
1404 __s16 chroma_weight[32][2];
1405 __s16 chroma_offset[32][2];
1406};
1407
1408#define V4L2_H264_CTRL_PRED_WEIGHTS_REQUIRED(pps, slice) \
1409 ((((pps)->flags & V4L2_H264_PPS_FLAG_WEIGHTED_PRED) && \
1410 ((slice)->slice_type == V4L2_H264_SLICE_TYPE_P || \
1411 (slice)->slice_type == V4L2_H264_SLICE_TYPE_SP)) || \
1412 ((pps)->weighted_bipred_idc == 1 && \
1413 (slice)->slice_type == V4L2_H264_SLICE_TYPE_B))
1414
1415#define V4L2_CID_STATELESS_H264_PRED_WEIGHTS (V4L2_CID_CODEC_STATELESS_BASE + 5)
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426struct v4l2_ctrl_h264_pred_weights {
1427 __u16 luma_log2_weight_denom;
1428 __u16 chroma_log2_weight_denom;
1429 struct v4l2_h264_weight_factors weight_factors[2];
1430};
1431
1432#define V4L2_H264_SLICE_TYPE_P 0
1433#define V4L2_H264_SLICE_TYPE_B 1
1434#define V4L2_H264_SLICE_TYPE_I 2
1435#define V4L2_H264_SLICE_TYPE_SP 3
1436#define V4L2_H264_SLICE_TYPE_SI 4
1437
1438#define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x01
1439#define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x02
1440
1441#define V4L2_H264_TOP_FIELD_REF 0x1
1442#define V4L2_H264_BOTTOM_FIELD_REF 0x2
1443#define V4L2_H264_FRAME_REF 0x3
1444
1445
1446
1447
1448
1449
1450
1451
1452struct v4l2_h264_reference {
1453 __u8 fields;
1454 __u8 index;
1455};
1456
1457
1458
1459
1460
1461#define V4L2_H264_NUM_DPB_ENTRIES 16
1462#define V4L2_H264_REF_LIST_LEN (2 * V4L2_H264_NUM_DPB_ENTRIES)
1463
1464#define V4L2_CID_STATELESS_H264_SLICE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 6)
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499struct v4l2_ctrl_h264_slice_params {
1500 __u32 header_bit_size;
1501 __u32 first_mb_in_slice;
1502 __u8 slice_type;
1503 __u8 colour_plane_id;
1504 __u8 redundant_pic_cnt;
1505 __u8 cabac_init_idc;
1506 __s8 slice_qp_delta;
1507 __s8 slice_qs_delta;
1508 __u8 disable_deblocking_filter_idc;
1509 __s8 slice_alpha_c0_offset_div2;
1510 __s8 slice_beta_offset_div2;
1511 __u8 num_ref_idx_l0_active_minus1;
1512 __u8 num_ref_idx_l1_active_minus1;
1513
1514 __u8 reserved;
1515
1516 struct v4l2_h264_reference ref_pic_list0[V4L2_H264_REF_LIST_LEN];
1517 struct v4l2_h264_reference ref_pic_list1[V4L2_H264_REF_LIST_LEN];
1518
1519 __u32 flags;
1520};
1521
1522#define V4L2_H264_DPB_ENTRY_FLAG_VALID 0x01
1523#define V4L2_H264_DPB_ENTRY_FLAG_ACTIVE 0x02
1524#define V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM 0x04
1525#define V4L2_H264_DPB_ENTRY_FLAG_FIELD 0x08
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544struct v4l2_h264_dpb_entry {
1545 __u64 reference_ts;
1546 __u32 pic_num;
1547 __u16 frame_num;
1548 __u8 fields;
1549 __u8 reserved[5];
1550 __s32 top_field_order_cnt;
1551 __s32 bottom_field_order_cnt;
1552 __u32 flags;
1553};
1554
1555#define V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC 0x01
1556#define V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC 0x02
1557#define V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD 0x04
1558
1559#define V4L2_CID_STATELESS_H264_DECODE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 7)
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581struct v4l2_ctrl_h264_decode_params {
1582 struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES];
1583 __u16 nal_ref_idc;
1584 __u16 frame_num;
1585 __s32 top_field_order_cnt;
1586 __s32 bottom_field_order_cnt;
1587 __u16 idr_pic_id;
1588 __u16 pic_order_cnt_lsb;
1589 __s32 delta_pic_order_cnt_bottom;
1590 __s32 delta_pic_order_cnt0;
1591 __s32 delta_pic_order_cnt1;
1592 __u32 dec_ref_pic_marking_bit_size;
1593 __u32 pic_order_cnt_bit_size;
1594 __u32 slice_group_change_cycle;
1595
1596 __u32 reserved;
1597 __u32 flags;
1598};
1599
1600
1601
1602
1603
1604#define V4L2_FWHT_VERSION 3
1605
1606
1607#define V4L2_FWHT_FL_IS_INTERLACED _BITUL(0)
1608
1609#define V4L2_FWHT_FL_IS_BOTTOM_FIRST _BITUL(1)
1610
1611#define V4L2_FWHT_FL_IS_ALTERNATE _BITUL(2)
1612
1613
1614
1615
1616#define V4L2_FWHT_FL_IS_BOTTOM_FIELD _BITUL(3)
1617
1618#define V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED _BITUL(4)
1619
1620#define V4L2_FWHT_FL_CB_IS_UNCOMPRESSED _BITUL(5)
1621
1622#define V4L2_FWHT_FL_CR_IS_UNCOMPRESSED _BITUL(6)
1623
1624#define V4L2_FWHT_FL_CHROMA_FULL_HEIGHT _BITUL(7)
1625
1626#define V4L2_FWHT_FL_CHROMA_FULL_WIDTH _BITUL(8)
1627
1628#define V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED _BITUL(9)
1629
1630#define V4L2_FWHT_FL_I_FRAME _BITUL(10)
1631
1632
1633#define V4L2_FWHT_FL_COMPONENTS_NUM_MSK GENMASK(18, 16)
1634#define V4L2_FWHT_FL_COMPONENTS_NUM_OFFSET 16
1635
1636
1637#define V4L2_FWHT_FL_PIXENC_MSK GENMASK(20, 19)
1638#define V4L2_FWHT_FL_PIXENC_OFFSET 19
1639#define V4L2_FWHT_FL_PIXENC_YUV (1 << V4L2_FWHT_FL_PIXENC_OFFSET)
1640#define V4L2_FWHT_FL_PIXENC_RGB (2 << V4L2_FWHT_FL_PIXENC_OFFSET)
1641#define V4L2_FWHT_FL_PIXENC_HSV (3 << V4L2_FWHT_FL_PIXENC_OFFSET)
1642
1643#define V4L2_CID_STATELESS_FWHT_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 100)
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659struct v4l2_ctrl_fwht_params {
1660 __u64 backward_ref_ts;
1661 __u32 version;
1662 __u32 width;
1663 __u32 height;
1664 __u32 flags;
1665 __u32 colorspace;
1666 __u32 xfer_func;
1667 __u32 ycbcr_enc;
1668 __u32 quantization;
1669};
1670
1671
1672
1673#define V4L2_VP8_SEGMENT_FLAG_ENABLED 0x01
1674#define V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP 0x02
1675#define V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA 0x04
1676#define V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE 0x08
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692struct v4l2_vp8_segment {
1693 __s8 quant_update[4];
1694 __s8 lf_update[4];
1695 __u8 segment_probs[3];
1696 __u8 padding;
1697 __u32 flags;
1698};
1699
1700#define V4L2_VP8_LF_ADJ_ENABLE 0x01
1701#define V4L2_VP8_LF_DELTA_UPDATE 0x02
1702#define V4L2_VP8_LF_FILTER_TYPE_SIMPLE 0x04
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719struct v4l2_vp8_loop_filter {
1720 __s8 ref_frm_delta[4];
1721 __s8 mb_mode_delta[4];
1722 __u8 sharpness_level;
1723 __u8 level;
1724 __u16 padding;
1725 __u32 flags;
1726};
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744struct v4l2_vp8_quantization {
1745 __u8 y_ac_qi;
1746 __s8 y_dc_delta;
1747 __s8 y2_dc_delta;
1748 __s8 y2_ac_delta;
1749 __s8 uv_dc_delta;
1750 __s8 uv_ac_delta;
1751 __u16 padding;
1752};
1753
1754#define V4L2_VP8_COEFF_PROB_CNT 11
1755#define V4L2_VP8_MV_PROB_CNT 19
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771struct v4l2_vp8_entropy {
1772 __u8 coeff_probs[4][8][3][V4L2_VP8_COEFF_PROB_CNT];
1773 __u8 y_mode_probs[4];
1774 __u8 uv_mode_probs[3];
1775 __u8 mv_probs[2][V4L2_VP8_MV_PROB_CNT];
1776 __u8 padding[3];
1777};
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790struct v4l2_vp8_entropy_coder_state {
1791 __u8 range;
1792 __u8 value;
1793 __u8 bit_count;
1794 __u8 padding;
1795};
1796
1797#define V4L2_VP8_FRAME_FLAG_KEY_FRAME 0x01
1798#define V4L2_VP8_FRAME_FLAG_EXPERIMENTAL 0x02
1799#define V4L2_VP8_FRAME_FLAG_SHOW_FRAME 0x04
1800#define V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF 0x08
1801#define V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN 0x10
1802#define V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT 0x20
1803
1804#define V4L2_VP8_FRAME_IS_KEY_FRAME(hdr) \
1805 (!!((hdr)->flags & V4L2_VP8_FRAME_FLAG_KEY_FRAME))
1806
1807#define V4L2_CID_STATELESS_VP8_FRAME (V4L2_CID_CODEC_STATELESS_BASE + 200)
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836struct v4l2_ctrl_vp8_frame {
1837 struct v4l2_vp8_segment segment;
1838 struct v4l2_vp8_loop_filter lf;
1839 struct v4l2_vp8_quantization quant;
1840 struct v4l2_vp8_entropy entropy;
1841 struct v4l2_vp8_entropy_coder_state coder_state;
1842
1843 __u16 width;
1844 __u16 height;
1845
1846 __u8 horizontal_scale;
1847 __u8 vertical_scale;
1848
1849 __u8 version;
1850 __u8 prob_skip_false;
1851 __u8 prob_intra;
1852 __u8 prob_last;
1853 __u8 prob_gf;
1854 __u8 num_dct_parts;
1855
1856 __u32 first_part_size;
1857 __u32 first_part_header_bits;
1858 __u32 dct_part_sizes[8];
1859
1860 __u64 last_frame_ts;
1861 __u64 golden_frame_ts;
1862 __u64 alt_frame_ts;
1863
1864 __u64 flags;
1865};
1866
1867
1868
1869#define V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE 0x01
1870
1871#define V4L2_CID_STATELESS_MPEG2_SEQUENCE (V4L2_CID_CODEC_STATELESS_BASE+220)
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892struct v4l2_ctrl_mpeg2_sequence {
1893 __u16 horizontal_size;
1894 __u16 vertical_size;
1895 __u32 vbv_buffer_size;
1896 __u16 profile_and_level_indication;
1897 __u8 chroma_format;
1898 __u8 flags;
1899};
1900
1901#define V4L2_MPEG2_PIC_CODING_TYPE_I 1
1902#define V4L2_MPEG2_PIC_CODING_TYPE_P 2
1903#define V4L2_MPEG2_PIC_CODING_TYPE_B 3
1904#define V4L2_MPEG2_PIC_CODING_TYPE_D 4
1905
1906#define V4L2_MPEG2_PIC_TOP_FIELD 0x1
1907#define V4L2_MPEG2_PIC_BOTTOM_FIELD 0x2
1908#define V4L2_MPEG2_PIC_FRAME 0x3
1909
1910#define V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST 0x0001
1911#define V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT 0x0002
1912#define V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV 0x0004
1913#define V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE 0x0008
1914#define V4L2_MPEG2_PIC_FLAG_INTRA_VLC 0x0010
1915#define V4L2_MPEG2_PIC_FLAG_ALT_SCAN 0x0020
1916#define V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST 0x0040
1917#define V4L2_MPEG2_PIC_FLAG_PROGRESSIVE 0x0080
1918
1919#define V4L2_CID_STATELESS_MPEG2_PICTURE (V4L2_CID_CODEC_STATELESS_BASE+221)
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939struct v4l2_ctrl_mpeg2_picture {
1940 __u64 backward_ref_ts;
1941 __u64 forward_ref_ts;
1942 __u32 flags;
1943 __u8 f_code[2][2];
1944 __u8 picture_coding_type;
1945 __u8 picture_structure;
1946 __u8 intra_dc_precision;
1947 __u8 reserved[5];
1948};
1949
1950#define V4L2_CID_STATELESS_MPEG2_QUANTISATION (V4L2_CID_CODEC_STATELESS_BASE+222)
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972struct v4l2_ctrl_mpeg2_quantisation {
1973 __u8 intra_quantiser_matrix[64];
1974 __u8 non_intra_quantiser_matrix[64];
1975 __u8 chroma_intra_quantiser_matrix[64];
1976 __u8 chroma_non_intra_quantiser_matrix[64];
1977};
1978
1979#define V4L2_CID_COLORIMETRY_CLASS_BASE (V4L2_CTRL_CLASS_COLORIMETRY | 0x900)
1980#define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
1981
1982#define V4L2_CID_COLORIMETRY_HDR10_CLL_INFO (V4L2_CID_COLORIMETRY_CLASS_BASE + 0)
1983
1984struct v4l2_ctrl_hdr10_cll_info {
1985 __u16 max_content_light_level;
1986 __u16 max_pic_average_light_level;
1987};
1988
1989#define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
1990
1991#define V4L2_HDR10_MASTERING_PRIMARIES_X_LOW 5
1992#define V4L2_HDR10_MASTERING_PRIMARIES_X_HIGH 37000
1993#define V4L2_HDR10_MASTERING_PRIMARIES_Y_LOW 5
1994#define V4L2_HDR10_MASTERING_PRIMARIES_Y_HIGH 42000
1995#define V4L2_HDR10_MASTERING_WHITE_POINT_X_LOW 5
1996#define V4L2_HDR10_MASTERING_WHITE_POINT_X_HIGH 37000
1997#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_LOW 5
1998#define V4L2_HDR10_MASTERING_WHITE_POINT_Y_HIGH 42000
1999#define V4L2_HDR10_MASTERING_MAX_LUMA_LOW 50000
2000#define V4L2_HDR10_MASTERING_MAX_LUMA_HIGH 100000000
2001#define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
2002#define V4L2_HDR10_MASTERING_MIN_LUMA_HIGH 50000
2003
2004struct v4l2_ctrl_hdr10_mastering_display {
2005 __u16 display_primaries_x[3];
2006 __u16 display_primaries_y[3];
2007 __u16 white_point_x;
2008 __u16 white_point_y;
2009 __u32 max_display_mastering_luminance;
2010 __u32 min_display_mastering_luminance;
2011};
2012
2013
2014#ifndef __KERNEL__
2015#define V4L2_CTRL_CLASS_MPEG V4L2_CTRL_CLASS_CODEC
2016#define V4L2_CID_MPEG_CLASS V4L2_CID_CODEC_CLASS
2017#define V4L2_CID_MPEG_BASE V4L2_CID_CODEC_BASE
2018#define V4L2_CID_MPEG_CX2341X_BASE V4L2_CID_CODEC_CX2341X_BASE
2019#define V4L2_CID_MPEG_MFC51_BASE V4L2_CID_CODEC_MFC51_BASE
2020#endif
2021
2022#endif
2023