summaryrefslogtreecommitdiff
path: root/Documentation/media/videodev2.h.rst.exceptions
blob: c15660f5c58885d6ed7bcf41ee901dabb59db089 (plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
# Ignore header name
ignore define _UAPI__LINUX_VIDEODEV2_H

#
# The cross reference valitator for videodev2.h DocBook never cared
# about enum symbols or defines. Yet, they're all (or almost all?)
# handled inside V4L API sections. So, for now, it is safe to just
# ignore. This should be revisited, as validating it helps to avoid
# having something not documented at the uAPI.
#

# Those symbols should not be used by uAPI - don't document them
ignore symbol V4L2_BUF_TYPE_PRIVATE
ignore symbol V4L2_TUNER_DIGITAL_TV
ignore symbol V4L2_COLORSPACE_BT878

# Documented enum v4l2_field
replace symbol V4L2_FIELD_ALTERNATE v4l2-field
replace symbol V4L2_FIELD_ANY v4l2-field
replace symbol V4L2_FIELD_BOTTOM v4l2-field
replace symbol V4L2_FIELD_INTERLACED v4l2-field
replace symbol V4L2_FIELD_INTERLACED_BT v4l2-field
replace symbol V4L2_FIELD_INTERLACED_TB v4l2-field
replace symbol V4L2_FIELD_NONE v4l2-field
replace symbol V4L2_FIELD_SEQ_BT v4l2-field
replace symbol V4L2_FIELD_SEQ_TB v4l2-field
replace symbol V4L2_FIELD_TOP v4l2-field

# Documented enum v4l2_buf_type
replace symbol V4L2_BUF_TYPE_SDR_CAPTURE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_SDR_OUTPUT v4l2-buf-type
replace symbol V4L2_BUF_TYPE_SLICED_VBI_CAPTURE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_SLICED_VBI_OUTPUT v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VBI_CAPTURE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VBI_OUTPUT v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_CAPTURE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_OUTPUT v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY v4l2-buf-type
replace symbol V4L2_BUF_TYPE_VIDEO_OVERLAY v4l2-buf-type

# Documented enum v4l2_tuner_type
replace symbol V4L2_TUNER_ANALOG_TV v4l2-tuner-type
replace symbol V4L2_TUNER_RADIO v4l2-tuner-type
replace symbol V4L2_TUNER_RF v4l2-tuner-type
replace symbol V4L2_TUNER_SDR v4l2-tuner-type

# Documented enum v4l2_memory
replace symbol V4L2_MEMORY_DMABUF v4l2-memory
replace symbol V4L2_MEMORY_MMAP v4l2-memory
replace symbol V4L2_MEMORY_OVERLAY v4l2-memory
replace symbol V4L2_MEMORY_USERPTR v4l2-memory

# Documented enum v4l2_colorspace
replace symbol V4L2_COLORSPACE_470_SYSTEM_BG v4l2-colorspace
replace symbol V4L2_COLORSPACE_470_SYSTEM_M v4l2-colorspace
replace symbol V4L2_COLORSPACE_ADOBERGB v4l2-colorspace
replace symbol V4L2_COLORSPACE_BT2020 v4l2-colorspace
replace symbol V4L2_COLORSPACE_DCI_P3 v4l2-colorspace
replace symbol V4L2_COLORSPACE_DEFAULT v4l2-colorspace
replace symbol V4L2_COLORSPACE_JPEG v4l2-colorspace
replace symbol V4L2_COLORSPACE_RAW v4l2-colorspace
replace symbol V4L2_COLORSPACE_REC709 v4l2-colorspace
replace symbol V4L2_COLORSPACE_SMPTE170M v4l2-colorspace
replace symbol V4L2_COLORSPACE_SMPTE240M v4l2-colorspace
replace symbol V4L2_COLORSPACE_SRGB v4l2-colorspace

# Documented enum v4l2_xfer_func
replace symbol V4L2_XFER_FUNC_709 v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_ADOBERGB v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_DCI_P3 v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_DEFAULT v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_NONE v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_SMPTE2084 v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_SMPTE240M v4l2-xfer-func
replace symbol V4L2_XFER_FUNC_SRGB v4l2-xfer-func

# Documented enum v4l2_ycbcr_encoding
replace symbol V4L2_YCBCR_ENC_601 v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_709 v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_BT2020 v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_BT2020_CONST_LUM v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_DEFAULT v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_SYCC v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_XV601 v4l2-ycbcr-encoding
replace symbol V4L2_YCBCR_ENC_XV709 v4l2-ycbcr-encoding

# Is this deprecated, or just a missing reference?
replace symbol V4L2_YCBCR_ENC_SMPTE240M v4l2-ycbcr-encoding-FIXME

# Documented enum v4l2_quantization
replace symbol V4L2_QUANTIZATION_DEFAULT v4l2-quantization
replace symbol V4L2_QUANTIZATION_FULL_RANGE v4l2-quantization
replace symbol V4L2_QUANTIZATION_LIM_RANGE v4l2-quantization

# Documented enum v4l2_priority
replace symbol V4L2_PRIORITY_BACKGROUND v4l2-priority
replace symbol V4L2_PRIORITY_DEFAULT v4l2-priority
replace symbol V4L2_PRIORITY_INTERACTIVE v4l2-priority
replace symbol V4L2_PRIORITY_RECORD v4l2-priority
replace symbol V4L2_PRIORITY_UNSET v4l2-priority

# Documented enum v4l2_frmsizetypes
replace symbol V4L2_FRMSIZE_TYPE_CONTINUOUS v4l2-frmsizetypes
replace symbol V4L2_FRMSIZE_TYPE_DISCRETE v4l2-frmsizetypes
replace symbol V4L2_FRMSIZE_TYPE_STEPWISE v4l2-frmsizetypes

# Documented enum frmivaltypes
replace symbol V4L2_FRMIVAL_TYPE_CONTINUOUS v4l2-frmivaltypes
replace symbol V4L2_FRMIVAL_TYPE_DISCRETE v4l2-frmivaltypes
replace symbol V4L2_FRMIVAL_TYPE_STEPWISE v4l2-frmivaltypes

# Documented enum v4l2-ctrl-type
replace symbol V4L2_CTRL_COMPOUND_TYPES vidioc_queryctrl

replace symbol V4L2_CTRL_TYPE_BITMASK v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_BOOLEAN v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_BUTTON v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_CTRL_CLASS v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_INTEGER v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_INTEGER64 v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_INTEGER_MENU v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_MENU v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_STRING v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_U16 v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_U32 v4l2-ctrl-type
replace symbol V4L2_CTRL_TYPE_U8 v4l2-ctrl-type

# V4L2 capability defines
replace define V4L2_CAP_VIDEO_CAPTURE device-capabilities
replace define V4L2_CAP_VIDEO_CAPTURE_MPLANE device-capabilities
replace define V4L2_CAP_VIDEO_OUTPUT device-capabilities
replace define V4L2_CAP_VIDEO_OUTPUT_MPLANE device-capabilities
replace define V4L2_CAP_VIDEO_M2M device-capabilities
replace define V4L2_CAP_VIDEO_M2M_MPLANE device-capabilities
replace define V4L2_CAP_VIDEO_OVERLAY device-capabilities
replace define V4L2_CAP_VBI_CAPTURE device-capabilities
replace define V4L2_CAP_VBI_OUTPUT device-capabilities
replace define V4L2_CAP_SLICED_VBI_CAPTURE device-capabilities
replace define V4L2_CAP_SLICED_VBI_OUTPUT device-capabilities
replace define V4L2_CAP_RDS_CAPTURE device-capabilities
replace define V4L2_CAP_VIDEO_OUTPUT_OVERLAY device-capabilities
replace define V4L2_CAP_HW_FREQ_SEEK device-capabilities
replace define V4L2_CAP_RDS_OUTPUT device-capabilities
replace define V4L2_CAP_TUNER device-capabilities
replace define V4L2_CAP_AUDIO device-capabilities
replace define V4L2_CAP_RADIO device-capabilities
replace define V4L2_CAP_MODULATOR device-capabilities
replace define V4L2_CAP_SDR_CAPTURE device-capabilities
replace define V4L2_CAP_EXT_PIX_FORMAT device-capabilities
replace define V4L2_CAP_SDR_OUTPUT device-capabilities
replace define V4L2_CAP_READWRITE device-capabilities
replace define V4L2_CAP_ASYNCIO device-capabilities
replace define V4L2_CAP_STREAMING device-capabilities
replace define V4L2_CAP_DEVICE_CAPS device-capabilities

# V4L2 pix flags
replace define V4L2_PIX_FMT_PRIV_MAGIC v4l2-pix-format
replace define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA reserved-formats

# V4L2 format flags
replace define V4L2_FMT_FLAG_COMPRESSED fmtdesc-flags
replace define V4L2_FMT_FLAG_EMULATED fmtdesc-flags

# V4L2 tymecode types
replace define V4L2_TC_TYPE_24FPS timecode-type
replace define V4L2_TC_TYPE_25FPS timecode-type
replace define V4L2_TC_TYPE_30FPS timecode-type
replace define V4L2_TC_TYPE_50FPS timecode-type
replace define V4L2_TC_TYPE_60FPS timecode-type

# V4L2 tymecode flags
replace define V4L2_TC_FLAG_DROPFRAME timecode-flags
replace define V4L2_TC_FLAG_COLORFRAME timecode-flags
replace define V4L2_TC_USERBITS_field timecode-flags
replace define V4L2_TC_USERBITS_USERDEFINED timecode-flags
replace define V4L2_TC_USERBITS_8BITCHARS timecode-flags

# V4L2 JPEG markers
replace define V4L2_JPEG_MARKER_DHT jpeg-markers
replace define V4L2_JPEG_MARKER_DQT jpeg-markers
replace define V4L2_JPEG_MARKER_DRI jpeg-markers
replace define V4L2_JPEG_MARKER_COM jpeg-markers
replace define V4L2_JPEG_MARKER_APP jpeg-markers

#V4L2 buffer flags
replace define V4L2_BUF_FLAG_MAPPED buffer-flags
replace define V4L2_BUF_FLAG_QUEUED buffer-flags
replace define V4L2_BUF_FLAG_DONE buffer-flags
replace define V4L2_BUF_FLAG_ERROR buffer-flags
replace define V4L2_BUF_FLAG_KEYFRAME buffer-flags
replace define V4L2_BUF_FLAG_PFRAME buffer-flags
replace define V4L2_BUF_FLAG_BFRAME buffer-flags
replace define V4L2_BUF_FLAG_TIMECODE buffer-flags
replace define V4L2_BUF_FLAG_PREPARED buffer-flags
replace define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE buffer-flags
replace define V4L2_BUF_FLAG_NO_CACHE_CLEAN buffer-flags
replace define V4L2_BUF_FLAG_TIMESTAMP_MASK buffer-flags
replace define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN buffer-flags
replace define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC buffer-flags
replace define V4L2_BUF_FLAG_TIMESTAMP_COPY buffer-flags
replace define V4L2_BUF_FLAG_TSTAMP_SRC_MASK buffer-flags
replace define V4L2_BUF_FLAG_TSTAMP_SRC_EOF buffer-flags
replace define V4L2_BUF_FLAG_TSTAMP_SRC_SOE buffer-flags
replace define V4L2_BUF_FLAG_LAST buffer-flags-FIXME

# V4L2 framebuffer caps and flags

replace define V4L2_FBUF_CAP_EXTERNOVERLAY framebuffer-cap
replace define V4L2_FBUF_CAP_CHROMAKEY framebuffer-cap
replace define V4L2_FBUF_CAP_LIST_CLIPPING framebuffer-cap
replace define V4L2_FBUF_CAP_BITMAP_CLIPPING framebuffer-cap
replace define V4L2_FBUF_CAP_LOCAL_ALPHA framebuffer-cap
replace define V4L2_FBUF_CAP_GLOBAL_ALPHA framebuffer-cap
replace define V4L2_FBUF_CAP_LOCAL_INV_ALPHA framebuffer-cap
replace define V4L2_FBUF_CAP_SRC_CHROMAKEY framebuffer-cap

replace define V4L2_FBUF_FLAG_PRIMARY framebuffer-flags
replace define V4L2_FBUF_FLAG_OVERLAY framebuffer-flags
replace define V4L2_FBUF_FLAG_CHROMAKEY framebuffer-flags
replace define V4L2_FBUF_FLAG_LOCAL_ALPHA framebuffer-flags
replace define V4L2_FBUF_FLAG_GLOBAL_ALPHA framebuffer-flags
replace define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA framebuffer-flags
replace define V4L2_FBUF_FLAG_SRC_CHROMAKEY framebuffer-flags

# Used on VIDIOC_G_PARM

replace define V4L2_MODE_HIGHQUALITY parm-flags
replace define V4L2_CAP_TIMEPERFRAME v4l2-captureparm

# The V4L2_STD_foo are all defined at v4l2_std_id table

replace define V4L2_STD_PAL_B v4l2-std-id
replace define V4L2_STD_PAL_B1 v4l2-std-id
replace define V4L2_STD_PAL_G v4l2-std-id
replace define V4L2_STD_PAL_H v4l2-std-id
replace define V4L2_STD_PAL_I v4l2-std-id
replace define V4L2_STD_PAL_D v4l2-std-id
replace define V4L2_STD_PAL_D1 v4l2-std-id
replace define V4L2_STD_PAL_K v4l2-std-id
replace define V4L2_STD_PAL_M v4l2-std-id
replace define V4L2_STD_PAL_N v4l2-std-id
replace define V4L2_STD_PAL_Nc v4l2-std-id
replace define V4L2_STD_PAL_60 v4l2-std-id
replace define V4L2_STD_NTSC_M v4l2-std-id
replace define V4L2_STD_NTSC_M_JP v4l2-std-id
replace define V4L2_STD_NTSC_443 v4l2-std-id
replace define V4L2_STD_NTSC_M_KR v4l2-std-id
replace define V4L2_STD_SECAM_B v4l2-std-id
replace define V4L2_STD_SECAM_D v4l2-std-id
replace define V4L2_STD_SECAM_G v4l2-std-id
replace define V4L2_STD_SECAM_H v4l2-std-id
replace define V4L2_STD_SECAM_K v4l2-std-id
replace define V4L2_STD_SECAM_K1 v4l2-std-id
replace define V4L2_STD_SECAM_L v4l2-std-id
replace define V4L2_STD_SECAM_LC v4l2-std-id
replace define V4L2_STD_ATSC_8_VSB v4l2-std-id
replace define V4L2_STD_ATSC_16_VSB v4l2-std-id
replace define V4L2_STD_NTSC v4l2-std-id
replace define V4L2_STD_SECAM_DK v4l2-std-id
replace define V4L2_STD_SECAM v4l2-std-id
replace define V4L2_STD_PAL_BG v4l2-std-id
replace define V4L2_STD_PAL_DK v4l2-std-id
replace define V4L2_STD_PAL v4l2-std-id
replace define V4L2_STD_B v4l2-std-id
replace define V4L2_STD_G v4l2-std-id
replace define V4L2_STD_H v4l2-std-id
replace define V4L2_STD_L v4l2-std-id
replace define V4L2_STD_GH v4l2-std-id
replace define V4L2_STD_DK v4l2-std-id
replace define V4L2_STD_BG v4l2-std-id
replace define V4L2_STD_MN v4l2-std-id
replace define V4L2_STD_MTS v4l2-std-id
replace define V4L2_STD_525_60 v4l2-std-id
replace define V4L2_STD_625_50 v4l2-std-id
replace define V4L2_STD_ATSC v4l2-std-id
replace define V4L2_STD_UNKNOWN v4l2-std-id
replace define V4L2_STD_ALL v4l2-std-id

# V4L2 DT BT timings definitions

replace define V4L2_DV_PROGRESSIVE v4l2-dv-fixme
replace define V4L2_DV_INTERLACED v4l2-dv-fixme

replace define V4L2_DV_VSYNC_POS_POL v4l2-bt-timings
replace define V4L2_DV_HSYNC_POS_POL v4l2-bt-timings

replace define V4L2_DV_BT_STD_CEA861 dv-bt-standards
replace define V4L2_DV_BT_STD_DMT dv-bt-standards
replace define V4L2_DV_BT_STD_CVT dv-bt-standards
replace define V4L2_DV_BT_STD_GTF dv-bt-standards

replace define V4L2_DV_FL_REDUCED_BLANKING dv-bt-standards
replace define V4L2_DV_FL_CAN_REDUCE_FPS dv-bt-standards
replace define V4L2_DV_FL_REDUCED_FPS dv-bt-standards
replace define V4L2_DV_FL_HALF_LINE dv-bt-standards
replace define V4L2_DV_FL_IS_CE_VIDEO dv-bt-standards

replace define V4L2_DV_BT_656_1120 dv-timing-types

replace define V4L2_DV_BT_CAP_INTERLACED framebuffer-cap
replace define V4L2_DV_BT_CAP_PROGRESSIVE framebuffer-cap
replace define V4L2_DV_BT_CAP_REDUCED_BLANKING framebuffer-cap
replace define V4L2_DV_BT_CAP_CUSTOM framebuffer-cap

# V4L2 input

replace define V4L2_INPUT_TYPE_TUNER input-type
replace define V4L2_INPUT_TYPE_CAMERA input-type

replace define V4L2_IN_ST_NO_POWER input-status
replace define V4L2_IN_ST_NO_SIGNAL input-status
replace define V4L2_IN_ST_NO_COLOR input-status
replace define V4L2_IN_ST_HFLIP input-status
replace define V4L2_IN_ST_VFLIP input-status
replace define V4L2_IN_ST_NO_H_LOCK input-status
replace define V4L2_IN_ST_COLOR_KILL input-status
replace define V4L2_IN_ST_NO_SYNC input-status
replace define V4L2_IN_ST_NO_EQU input-status
replace define V4L2_IN_ST_NO_CARRIER input-status
replace define V4L2_IN_ST_MACROVISION input-status
replace define V4L2_IN_ST_NO_ACCESS input-status
replace define V4L2_IN_ST_VTR input-status

replace define V4L2_IN_CAP_DV_TIMINGS input-capabilities
replace define V4L2_IN_CAP_STD input-capabilities
replace define V4L2_IN_CAP_NATIVE_SIZE input-capabilities

# V4L2 output

replace define V4L2_OUTPUT_TYPE_MODULATOR output-type
replace define V4L2_OUTPUT_TYPE_ANALOG output-type
replace define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY output-type

replace define V4L2_OUT_CAP_DV_TIMINGS output-capabilities
replace define V4L2_OUT_CAP_STD output-capabilities
replace define V4L2_OUT_CAP_NATIVE_SIZE output-capabilities

# V4L2 control flags

replace define V4L2_CTRL_FLAG_DISABLED control-flags
replace define V4L2_CTRL_FLAG_GRABBED control-flags
replace define V4L2_CTRL_FLAG_READ_ONLY control-flags
replace define V4L2_CTRL_FLAG_UPDATE control-flags
replace define V4L2_CTRL_FLAG_INACTIVE control-flags
replace define V4L2_CTRL_FLAG_SLIDER control-flags
replace define V4L2_CTRL_FLAG_WRITE_ONLY control-flags
replace define V4L2_CTRL_FLAG_VOLATILE control-flags
replace define V4L2_CTRL_FLAG_HAS_PAYLOAD control-flags
replace define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE control-flags

replace define V4L2_CTRL_FLAG_NEXT_CTRL control
replace define V4L2_CTRL_FLAG_NEXT_COMPOUND control
replace define V4L2_CID_PRIVATE_BASE control

# V4L2 tuner

replace define V4L2_TUNER_CAP_LOW tuner-capability
replace define V4L2_TUNER_CAP_NORM tuner-capability
replace define V4L2_TUNER_CAP_HWSEEK_BOUNDED tuner-capability
replace define V4L2_TUNER_CAP_HWSEEK_WRAP tuner-capability
replace define V4L2_TUNER_CAP_STEREO tuner-capability
replace define V4L2_TUNER_CAP_LANG2 tuner-capability
replace define V4L2_TUNER_CAP_SAP tuner-capability
replace define V4L2_TUNER_CAP_LANG1 tuner-capability
replace define V4L2_TUNER_CAP_RDS tuner-capability
replace define V4L2_TUNER_CAP_RDS_BLOCK_IO tuner-capability
replace define V4L2_TUNER_CAP_RDS_CONTROLS tuner-capability
replace define V4L2_TUNER_CAP_FREQ_BANDS tuner-capability
replace define V4L2_TUNER_CAP_HWSEEK_PROG_LIM tuner-capability
replace define V4L2_TUNER_CAP_1HZ tuner-capability

replace define V4L2_TUNER_SUB_MONO tuner-rxsubchans
replace define V4L2_TUNER_SUB_STEREO tuner-rxsubchans
replace define V4L2_TUNER_SUB_LANG2 tuner-rxsubchans
replace define V4L2_TUNER_SUB_SAP tuner-rxsubchans
replace define V4L2_TUNER_SUB_LANG1 tuner-rxsubchans
replace define V4L2_TUNER_SUB_RDS tuner-rxsubchans

replace define V4L2_TUNER_MODE_MONO tuner-audmode
replace define V4L2_TUNER_MODE_STEREO tuner-audmode
replace define V4L2_TUNER_MODE_LANG2 tuner-audmode
replace define V4L2_TUNER_MODE_SAP tuner-audmode
replace define V4L2_TUNER_MODE_LANG1 tuner-audmode
replace define V4L2_TUNER_MODE_LANG1_LANG2 tuner-audmode

replace define V4L2_BAND_MODULATION_VSB band-modulation
replace define V4L2_BAND_MODULATION_FM band-modulation
replace define V4L2_BAND_MODULATION_AM band-modulation

replace define V4L2_RDS_BLOCK_MSK v4l2-rds-block
replace define V4L2_RDS_BLOCK_A v4l2-rds-block
replace define V4L2_RDS_BLOCK_B v4l2-rds-block
replace define V4L2_RDS_BLOCK_C v4l2-rds-block
replace define V4L2_RDS_BLOCK_D v4l2-rds-block
replace define V4L2_RDS_BLOCK_C_ALT v4l2-rds-block
replace define V4L2_RDS_BLOCK_INVALID v4l2-rds-block
replace define V4L2_RDS_BLOCK_CORRECTED v4l2-rds-block
replace define V4L2_RDS_BLOCK_ERROR v4l2-rds-block

# V4L2 audio

replace define V4L2_AUDCAP_STEREO audio-capability
replace define V4L2_AUDCAP_AVL audio-capability

replace define V4L2_AUDMODE_AVL audio-mode

# MPEG

replace define V4L2_ENC_IDX_FRAME_I v4l2-enc-idx
replace define V4L2_ENC_IDX_FRAME_P v4l2-enc-idx
replace define V4L2_ENC_IDX_FRAME_B v4l2-enc-idx
replace define V4L2_ENC_IDX_FRAME_MASK v4l2-enc-idx
replace define V4L2_ENC_IDX_ENTRIES v4l2-enc-idx

replace define V4L2_ENC_CMD_START encoder-cmds
replace define V4L2_ENC_CMD_STOP encoder-cmds
replace define V4L2_ENC_CMD_PAUSE encoder-cmds
replace define V4L2_ENC_CMD_RESUME encoder-cmds

replace define V4L2_ENC_CMD_STOP_AT_GOP_END encoder-flags

replace define V4L2_DEC_CMD_START decoder-cmds
replace define V4L2_DEC_CMD_STOP decoder-cmds
replace define V4L2_DEC_CMD_PAUSE decoder-cmds
replace define V4L2_DEC_CMD_RESUME decoder-cmds

replace define V4L2_DEC_CMD_START_MUTE_AUDIO decoder-cmds
replace define V4L2_DEC_CMD_PAUSE_TO_BLACK decoder-cmds
replace define V4L2_DEC_CMD_STOP_TO_BLACK decoder-cmds
replace define V4L2_DEC_CMD_STOP_IMMEDIATELY decoder-cmds

replace define V4L2_DEC_START_FMT_NONE decoder-cmds
replace define V4L2_DEC_START_FMT_GOP decoder-cmds

# V4L2 VBI

replace define V4L2_VBI_UNSYNC vbifmt-flags
replace define V4L2_VBI_INTERLACED vbifmt-flags

replace define V4L2_VBI_ITU_525_F1_START v4l2-vbi-format
replace define V4L2_VBI_ITU_525_F2_START v4l2-vbi-format
replace define V4L2_VBI_ITU_625_F1_START v4l2-vbi-format
replace define V4L2_VBI_ITU_625_F2_START v4l2-vbi-format


replace define V4L2_SLICED_TELETEXT_B vbi-services
replace define V4L2_SLICED_VPS vbi-services
replace define V4L2_SLICED_CAPTION_525 vbi-services
replace define V4L2_SLICED_WSS_625 vbi-services
replace define V4L2_SLICED_VBI_525 vbi-services
replace define V4L2_SLICED_VBI_625 vbi-services

replace define V4L2_MPEG_VBI_IVTV_TELETEXT_B ITV0-Line-Identifier-Constants
replace define V4L2_MPEG_VBI_IVTV_CAPTION_525 ITV0-Line-Identifier-Constants
replace define V4L2_MPEG_VBI_IVTV_WSS_625 ITV0-Line-Identifier-Constants
replace define V4L2_MPEG_VBI_IVTV_VPS ITV0-Line-Identifier-Constants

replace define V4L2_MPEG_VBI_IVTV_MAGIC0 v4l2-mpeg-vbi-fmt-ivtv-magic
replace define V4L2_MPEG_VBI_IVTV_MAGIC1 v4l2-mpeg-vbi-fmt-ivtv-magic

# V4L2 events

replace define V4L2_EVENT_ALL event-type
replace define V4L2_EVENT_VSYNC event-type
replace define V4L2_EVENT_EOS event-type
replace define V4L2_EVENT_CTRL event-type
replace define V4L2_EVENT_FRAME_SYNC event-type
replace define V4L2_EVENT_SOURCE_CHANGE event-type
replace define V4L2_EVENT_MOTION_DET event-type
replace define V4L2_EVENT_PRIVATE_START event-type

replace define V4L2_EVENT_CTRL_CH_VALUE ctrl-changes-flags
replace define V4L2_EVENT_CTRL_CH_FLAGS ctrl-changes-flags
replace define V4L2_EVENT_CTRL_CH_RANGE ctrl-changes-flags

replace define V4L2_EVENT_SRC_CH_RESOLUTION src-changes-flags

replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ v4l2-event-motion-det

replace define V4L2_EVENT_SUB_FL_SEND_INITIAL event-flags
replace define V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK event-flags

# V4L2 debugging
replace define V4L2_CHIP_MATCH_BRIDGE vidioc_dbg_g_register
replace define V4L2_CHIP_MATCH_SUBDEV vidioc_dbg_g_register
replace define V4L2_CHIP_MATCH_HOST vidioc_dbg_g_register
replace define V4L2_CHIP_MATCH_I2C_DRIVER vidioc_dbg_g_register
replace define V4L2_CHIP_MATCH_I2C_ADDR vidioc_dbg_g_register
replace define V4L2_CHIP_MATCH_AC97 vidioc_dbg_g_register

replace define V4L2_CHIP_FL_READABLE vidioc_dbg_g_register
replace define V4L2_CHIP_FL_WRITABLE vidioc_dbg_g_register

# Ignore reserved ioctl and ancillary macros

ignore define VIDEO_MAX_FRAME
ignore define VIDEO_MAX_PLANES
ignore define v4l2_fourcc
ignore define v4l2_fourcc_be
ignore define V4L2_FIELD_HAS_TOP
ignore define V4L2_FIELD_HAS_BOTTOM
ignore define V4L2_FIELD_HAS_BOTH
ignore define V4L2_FIELD_HAS_T_OR_B
ignore define V4L2_TYPE_IS_MULTIPLANAR
ignore define V4L2_TYPE_IS_OUTPUT
ignore define V4L2_TUNER_ADC
ignore define V4L2_MAP_COLORSPACE_DEFAULT
ignore define V4L2_MAP_XFER_FUNC_DEFAULT
ignore define V4L2_MAP_YCBCR_ENC_DEFAULT
ignore define V4L2_DV_BT_BLANKING_WIDTH
ignore define V4L2_DV_BT_FRAME_WIDTH
ignore define V4L2_DV_BT_BLANKING_HEIGHT
ignore define V4L2_DV_BT_FRAME_HEIGHT
ignore define V4L2_IN_CAP_CUSTOM_TIMINGS
ignore define V4L2_CTRL_ID_MASK
ignore define V4L2_CTRL_ID2CLASS
ignore define V4L2_CTRL_ID2WHICH
ignore define V4L2_CTRL_DRIVER_PRIV
ignore define V4L2_CTRL_MAX_DIMS
ignore define V4L2_CTRL_WHICH_CUR_VAL
ignore define V4L2_CTRL_WHICH_DEF_VAL
ignore define V4L2_OUT_CAP_CUSTOM_TIMINGS
ignore define V4L2_CID_MAX_CTRLS

ignore ioctl VIDIOC_RESERVED
ignore define BASE_VIDIOC_PRIVATE

# Associate ioctls with their counterparts
replace ioctl VIDIOC_DBG_S_REGISTER vidioc_dbg_g_register
replace ioctl VIDIOC_DQBUF vidioc_qbuf
replace ioctl VIDIOC_S_AUDOUT vidioc_g_audout
replace ioctl VIDIOC_S_CROP vidioc_g_crop
replace ioctl VIDIOC_S_CTRL vidioc_g_ctrl
replace ioctl VIDIOC_S_DV_TIMINGS vidioc_g_dv_timings
replace ioctl VIDIOC_S_EDID vidioc_g_edid
replace ioctl VIDIOC_S_EXT_CTRLS vidioc_g_ext_ctrls
replace ioctl VIDIOC_S_FBUF vidioc_g_fbuf
replace ioctl VIDIOC_S_FMT vidioc_g_fmt
replace ioctl VIDIOC_S_FREQUENCY vidioc_g_frequency
replace ioctl VIDIOC_S_INPUT vidioc_g_input
replace ioctl VIDIOC_S_JPEGCOMP vidioc_g_jpegcomp
replace ioctl VIDIOC_S_MODULATOR vidioc_g_modulator
replace ioctl VIDIOC_S_OUTPUT vidioc_g_output
replace ioctl VIDIOC_S_PARM vidioc_g_parm
replace ioctl VIDIOC_S_PRIORITY vidioc_g_priority
replace ioctl VIDIOC_S_SELECTION vidioc_g_selection
replace ioctl VIDIOC_S_STD vidioc_g_std
replace ioctl VIDIOC_S_AUDIO vidioc_g_audio
replace ioctl VIDIOC_S_TUNER vidioc_g_tuner
replace ioctl VIDIOC_TRY_DECODER_CMD vidioc_decoder_cmd
replace ioctl VIDIOC_TRY_ENCODER_CMD vidioc_encoder_cmd
replace ioctl VIDIOC_TRY_EXT_CTRLS vidioc_g_ext_ctrls
replace ioctl VIDIOC_TRY_FMT vidioc_g_fmt
replace ioctl VIDIOC_STREAMOFF vidioc_streamon
replace ioctl VIDIOC_UNSUBSCRIBE_EVENT vidioc_subscribe_event
replace ioctl VIDIOC_QUERY_EXT_CTRL vidioc_queryctrl
replace ioctl VIDIOC_QUERYMENU vidioc_queryctrl