• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright 2022 Collabora Ltd.
4  *
5  * AUTOMATICALLY GENERATED BY v4l2-tracer-gen.pl DO NOT EDIT
6  */
7 
8 #ifndef V4L2_TRACER_INFO_GEN_H
9 #define V4L2_TRACER_INFO_GEN_H
10 
11 #include "v4l2-tracer-common.h"
12 
13 constexpr val_def ctrlclass_val_def[] = {
14 	{ V4L2_CTRL_CLASS_USER,	"V4L2_CTRL_CLASS_USER" },
15 	{ V4L2_CTRL_CLASS_CODEC,	"V4L2_CTRL_CLASS_CODEC" },
16 	{ V4L2_CTRL_CLASS_CAMERA,	"V4L2_CTRL_CLASS_CAMERA" },
17 	{ V4L2_CTRL_CLASS_FM_TX,	"V4L2_CTRL_CLASS_FM_TX" },
18 	{ V4L2_CTRL_CLASS_FLASH,	"V4L2_CTRL_CLASS_FLASH" },
19 	{ V4L2_CTRL_CLASS_JPEG,	"V4L2_CTRL_CLASS_JPEG" },
20 	{ V4L2_CTRL_CLASS_IMAGE_SOURCE,	"V4L2_CTRL_CLASS_IMAGE_SOURCE" },
21 	{ V4L2_CTRL_CLASS_IMAGE_PROC,	"V4L2_CTRL_CLASS_IMAGE_PROC" },
22 	{ V4L2_CTRL_CLASS_DV,	"V4L2_CTRL_CLASS_DV" },
23 	{ V4L2_CTRL_CLASS_FM_RX,	"V4L2_CTRL_CLASS_FM_RX" },
24 	{ V4L2_CTRL_CLASS_RF_TUNER,	"V4L2_CTRL_CLASS_RF_TUNER" },
25 	{ V4L2_CTRL_CLASS_DETECT,	"V4L2_CTRL_CLASS_DETECT" },
26 	{ V4L2_CTRL_CLASS_CODEC_STATELESS,	"V4L2_CTRL_CLASS_CODEC_STATELESS" },
27 	{ V4L2_CTRL_CLASS_COLORIMETRY,	"V4L2_CTRL_CLASS_COLORIMETRY" },
28 	{ -1, "" }
29 };
30 
31 constexpr val_def v4l2_power_line_frequency_val_def[] = {
32 	{ V4L2_CID_POWER_LINE_FREQUENCY_DISABLED,	"V4L2_CID_POWER_LINE_FREQUENCY_DISABLED" },
33 	{ V4L2_CID_POWER_LINE_FREQUENCY_50HZ,	"V4L2_CID_POWER_LINE_FREQUENCY_50HZ" },
34 	{ V4L2_CID_POWER_LINE_FREQUENCY_60HZ,	"V4L2_CID_POWER_LINE_FREQUENCY_60HZ" },
35 	{ V4L2_CID_POWER_LINE_FREQUENCY_AUTO,	"V4L2_CID_POWER_LINE_FREQUENCY_AUTO" },
36 	{ -1, "" }
37 };
38 
39 constexpr val_def v4l2_colorfx_val_def[] = {
40 	{ V4L2_COLORFX_NONE,	"V4L2_COLORFX_NONE" },
41 	{ V4L2_COLORFX_BW,	"V4L2_COLORFX_BW" },
42 	{ V4L2_COLORFX_SEPIA,	"V4L2_COLORFX_SEPIA" },
43 	{ V4L2_COLORFX_NEGATIVE,	"V4L2_COLORFX_NEGATIVE" },
44 	{ V4L2_COLORFX_EMBOSS,	"V4L2_COLORFX_EMBOSS" },
45 	{ V4L2_COLORFX_SKETCH,	"V4L2_COLORFX_SKETCH" },
46 	{ V4L2_COLORFX_SKY_BLUE,	"V4L2_COLORFX_SKY_BLUE" },
47 	{ V4L2_COLORFX_GRASS_GREEN,	"V4L2_COLORFX_GRASS_GREEN" },
48 	{ V4L2_COLORFX_SKIN_WHITEN,	"V4L2_COLORFX_SKIN_WHITEN" },
49 	{ V4L2_COLORFX_VIVID,	"V4L2_COLORFX_VIVID" },
50 	{ V4L2_COLORFX_AQUA,	"V4L2_COLORFX_AQUA" },
51 	{ V4L2_COLORFX_ART_FREEZE,	"V4L2_COLORFX_ART_FREEZE" },
52 	{ V4L2_COLORFX_SILHOUETTE,	"V4L2_COLORFX_SILHOUETTE" },
53 	{ V4L2_COLORFX_SOLARIZATION,	"V4L2_COLORFX_SOLARIZATION" },
54 	{ V4L2_COLORFX_ANTIQUE,	"V4L2_COLORFX_ANTIQUE" },
55 	{ V4L2_COLORFX_SET_CBCR,	"V4L2_COLORFX_SET_CBCR" },
56 	{ V4L2_COLORFX_SET_RGB,	"V4L2_COLORFX_SET_RGB" },
57 	{ -1, "" }
58 };
59 
60 constexpr val_def v4l2_mpeg_stream_type_val_def[] = {
61 	{ V4L2_MPEG_STREAM_TYPE_MPEG2_PS,	"V4L2_MPEG_STREAM_TYPE_MPEG2_PS" },
62 	{ V4L2_MPEG_STREAM_TYPE_MPEG2_TS,	"V4L2_MPEG_STREAM_TYPE_MPEG2_TS" },
63 	{ V4L2_MPEG_STREAM_TYPE_MPEG1_SS,	"V4L2_MPEG_STREAM_TYPE_MPEG1_SS" },
64 	{ V4L2_MPEG_STREAM_TYPE_MPEG2_DVD,	"V4L2_MPEG_STREAM_TYPE_MPEG2_DVD" },
65 	{ V4L2_MPEG_STREAM_TYPE_MPEG1_VCD,	"V4L2_MPEG_STREAM_TYPE_MPEG1_VCD" },
66 	{ V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD,	"V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD" },
67 	{ -1, "" }
68 };
69 
70 constexpr val_def v4l2_mpeg_stream_vbi_fmt_val_def[] = {
71 	{ V4L2_MPEG_STREAM_VBI_FMT_NONE,	"V4L2_MPEG_STREAM_VBI_FMT_NONE" },
72 	{ V4L2_MPEG_STREAM_VBI_FMT_IVTV,	"V4L2_MPEG_STREAM_VBI_FMT_IVTV" },
73 	{ -1, "" }
74 };
75 
76 constexpr val_def v4l2_mpeg_audio_sampling_freq_val_def[] = {
77 	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100" },
78 	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000" },
79 	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000" },
80 	{ -1, "" }
81 };
82 
83 constexpr val_def v4l2_mpeg_audio_encoding_val_def[] = {
84 	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_1,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_1" },
85 	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_2,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_2" },
86 	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_3,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_3" },
87 	{ V4L2_MPEG_AUDIO_ENCODING_AAC,	"V4L2_MPEG_AUDIO_ENCODING_AAC" },
88 	{ V4L2_MPEG_AUDIO_ENCODING_AC3,	"V4L2_MPEG_AUDIO_ENCODING_AC3" },
89 	{ -1, "" }
90 };
91 
92 constexpr val_def v4l2_mpeg_audio_l1_bitrate_val_def[] = {
93 	{ V4L2_MPEG_AUDIO_L1_BITRATE_32K,	"V4L2_MPEG_AUDIO_L1_BITRATE_32K" },
94 	{ V4L2_MPEG_AUDIO_L1_BITRATE_64K,	"V4L2_MPEG_AUDIO_L1_BITRATE_64K" },
95 	{ V4L2_MPEG_AUDIO_L1_BITRATE_96K,	"V4L2_MPEG_AUDIO_L1_BITRATE_96K" },
96 	{ V4L2_MPEG_AUDIO_L1_BITRATE_128K,	"V4L2_MPEG_AUDIO_L1_BITRATE_128K" },
97 	{ V4L2_MPEG_AUDIO_L1_BITRATE_160K,	"V4L2_MPEG_AUDIO_L1_BITRATE_160K" },
98 	{ V4L2_MPEG_AUDIO_L1_BITRATE_192K,	"V4L2_MPEG_AUDIO_L1_BITRATE_192K" },
99 	{ V4L2_MPEG_AUDIO_L1_BITRATE_224K,	"V4L2_MPEG_AUDIO_L1_BITRATE_224K" },
100 	{ V4L2_MPEG_AUDIO_L1_BITRATE_256K,	"V4L2_MPEG_AUDIO_L1_BITRATE_256K" },
101 	{ V4L2_MPEG_AUDIO_L1_BITRATE_288K,	"V4L2_MPEG_AUDIO_L1_BITRATE_288K" },
102 	{ V4L2_MPEG_AUDIO_L1_BITRATE_320K,	"V4L2_MPEG_AUDIO_L1_BITRATE_320K" },
103 	{ V4L2_MPEG_AUDIO_L1_BITRATE_352K,	"V4L2_MPEG_AUDIO_L1_BITRATE_352K" },
104 	{ V4L2_MPEG_AUDIO_L1_BITRATE_384K,	"V4L2_MPEG_AUDIO_L1_BITRATE_384K" },
105 	{ V4L2_MPEG_AUDIO_L1_BITRATE_416K,	"V4L2_MPEG_AUDIO_L1_BITRATE_416K" },
106 	{ V4L2_MPEG_AUDIO_L1_BITRATE_448K,	"V4L2_MPEG_AUDIO_L1_BITRATE_448K" },
107 	{ -1, "" }
108 };
109 
110 constexpr val_def v4l2_mpeg_audio_l2_bitrate_val_def[] = {
111 	{ V4L2_MPEG_AUDIO_L2_BITRATE_32K,	"V4L2_MPEG_AUDIO_L2_BITRATE_32K" },
112 	{ V4L2_MPEG_AUDIO_L2_BITRATE_48K,	"V4L2_MPEG_AUDIO_L2_BITRATE_48K" },
113 	{ V4L2_MPEG_AUDIO_L2_BITRATE_56K,	"V4L2_MPEG_AUDIO_L2_BITRATE_56K" },
114 	{ V4L2_MPEG_AUDIO_L2_BITRATE_64K,	"V4L2_MPEG_AUDIO_L2_BITRATE_64K" },
115 	{ V4L2_MPEG_AUDIO_L2_BITRATE_80K,	"V4L2_MPEG_AUDIO_L2_BITRATE_80K" },
116 	{ V4L2_MPEG_AUDIO_L2_BITRATE_96K,	"V4L2_MPEG_AUDIO_L2_BITRATE_96K" },
117 	{ V4L2_MPEG_AUDIO_L2_BITRATE_112K,	"V4L2_MPEG_AUDIO_L2_BITRATE_112K" },
118 	{ V4L2_MPEG_AUDIO_L2_BITRATE_128K,	"V4L2_MPEG_AUDIO_L2_BITRATE_128K" },
119 	{ V4L2_MPEG_AUDIO_L2_BITRATE_160K,	"V4L2_MPEG_AUDIO_L2_BITRATE_160K" },
120 	{ V4L2_MPEG_AUDIO_L2_BITRATE_192K,	"V4L2_MPEG_AUDIO_L2_BITRATE_192K" },
121 	{ V4L2_MPEG_AUDIO_L2_BITRATE_224K,	"V4L2_MPEG_AUDIO_L2_BITRATE_224K" },
122 	{ V4L2_MPEG_AUDIO_L2_BITRATE_256K,	"V4L2_MPEG_AUDIO_L2_BITRATE_256K" },
123 	{ V4L2_MPEG_AUDIO_L2_BITRATE_320K,	"V4L2_MPEG_AUDIO_L2_BITRATE_320K" },
124 	{ V4L2_MPEG_AUDIO_L2_BITRATE_384K,	"V4L2_MPEG_AUDIO_L2_BITRATE_384K" },
125 	{ -1, "" }
126 };
127 
128 constexpr val_def v4l2_mpeg_audio_l3_bitrate_val_def[] = {
129 	{ V4L2_MPEG_AUDIO_L3_BITRATE_32K,	"V4L2_MPEG_AUDIO_L3_BITRATE_32K" },
130 	{ V4L2_MPEG_AUDIO_L3_BITRATE_40K,	"V4L2_MPEG_AUDIO_L3_BITRATE_40K" },
131 	{ V4L2_MPEG_AUDIO_L3_BITRATE_48K,	"V4L2_MPEG_AUDIO_L3_BITRATE_48K" },
132 	{ V4L2_MPEG_AUDIO_L3_BITRATE_56K,	"V4L2_MPEG_AUDIO_L3_BITRATE_56K" },
133 	{ V4L2_MPEG_AUDIO_L3_BITRATE_64K,	"V4L2_MPEG_AUDIO_L3_BITRATE_64K" },
134 	{ V4L2_MPEG_AUDIO_L3_BITRATE_80K,	"V4L2_MPEG_AUDIO_L3_BITRATE_80K" },
135 	{ V4L2_MPEG_AUDIO_L3_BITRATE_96K,	"V4L2_MPEG_AUDIO_L3_BITRATE_96K" },
136 	{ V4L2_MPEG_AUDIO_L3_BITRATE_112K,	"V4L2_MPEG_AUDIO_L3_BITRATE_112K" },
137 	{ V4L2_MPEG_AUDIO_L3_BITRATE_128K,	"V4L2_MPEG_AUDIO_L3_BITRATE_128K" },
138 	{ V4L2_MPEG_AUDIO_L3_BITRATE_160K,	"V4L2_MPEG_AUDIO_L3_BITRATE_160K" },
139 	{ V4L2_MPEG_AUDIO_L3_BITRATE_192K,	"V4L2_MPEG_AUDIO_L3_BITRATE_192K" },
140 	{ V4L2_MPEG_AUDIO_L3_BITRATE_224K,	"V4L2_MPEG_AUDIO_L3_BITRATE_224K" },
141 	{ V4L2_MPEG_AUDIO_L3_BITRATE_256K,	"V4L2_MPEG_AUDIO_L3_BITRATE_256K" },
142 	{ V4L2_MPEG_AUDIO_L3_BITRATE_320K,	"V4L2_MPEG_AUDIO_L3_BITRATE_320K" },
143 	{ -1, "" }
144 };
145 
146 constexpr val_def v4l2_mpeg_audio_mode_val_def[] = {
147 	{ V4L2_MPEG_AUDIO_MODE_STEREO,	"V4L2_MPEG_AUDIO_MODE_STEREO" },
148 	{ V4L2_MPEG_AUDIO_MODE_JOINT_STEREO,	"V4L2_MPEG_AUDIO_MODE_JOINT_STEREO" },
149 	{ V4L2_MPEG_AUDIO_MODE_DUAL,	"V4L2_MPEG_AUDIO_MODE_DUAL" },
150 	{ V4L2_MPEG_AUDIO_MODE_MONO,	"V4L2_MPEG_AUDIO_MODE_MONO" },
151 	{ -1, "" }
152 };
153 
154 constexpr val_def v4l2_mpeg_audio_mode_extension_val_def[] = {
155 	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4" },
156 	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8" },
157 	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12" },
158 	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16" },
159 	{ -1, "" }
160 };
161 
162 constexpr val_def v4l2_mpeg_audio_emphasis_val_def[] = {
163 	{ V4L2_MPEG_AUDIO_EMPHASIS_NONE,	"V4L2_MPEG_AUDIO_EMPHASIS_NONE" },
164 	{ V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17,	"V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17" },
165 	{ -1, "" }
166 };
167 
168 constexpr val_def v4l2_mpeg_audio_crc_val_def[] = {
169 	{ V4L2_MPEG_AUDIO_CRC_NONE,	"V4L2_MPEG_AUDIO_CRC_NONE" },
170 	{ V4L2_MPEG_AUDIO_CRC_CRC16,	"V4L2_MPEG_AUDIO_CRC_CRC16" },
171 	{ -1, "" }
172 };
173 
174 constexpr val_def v4l2_mpeg_audio_ac3_bitrate_val_def[] = {
175 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_32K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_32K" },
176 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_40K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_40K" },
177 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_48K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_48K" },
178 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_56K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_56K" },
179 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_64K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_64K" },
180 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_80K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_80K" },
181 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_96K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_96K" },
182 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_112K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_112K" },
183 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_128K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_128K" },
184 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_160K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_160K" },
185 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_192K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_192K" },
186 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_224K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_224K" },
187 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_256K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_256K" },
188 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_320K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_320K" },
189 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_384K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_384K" },
190 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_448K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_448K" },
191 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_512K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_512K" },
192 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_576K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_576K" },
193 	{ V4L2_MPEG_AUDIO_AC3_BITRATE_640K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_640K" },
194 	{ -1, "" }
195 };
196 
197 constexpr val_def v4l2_mpeg_audio_dec_playback_val_def[] = {
198 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO" },
199 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO" },
200 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT" },
201 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT" },
202 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO" },
203 	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO" },
204 	{ -1, "" }
205 };
206 
207 constexpr val_def v4l2_mpeg_video_encoding_val_def[] = {
208 	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_1,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_1" },
209 	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_2,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_2" },
210 	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC" },
211 	{ -1, "" }
212 };
213 
214 constexpr val_def v4l2_mpeg_video_aspect_val_def[] = {
215 	{ -1, "" }
216 };
217 
218 constexpr val_def v4l2_mpeg_video_bitrate_mode_val_def[] = {
219 	{ V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,	"V4L2_MPEG_VIDEO_BITRATE_MODE_VBR" },
220 	{ V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,	"V4L2_MPEG_VIDEO_BITRATE_MODE_CBR" },
221 	{ V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,	"V4L2_MPEG_VIDEO_BITRATE_MODE_CQ" },
222 	{ -1, "" }
223 };
224 
225 constexpr val_def v4l2_mpeg_video_header_mode_val_def[] = {
226 	{ V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,	"V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE" },
227 	{ V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,	"V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME" },
228 	{ -1, "" }
229 };
230 
231 constexpr val_def v4l2_mpeg_video_multi_slice_mode_val_def[] = {
232 	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE" },
233 	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB" },
234 	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES" },
235 	{ V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB,	"V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB" },
236 	{ V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES,	"V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES" },
237 	{ -1, "" }
238 };
239 
240 constexpr val_def v4l2_mpeg_video_intra_refresh_period_type_val_def[] = {
241 	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM" },
242 	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC" },
243 	{ -1, "" }
244 };
245 
246 constexpr val_def v4l2_mpeg_video_mpeg2_level_val_def[] = {
247 	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW" },
248 	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN" },
249 	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440" },
250 	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH" },
251 	{ -1, "" }
252 };
253 
254 constexpr val_def v4l2_mpeg_video_mpeg2_profile_val_def[] = {
255 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE" },
256 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN" },
257 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE" },
258 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE" },
259 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH" },
260 	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW" },
261 	{ -1, "" }
262 };
263 
264 constexpr val_def v4l2_mpeg_video_h264_entropy_mode_val_def[] = {
265 	{ V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,	"V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC" },
266 	{ V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,	"V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC" },
267 	{ -1, "" }
268 };
269 
270 constexpr val_def v4l2_mpeg_video_h264_level_val_def[] = {
271 	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_0" },
272 	{ V4L2_MPEG_VIDEO_H264_LEVEL_1B,	"V4L2_MPEG_VIDEO_H264_LEVEL_1B" },
273 	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_1" },
274 	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_2" },
275 	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_3,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_3" },
276 	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_0" },
277 	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_1" },
278 	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_2" },
279 	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_0" },
280 	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_1" },
281 	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_2" },
282 	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_0" },
283 	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_1" },
284 	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_2" },
285 	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_0" },
286 	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_1" },
287 	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_2" },
288 	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_0" },
289 	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_1" },
290 	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_2" },
291 	{ -1, "" }
292 };
293 
294 constexpr val_def v4l2_mpeg_video_h264_loop_filter_mode_val_def[] = {
295 	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED" },
296 	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED" },
297 	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY" },
298 	{ -1, "" }
299 };
300 
301 constexpr val_def v4l2_mpeg_video_h264_profile_val_def[] = {
302 	{ V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE" },
303 	{ V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE" },
304 	{ V4L2_MPEG_VIDEO_H264_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_H264_PROFILE_MAIN" },
305 	{ V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED,	"V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED" },
306 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH" },
307 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10" },
308 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422" },
309 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE" },
310 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA" },
311 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA" },
312 	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA" },
313 	{ V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA" },
314 	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE" },
315 	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH" },
316 	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA" },
317 	{ V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH" },
318 	{ V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH" },
319 	{ V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH" },
320 	{ -1, "" }
321 };
322 
323 constexpr val_def v4l2_mpeg_video_h264_vui_sar_idc_val_def[] = {
324 	{ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED,	"V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED" },
325 	{ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED,	"V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED" },
326 	{ -1, "" }
327 };
328 
329 constexpr val_def v4l2_mpeg_video_h264_sei_fp_arrangement_type_val_def[] = {
330 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD" },
331 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN" },
332 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW" },
333 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE" },
334 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM" },
335 	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL" },
336 	{ -1, "" }
337 };
338 
339 constexpr val_def v4l2_mpeg_video_h264_fmo_map_type_val_def[] = {
340 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES" },
341 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES" },
342 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER" },
343 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT" },
344 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN" },
345 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN" },
346 	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT" },
347 	{ -1, "" }
348 };
349 
350 constexpr val_def v4l2_mpeg_video_h264_fmo_change_dir_val_def[] = {
351 	{ V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT,	"V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT" },
352 	{ V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT,	"V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT" },
353 	{ -1, "" }
354 };
355 
356 constexpr val_def v4l2_mpeg_video_h264_hierarchical_coding_type_val_def[] = {
357 	{ V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,	"V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B" },
358 	{ V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,	"V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P" },
359 	{ -1, "" }
360 };
361 
362 constexpr val_def v4l2_mpeg_video_mpeg4_level_val_def[] = {
363 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_0,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_0" },
364 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B" },
365 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_1,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_1" },
366 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_2,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_2" },
367 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_3,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_3" },
368 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B" },
369 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_4,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_4" },
370 	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_5,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_5" },
371 	{ -1, "" }
372 };
373 
374 constexpr val_def v4l2_mpeg_video_mpeg4_profile_val_def[] = {
375 	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE" },
376 	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE" },
377 	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE" },
378 	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE" },
379 	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY" },
380 	{ -1, "" }
381 };
382 
383 constexpr val_def v4l2_vp8_num_partitions_val_def[] = {
384 	{ V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION,	"V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION" },
385 	{ V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS" },
386 	{ V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS" },
387 	{ V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS" },
388 	{ -1, "" }
389 };
390 
391 constexpr val_def v4l2_vp8_num_ref_frames_val_def[] = {
392 	{ V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME" },
393 	{ V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME" },
394 	{ V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME" },
395 	{ -1, "" }
396 };
397 
398 constexpr val_def v4l2_vp8_golden_frame_sel_val_def[] = {
399 	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV" },
400 	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD" },
401 	{ -1, "" }
402 };
403 
404 constexpr val_def v4l2_mpeg_video_vp8_profile_val_def[] = {
405 	{ V4L2_MPEG_VIDEO_VP8_PROFILE_0,	"V4L2_MPEG_VIDEO_VP8_PROFILE_0" },
406 	{ V4L2_MPEG_VIDEO_VP8_PROFILE_1,	"V4L2_MPEG_VIDEO_VP8_PROFILE_1" },
407 	{ V4L2_MPEG_VIDEO_VP8_PROFILE_2,	"V4L2_MPEG_VIDEO_VP8_PROFILE_2" },
408 	{ V4L2_MPEG_VIDEO_VP8_PROFILE_3,	"V4L2_MPEG_VIDEO_VP8_PROFILE_3" },
409 	{ -1, "" }
410 };
411 
412 constexpr val_def v4l2_mpeg_video_vp9_profile_val_def[] = {
413 	{ V4L2_MPEG_VIDEO_VP9_PROFILE_0,	"V4L2_MPEG_VIDEO_VP9_PROFILE_0" },
414 	{ V4L2_MPEG_VIDEO_VP9_PROFILE_1,	"V4L2_MPEG_VIDEO_VP9_PROFILE_1" },
415 	{ V4L2_MPEG_VIDEO_VP9_PROFILE_2,	"V4L2_MPEG_VIDEO_VP9_PROFILE_2" },
416 	{ V4L2_MPEG_VIDEO_VP9_PROFILE_3,	"V4L2_MPEG_VIDEO_VP9_PROFILE_3" },
417 	{ -1, "" }
418 };
419 
420 constexpr val_def v4l2_mpeg_video_vp9_level_val_def[] = {
421 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_1_0" },
422 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_1_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_1_1" },
423 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_2_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_2_0" },
424 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_2_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_2_1" },
425 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_3_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_3_0" },
426 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_3_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_3_1" },
427 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_4_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_4_0" },
428 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_4_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_4_1" },
429 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_0" },
430 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_1" },
431 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_2" },
432 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_0" },
433 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_1" },
434 	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_2,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_2" },
435 	{ -1, "" }
436 };
437 
438 constexpr val_def v4l2_mpeg_video_hevc_hier_coding_type_val_def[] = {
439 	{ V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,	"V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B" },
440 	{ V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,	"V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P" },
441 	{ -1, "" }
442 };
443 
444 constexpr val_def v4l2_mpeg_video_hevc_profile_val_def[] = {
445 	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN" },
446 	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE" },
447 	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10" },
448 	{ -1, "" }
449 };
450 
451 constexpr val_def v4l2_mpeg_video_hevc_level_val_def[] = {
452 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_1" },
453 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_2" },
454 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1" },
455 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_3,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_3" },
456 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1" },
457 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_4,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_4" },
458 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1" },
459 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5" },
460 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1" },
461 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2" },
462 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6" },
463 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1" },
464 	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2" },
465 	{ -1, "" }
466 };
467 
468 constexpr val_def v4l2_mpeg_video_hevc_tier_val_def[] = {
469 	{ V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,	"V4L2_MPEG_VIDEO_HEVC_TIER_MAIN" },
470 	{ V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,	"V4L2_MPEG_VIDEO_HEVC_TIER_HIGH" },
471 	{ -1, "" }
472 };
473 
474 constexpr val_def v4l2_cid_mpeg_video_hevc_loop_filter_mode_val_def[] = {
475 	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED" },
476 	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED" },
477 	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY" },
478 	{ -1, "" }
479 };
480 
481 constexpr val_def v4l2_cid_mpeg_video_hevc_refresh_type_val_def[] = {
482 	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE" },
483 	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA" },
484 	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR" },
485 	{ -1, "" }
486 };
487 
488 constexpr val_def v4l2_cid_mpeg_video_hevc_size_of_length_field_val_def[] = {
489 	{ V4L2_MPEG_VIDEO_HEVC_SIZE_0,	"V4L2_MPEG_VIDEO_HEVC_SIZE_0" },
490 	{ V4L2_MPEG_VIDEO_HEVC_SIZE_1,	"V4L2_MPEG_VIDEO_HEVC_SIZE_1" },
491 	{ V4L2_MPEG_VIDEO_HEVC_SIZE_2,	"V4L2_MPEG_VIDEO_HEVC_SIZE_2" },
492 	{ V4L2_MPEG_VIDEO_HEVC_SIZE_4,	"V4L2_MPEG_VIDEO_HEVC_SIZE_4" },
493 	{ -1, "" }
494 };
495 
496 constexpr val_def v4l2_mpeg_video_frame_skip_mode_val_def[] = {
497 	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED" },
498 	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT" },
499 	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT" },
500 	{ -1, "" }
501 };
502 
503 constexpr val_def v4l2_mpeg_video_av1_profile_val_def[] = {
504 	{ V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN" },
505 	{ V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH" },
506 	{ V4L2_MPEG_VIDEO_AV1_PROFILE_PROFESSIONAL,	"V4L2_MPEG_VIDEO_AV1_PROFILE_PROFESSIONAL" },
507 	{ -1, "" }
508 };
509 
510 constexpr val_def v4l2_mpeg_video_av1_level_val_def[] = {
511 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_0" },
512 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_1" },
513 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_2" },
514 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_3" },
515 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_0" },
516 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_1" },
517 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_2" },
518 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_3" },
519 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_0" },
520 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_1" },
521 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_2" },
522 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_3" },
523 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_0" },
524 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_1" },
525 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_2" },
526 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_3" },
527 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_0" },
528 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_1" },
529 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_2" },
530 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_3" },
531 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_0" },
532 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_1" },
533 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_2" },
534 	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_3" },
535 	{ -1, "" }
536 };
537 
538 constexpr val_def v4l2_mpeg_cx2341x_video_spatial_filter_mode_val_def[] = {
539 	{ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL,	"V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL" },
540 	{ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO,	"V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO" },
541 	{ -1, "" }
542 };
543 
544 constexpr val_def v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_val_def[] = {
545 	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF" },
546 	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR" },
547 	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT" },
548 	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE" },
549 	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE" },
550 	{ -1, "" }
551 };
552 
553 constexpr val_def v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type_val_def[] = {
554 	{ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF" },
555 	{ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR,	"V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR" },
556 	{ -1, "" }
557 };
558 
559 constexpr val_def v4l2_mpeg_cx2341x_video_temporal_filter_mode_val_def[] = {
560 	{ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL,	"V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL" },
561 	{ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO,	"V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO" },
562 	{ -1, "" }
563 };
564 
565 constexpr val_def v4l2_mpeg_cx2341x_video_median_filter_type_val_def[] = {
566 	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF" },
567 	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR" },
568 	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT" },
569 	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT" },
570 	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG" },
571 	{ -1, "" }
572 };
573 
574 constexpr val_def v4l2_mpeg_mfc51_video_frame_skip_mode_val_def[] = {
575 	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED" },
576 	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT" },
577 	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT" },
578 	{ -1, "" }
579 };
580 
581 constexpr val_def v4l2_mpeg_mfc51_video_force_frame_type_val_def[] = {
582 	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED" },
583 	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME" },
584 	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED" },
585 	{ -1, "" }
586 };
587 
588 constexpr val_def _val_def[] = {
589 	{ V4L2_EXPOSURE_AUTO,	"V4L2_EXPOSURE_AUTO" },
590 	{ V4L2_EXPOSURE_MANUAL,	"V4L2_EXPOSURE_MANUAL" },
591 	{ V4L2_EXPOSURE_SHUTTER_PRIORITY,	"V4L2_EXPOSURE_SHUTTER_PRIORITY" },
592 	{ V4L2_EXPOSURE_APERTURE_PRIORITY,	"V4L2_EXPOSURE_APERTURE_PRIORITY" },
593 	{ -1, "" }
594 };
595 
596 constexpr val_def v4l2_auto_n_preset_white_balance_val_def[] = {
597 	{ V4L2_WHITE_BALANCE_MANUAL,	"V4L2_WHITE_BALANCE_MANUAL" },
598 	{ V4L2_WHITE_BALANCE_AUTO,	"V4L2_WHITE_BALANCE_AUTO" },
599 	{ V4L2_WHITE_BALANCE_INCANDESCENT,	"V4L2_WHITE_BALANCE_INCANDESCENT" },
600 	{ V4L2_WHITE_BALANCE_FLUORESCENT,	"V4L2_WHITE_BALANCE_FLUORESCENT" },
601 	{ V4L2_WHITE_BALANCE_FLUORESCENT_H,	"V4L2_WHITE_BALANCE_FLUORESCENT_H" },
602 	{ V4L2_WHITE_BALANCE_HORIZON,	"V4L2_WHITE_BALANCE_HORIZON" },
603 	{ V4L2_WHITE_BALANCE_DAYLIGHT,	"V4L2_WHITE_BALANCE_DAYLIGHT" },
604 	{ V4L2_WHITE_BALANCE_FLASH,	"V4L2_WHITE_BALANCE_FLASH" },
605 	{ V4L2_WHITE_BALANCE_CLOUDY,	"V4L2_WHITE_BALANCE_CLOUDY" },
606 	{ V4L2_WHITE_BALANCE_SHADE,	"V4L2_WHITE_BALANCE_SHADE" },
607 	{ -1, "" }
608 };
609 
610 constexpr val_def v4l2_iso_sensitivity_auto_type_val_def[] = {
611 	{ V4L2_ISO_SENSITIVITY_MANUAL,	"V4L2_ISO_SENSITIVITY_MANUAL" },
612 	{ V4L2_ISO_SENSITIVITY_AUTO,	"V4L2_ISO_SENSITIVITY_AUTO" },
613 	{ -1, "" }
614 };
615 
616 constexpr val_def v4l2_exposure_metering_val_def[] = {
617 	{ V4L2_EXPOSURE_METERING_AVERAGE,	"V4L2_EXPOSURE_METERING_AVERAGE" },
618 	{ V4L2_EXPOSURE_METERING_CENTER_WEIGHTED,	"V4L2_EXPOSURE_METERING_CENTER_WEIGHTED" },
619 	{ V4L2_EXPOSURE_METERING_SPOT,	"V4L2_EXPOSURE_METERING_SPOT" },
620 	{ V4L2_EXPOSURE_METERING_MATRIX,	"V4L2_EXPOSURE_METERING_MATRIX" },
621 	{ -1, "" }
622 };
623 
624 constexpr val_def v4l2_scene_mode_val_def[] = {
625 	{ V4L2_SCENE_MODE_NONE,	"V4L2_SCENE_MODE_NONE" },
626 	{ V4L2_SCENE_MODE_BACKLIGHT,	"V4L2_SCENE_MODE_BACKLIGHT" },
627 	{ V4L2_SCENE_MODE_BEACH_SNOW,	"V4L2_SCENE_MODE_BEACH_SNOW" },
628 	{ V4L2_SCENE_MODE_CANDLE_LIGHT,	"V4L2_SCENE_MODE_CANDLE_LIGHT" },
629 	{ V4L2_SCENE_MODE_DAWN_DUSK,	"V4L2_SCENE_MODE_DAWN_DUSK" },
630 	{ V4L2_SCENE_MODE_FALL_COLORS,	"V4L2_SCENE_MODE_FALL_COLORS" },
631 	{ V4L2_SCENE_MODE_FIREWORKS,	"V4L2_SCENE_MODE_FIREWORKS" },
632 	{ V4L2_SCENE_MODE_LANDSCAPE,	"V4L2_SCENE_MODE_LANDSCAPE" },
633 	{ V4L2_SCENE_MODE_NIGHT,	"V4L2_SCENE_MODE_NIGHT" },
634 	{ V4L2_SCENE_MODE_PARTY_INDOOR,	"V4L2_SCENE_MODE_PARTY_INDOOR" },
635 	{ V4L2_SCENE_MODE_PORTRAIT,	"V4L2_SCENE_MODE_PORTRAIT" },
636 	{ V4L2_SCENE_MODE_SPORTS,	"V4L2_SCENE_MODE_SPORTS" },
637 	{ V4L2_SCENE_MODE_SUNSET,	"V4L2_SCENE_MODE_SUNSET" },
638 	{ V4L2_SCENE_MODE_TEXT,	"V4L2_SCENE_MODE_TEXT" },
639 	{ -1, "" }
640 };
641 
642 constexpr val_def v4l2_auto_focus_range_val_def[] = {
643 	{ V4L2_AUTO_FOCUS_RANGE_AUTO,	"V4L2_AUTO_FOCUS_RANGE_AUTO" },
644 	{ V4L2_AUTO_FOCUS_RANGE_NORMAL,	"V4L2_AUTO_FOCUS_RANGE_NORMAL" },
645 	{ V4L2_AUTO_FOCUS_RANGE_MACRO,	"V4L2_AUTO_FOCUS_RANGE_MACRO" },
646 	{ V4L2_AUTO_FOCUS_RANGE_INFINITY,	"V4L2_AUTO_FOCUS_RANGE_INFINITY" },
647 	{ -1, "" }
648 };
649 
650 constexpr val_def v4l2_preemphasis_val_def[] = {
651 	{ V4L2_PREEMPHASIS_DISABLED,	"V4L2_PREEMPHASIS_DISABLED" },
652 	{ -1, "" }
653 };
654 
655 constexpr val_def v4l2_flash_led_mode_val_def[] = {
656 	{ V4L2_FLASH_LED_MODE_NONE,	"V4L2_FLASH_LED_MODE_NONE" },
657 	{ V4L2_FLASH_LED_MODE_FLASH,	"V4L2_FLASH_LED_MODE_FLASH" },
658 	{ V4L2_FLASH_LED_MODE_TORCH,	"V4L2_FLASH_LED_MODE_TORCH" },
659 	{ -1, "" }
660 };
661 
662 constexpr val_def v4l2_flash_strobe_source_val_def[] = {
663 	{ V4L2_FLASH_STROBE_SOURCE_SOFTWARE,	"V4L2_FLASH_STROBE_SOURCE_SOFTWARE" },
664 	{ V4L2_FLASH_STROBE_SOURCE_EXTERNAL,	"V4L2_FLASH_STROBE_SOURCE_EXTERNAL" },
665 	{ -1, "" }
666 };
667 
668 constexpr val_def v4l2_jpeg_chroma_subsampling_val_def[] = {
669 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_444,	"V4L2_JPEG_CHROMA_SUBSAMPLING_444" },
670 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_422,	"V4L2_JPEG_CHROMA_SUBSAMPLING_422" },
671 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_420,	"V4L2_JPEG_CHROMA_SUBSAMPLING_420" },
672 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_411,	"V4L2_JPEG_CHROMA_SUBSAMPLING_411" },
673 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_410,	"V4L2_JPEG_CHROMA_SUBSAMPLING_410" },
674 	{ V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY,	"V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY" },
675 	{ -1, "" }
676 };
677 
678 constexpr val_def v4l2_dv_tx_mode_val_def[] = {
679 	{ V4L2_DV_TX_MODE_DVI_D,	"V4L2_DV_TX_MODE_DVI_D" },
680 	{ V4L2_DV_TX_MODE_HDMI,	"V4L2_DV_TX_MODE_HDMI" },
681 	{ -1, "" }
682 };
683 
684 constexpr val_def v4l2_dv_rgb_range_val_def[] = {
685 	{ V4L2_DV_RGB_RANGE_AUTO,	"V4L2_DV_RGB_RANGE_AUTO" },
686 	{ V4L2_DV_RGB_RANGE_LIMITED,	"V4L2_DV_RGB_RANGE_LIMITED" },
687 	{ V4L2_DV_RGB_RANGE_FULL,	"V4L2_DV_RGB_RANGE_FULL" },
688 	{ -1, "" }
689 };
690 
691 constexpr val_def v4l2_dv_it_content_type_val_def[] = {
692 	{ V4L2_DV_IT_CONTENT_TYPE_GRAPHICS,	"V4L2_DV_IT_CONTENT_TYPE_GRAPHICS" },
693 	{ V4L2_DV_IT_CONTENT_TYPE_PHOTO,	"V4L2_DV_IT_CONTENT_TYPE_PHOTO" },
694 	{ V4L2_DV_IT_CONTENT_TYPE_CINEMA,	"V4L2_DV_IT_CONTENT_TYPE_CINEMA" },
695 	{ V4L2_DV_IT_CONTENT_TYPE_GAME,	"V4L2_DV_IT_CONTENT_TYPE_GAME" },
696 	{ V4L2_DV_IT_CONTENT_TYPE_NO_ITC,	"V4L2_DV_IT_CONTENT_TYPE_NO_ITC" },
697 	{ -1, "" }
698 };
699 
700 constexpr val_def v4l2_deemphasis_val_def[] = {
701 	{ V4L2_DEEMPHASIS_DISABLED,	"V4L2_DEEMPHASIS_DISABLED" },
702 	{ -1, "" }
703 };
704 
705 constexpr val_def v4l2_detect_md_mode_val_def[] = {
706 	{ V4L2_DETECT_MD_MODE_DISABLED,	"V4L2_DETECT_MD_MODE_DISABLED" },
707 	{ V4L2_DETECT_MD_MODE_GLOBAL,	"V4L2_DETECT_MD_MODE_GLOBAL" },
708 	{ V4L2_DETECT_MD_MODE_THRESHOLD_GRID,	"V4L2_DETECT_MD_MODE_THRESHOLD_GRID" },
709 	{ V4L2_DETECT_MD_MODE_REGION_GRID,	"V4L2_DETECT_MD_MODE_REGION_GRID" },
710 	{ -1, "" }
711 };
712 
713 constexpr val_def v4l2_stateless_h264_decode_mode_val_def[] = {
714 	{ V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED,	"V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED" },
715 	{ V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED,	"V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED" },
716 	{ -1, "" }
717 };
718 
719 constexpr val_def v4l2_stateless_h264_start_code_val_def[] = {
720 	{ V4L2_STATELESS_H264_START_CODE_NONE,	"V4L2_STATELESS_H264_START_CODE_NONE" },
721 	{ V4L2_STATELESS_H264_START_CODE_ANNEX_B,	"V4L2_STATELESS_H264_START_CODE_ANNEX_B" },
722 	{ -1, "" }
723 };
724 
725 constexpr flag_def v4l2_h264_sps_flag_def[] = {
726 	{ V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE, "V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE" },
727 	{ V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS, "V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS" },
728 	{ V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO, "V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO" },
729 	{ V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED, "V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED" },
730 	{ V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, "V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY" },
731 	{ V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD, "V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD" },
732 	{ V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE, "V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE" },
733 	{ 0, "" }
734 };
735 
736 constexpr flag_def v4l2_h264_pps_flag_def[] = {
737 	{ V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE, "V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE" },
738 	{ V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT, "V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT" },
739 	{ V4L2_H264_PPS_FLAG_WEIGHTED_PRED, "V4L2_H264_PPS_FLAG_WEIGHTED_PRED" },
740 	{ V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT" },
741 	{ V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED, "V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED" },
742 	{ V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT, "V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT" },
743 	{ V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE, "V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE" },
744 	{ V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT, "V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT" },
745 	{ 0, "" }
746 };
747 
748 constexpr flag_def v4l2_h264_slice_flag_def[] = {
749 	{ V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED, "V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED" },
750 	{ V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH, "V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH" },
751 	{ 0, "" }
752 };
753 
754 constexpr flag_def v4l2_h264_dpb_entry_flag_def[] = {
755 	{ V4L2_H264_DPB_ENTRY_FLAG_VALID, "V4L2_H264_DPB_ENTRY_FLAG_VALID" },
756 	{ V4L2_H264_DPB_ENTRY_FLAG_ACTIVE, "V4L2_H264_DPB_ENTRY_FLAG_ACTIVE" },
757 	{ V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM, "V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM" },
758 	{ V4L2_H264_DPB_ENTRY_FLAG_FIELD, "V4L2_H264_DPB_ENTRY_FLAG_FIELD" },
759 	{ 0, "" }
760 };
761 
762 constexpr flag_def v4l2_h264_decode_param_flag_def[] = {
763 	{ V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC, "V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC" },
764 	{ V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC, "V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC" },
765 	{ V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD, "V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD" },
766 	{ V4L2_H264_DECODE_PARAM_FLAG_PFRAME, "V4L2_H264_DECODE_PARAM_FLAG_PFRAME" },
767 	{ V4L2_H264_DECODE_PARAM_FLAG_BFRAME, "V4L2_H264_DECODE_PARAM_FLAG_BFRAME" },
768 	{ 0, "" }
769 };
770 
771 constexpr flag_def v4l2_ctrl_fwht_params_flag_def[] = {
772 	{ V4L2_FWHT_FL_IS_INTERLACED, "V4L2_FWHT_FL_IS_INTERLACED" },
773 	{ V4L2_FWHT_FL_IS_BOTTOM_FIRST, "V4L2_FWHT_FL_IS_BOTTOM_FIRST" },
774 	{ V4L2_FWHT_FL_IS_ALTERNATE, "V4L2_FWHT_FL_IS_ALTERNATE" },
775 	{ V4L2_FWHT_FL_IS_BOTTOM_FIELD, "V4L2_FWHT_FL_IS_BOTTOM_FIELD" },
776 	{ V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED, "V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED" },
777 	{ V4L2_FWHT_FL_CB_IS_UNCOMPRESSED, "V4L2_FWHT_FL_CB_IS_UNCOMPRESSED" },
778 	{ V4L2_FWHT_FL_CR_IS_UNCOMPRESSED, "V4L2_FWHT_FL_CR_IS_UNCOMPRESSED" },
779 	{ V4L2_FWHT_FL_CHROMA_FULL_HEIGHT, "V4L2_FWHT_FL_CHROMA_FULL_HEIGHT" },
780 	{ V4L2_FWHT_FL_CHROMA_FULL_WIDTH, "V4L2_FWHT_FL_CHROMA_FULL_WIDTH" },
781 	{ V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED, "V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED" },
782 	{ V4L2_FWHT_FL_I_FRAME, "V4L2_FWHT_FL_I_FRAME" },
783 	{ 0, "" }
784 };
785 
786 constexpr flag_def v4l2_vp8_segment_flag_def[] = {
787 	{ V4L2_VP8_SEGMENT_FLAG_ENABLED, "V4L2_VP8_SEGMENT_FLAG_ENABLED" },
788 	{ V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP, "V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP" },
789 	{ V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA, "V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA" },
790 	{ V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE, "V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE" },
791 	{ 0, "" }
792 };
793 
794 constexpr flag_def v4l2_vp8_loop_filter_flag_def[] = {
795 	{ V4L2_VP8_LF_ADJ_ENABLE, "V4L2_VP8_LF_ADJ_ENABLE" },
796 	{ V4L2_VP8_LF_DELTA_UPDATE, "V4L2_VP8_LF_DELTA_UPDATE" },
797 	{ V4L2_VP8_LF_FILTER_TYPE_SIMPLE, "V4L2_VP8_LF_FILTER_TYPE_SIMPLE" },
798 	{ 0, "" }
799 };
800 
801 constexpr flag_def v4l2_vp8_frame_flag_def[] = {
802 	{ V4L2_VP8_FRAME_FLAG_KEY_FRAME, "V4L2_VP8_FRAME_FLAG_KEY_FRAME" },
803 	{ V4L2_VP8_FRAME_FLAG_EXPERIMENTAL, "V4L2_VP8_FRAME_FLAG_EXPERIMENTAL" },
804 	{ V4L2_VP8_FRAME_FLAG_SHOW_FRAME, "V4L2_VP8_FRAME_FLAG_SHOW_FRAME" },
805 	{ V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF, "V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF" },
806 	{ V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN, "V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN" },
807 	{ V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT, "V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT" },
808 	{ 0, "" }
809 };
810 
811 constexpr flag_def v4l2_mpeg2_seq_flag_def[] = {
812 	{ V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE, "V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE" },
813 	{ 0, "" }
814 };
815 
816 constexpr flag_def v4l2_mpeg2_pic_flag_def[] = {
817 	{ V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST, "V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST" },
818 	{ V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT, "V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT" },
819 	{ V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV, "V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV" },
820 	{ V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE, "V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE" },
821 	{ V4L2_MPEG2_PIC_FLAG_INTRA_VLC, "V4L2_MPEG2_PIC_FLAG_INTRA_VLC" },
822 	{ V4L2_MPEG2_PIC_FLAG_ALT_SCAN, "V4L2_MPEG2_PIC_FLAG_ALT_SCAN" },
823 	{ V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST, "V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST" },
824 	{ V4L2_MPEG2_PIC_FLAG_PROGRESSIVE, "V4L2_MPEG2_PIC_FLAG_PROGRESSIVE" },
825 	{ 0, "" }
826 };
827 
828 constexpr val_def v4l2_stateless_hevc_decode_mode_val_def[] = {
829 	{ V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,	"V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED" },
830 	{ V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,	"V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED" },
831 	{ -1, "" }
832 };
833 
834 constexpr val_def v4l2_stateless_hevc_start_code_val_def[] = {
835 	{ V4L2_STATELESS_HEVC_START_CODE_NONE,	"V4L2_STATELESS_HEVC_START_CODE_NONE" },
836 	{ V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,	"V4L2_STATELESS_HEVC_START_CODE_ANNEX_B" },
837 	{ -1, "" }
838 };
839 
840 constexpr flag_def v4l2_hevc_sps_flag_def[] = {
841 	{ V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE, "V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE" },
842 	{ V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED, "V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED" },
843 	{ V4L2_HEVC_SPS_FLAG_AMP_ENABLED, "V4L2_HEVC_SPS_FLAG_AMP_ENABLED" },
844 	{ V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET, "V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET" },
845 	{ V4L2_HEVC_SPS_FLAG_PCM_ENABLED, "V4L2_HEVC_SPS_FLAG_PCM_ENABLED" },
846 	{ V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED, "V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED" },
847 	{ V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT, "V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT" },
848 	{ V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED, "V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED" },
849 	{ V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED, "V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED" },
850 	{ 0, "" }
851 };
852 
853 constexpr flag_def v4l2_hevc_pps_flag_def[] = {
854 	{ V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED, "V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED" },
855 	{ V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT, "V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT" },
856 	{ V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED, "V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED" },
857 	{ V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT, "V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT" },
858 	{ V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED, "V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED" },
859 	{ V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED, "V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED" },
860 	{ V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED, "V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED" },
861 	{ V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT, "V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT" },
862 	{ V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED, "V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED" },
863 	{ V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED, "V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED" },
864 	{ V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED, "V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED" },
865 	{ V4L2_HEVC_PPS_FLAG_TILES_ENABLED, "V4L2_HEVC_PPS_FLAG_TILES_ENABLED" },
866 	{ V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED, "V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED" },
867 	{ V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED, "V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED" },
868 	{ V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED, "V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED" },
869 	{ V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED, "V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED" },
870 	{ V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER, "V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER" },
871 	{ V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT, "V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT" },
872 	{ V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT, "V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT" },
873 	{ V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT" },
874 	{ V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING, "V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING" },
875 	{ 0, "" }
876 };
877 
878 constexpr flag_def v4l2_hevc_slice_params_flag_def[] = {
879 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA" },
880 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA" },
881 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED" },
882 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO, "V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO" },
883 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT, "V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT" },
884 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0, "V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0" },
885 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV, "V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV" },
886 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED" },
887 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED" },
888 	{ V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT, "V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT" },
889 	{ 0, "" }
890 };
891 
892 constexpr flag_def v4l2_hevc_decode_param_flag_def[] = {
893 	{ V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC, "V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC" },
894 	{ V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC, "V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC" },
895 	{ V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR, "V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR" },
896 	{ 0, "" }
897 };
898 
899 constexpr flag_def v4l2_vp9_loop_filter_flag_def[] = {
900 	{ V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED, "V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED" },
901 	{ V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE, "V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE" },
902 	{ 0, "" }
903 };
904 
905 constexpr flag_def v4l2_vp9_segmentation_flag_def[] = {
906 	{ V4L2_VP9_SEGMENTATION_FLAG_ENABLED, "V4L2_VP9_SEGMENTATION_FLAG_ENABLED" },
907 	{ V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP, "V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP" },
908 	{ V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE, "V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE" },
909 	{ V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA, "V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA" },
910 	{ V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE, "V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE" },
911 	{ 0, "" }
912 };
913 
914 constexpr flag_def v4l2_vp9_frame_flag_def[] = {
915 	{ V4L2_VP9_FRAME_FLAG_KEY_FRAME, "V4L2_VP9_FRAME_FLAG_KEY_FRAME" },
916 	{ V4L2_VP9_FRAME_FLAG_SHOW_FRAME, "V4L2_VP9_FRAME_FLAG_SHOW_FRAME" },
917 	{ V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT, "V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT" },
918 	{ V4L2_VP9_FRAME_FLAG_INTRA_ONLY, "V4L2_VP9_FRAME_FLAG_INTRA_ONLY" },
919 	{ V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV, "V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV" },
920 	{ V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX, "V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX" },
921 	{ V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE, "V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE" },
922 	{ V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING, "V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING" },
923 	{ V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING, "V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING" },
924 	{ V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING, "V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING" },
925 	{ 0, "" }
926 };
927 
928 constexpr flag_def v4l2_av1_sequence_flag_def[] = {
929 	{ V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE, "V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE" },
930 	{ V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK, "V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK" },
931 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA" },
932 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER" },
933 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND" },
934 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND" },
935 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION" },
936 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER" },
937 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT" },
938 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP" },
939 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS" },
940 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES" },
941 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF" },
942 	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION" },
943 	{ V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME, "V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME" },
944 	{ V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE, "V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE" },
945 	{ V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X, "V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X" },
946 	{ V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y, "V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y" },
947 	{ V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT, "V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT" },
948 	{ V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q, "V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q" },
949 	{ 0, "" }
950 };
951 
952 constexpr val_def v4l2_av1_warp_model_val_def[] = {
953 	{ V4L2_AV1_WARP_MODEL_IDENTITY,	"V4L2_AV1_WARP_MODEL_IDENTITY" },
954 	{ V4L2_AV1_WARP_MODEL_TRANSLATION,	"V4L2_AV1_WARP_MODEL_TRANSLATION" },
955 	{ V4L2_AV1_WARP_MODEL_ROTZOOM,	"V4L2_AV1_WARP_MODEL_ROTZOOM" },
956 	{ V4L2_AV1_WARP_MODEL_AFFINE,	"V4L2_AV1_WARP_MODEL_AFFINE" },
957 	{ -1, "" }
958 };
959 
960 constexpr val_def v4l2_av1_reference_frame_val_def[] = {
961 	{ V4L2_AV1_REF_INTRA_FRAME,	"V4L2_AV1_REF_INTRA_FRAME" },
962 	{ V4L2_AV1_REF_LAST_FRAME,	"V4L2_AV1_REF_LAST_FRAME" },
963 	{ V4L2_AV1_REF_LAST2_FRAME,	"V4L2_AV1_REF_LAST2_FRAME" },
964 	{ V4L2_AV1_REF_LAST3_FRAME,	"V4L2_AV1_REF_LAST3_FRAME" },
965 	{ V4L2_AV1_REF_GOLDEN_FRAME,	"V4L2_AV1_REF_GOLDEN_FRAME" },
966 	{ V4L2_AV1_REF_BWDREF_FRAME,	"V4L2_AV1_REF_BWDREF_FRAME" },
967 	{ V4L2_AV1_REF_ALTREF2_FRAME,	"V4L2_AV1_REF_ALTREF2_FRAME" },
968 	{ V4L2_AV1_REF_ALTREF_FRAME,	"V4L2_AV1_REF_ALTREF_FRAME" },
969 	{ -1, "" }
970 };
971 
972 constexpr flag_def v4l2_av1_global_motion_flag_def[] = {
973 	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL" },
974 	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM" },
975 	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION" },
976 	{ 0, "" }
977 };
978 
979 constexpr val_def v4l2_av1_frame_restoration_type_val_def[] = {
980 	{ V4L2_AV1_FRAME_RESTORE_NONE,	"V4L2_AV1_FRAME_RESTORE_NONE" },
981 	{ V4L2_AV1_FRAME_RESTORE_WIENER,	"V4L2_AV1_FRAME_RESTORE_WIENER" },
982 	{ V4L2_AV1_FRAME_RESTORE_SGRPROJ,	"V4L2_AV1_FRAME_RESTORE_SGRPROJ" },
983 	{ V4L2_AV1_FRAME_RESTORE_SWITCHABLE,	"V4L2_AV1_FRAME_RESTORE_SWITCHABLE" },
984 	{ -1, "" }
985 };
986 
987 constexpr flag_def v4l2_av1_loop_restoration_flag_def[] = {
988 	{ V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR, "V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR" },
989 	{ V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR, "V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR" },
990 	{ 0, "" }
991 };
992 
993 constexpr flag_def v4l2_av1_segmentation_flag_def[] = {
994 	{ V4L2_AV1_SEGMENTATION_FLAG_ENABLED, "V4L2_AV1_SEGMENTATION_FLAG_ENABLED" },
995 	{ V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP, "V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP" },
996 	{ V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE, "V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE" },
997 	{ V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA, "V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA" },
998 	{ V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP, "V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP" },
999 	{ 0, "" }
1000 };
1001 
1002 constexpr val_def v4l2_av1_segment_feature_val_def[] = {
1003 	{ V4L2_AV1_SEG_LVL_ALT_Q,	"V4L2_AV1_SEG_LVL_ALT_Q" },
1004 	{ V4L2_AV1_SEG_LVL_ALT_LF_Y_V,	"V4L2_AV1_SEG_LVL_ALT_LF_Y_V" },
1005 	{ V4L2_AV1_SEG_LVL_REF_FRAME,	"V4L2_AV1_SEG_LVL_REF_FRAME" },
1006 	{ V4L2_AV1_SEG_LVL_REF_SKIP,	"V4L2_AV1_SEG_LVL_REF_SKIP" },
1007 	{ V4L2_AV1_SEG_LVL_REF_GLOBALMV,	"V4L2_AV1_SEG_LVL_REF_GLOBALMV" },
1008 	{ V4L2_AV1_SEG_LVL_MAX,	"V4L2_AV1_SEG_LVL_MAX" },
1009 	{ -1, "" }
1010 };
1011 
1012 constexpr flag_def v4l2_av1_loop_filter_flag_def[] = {
1013 	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED" },
1014 	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE" },
1015 	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT" },
1016 	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI" },
1017 	{ 0, "" }
1018 };
1019 
1020 constexpr flag_def v4l2_av1_quantization_flag_def[] = {
1021 	{ V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA, "V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA" },
1022 	{ V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX, "V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX" },
1023 	{ V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT, "V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT" },
1024 	{ 0, "" }
1025 };
1026 
1027 constexpr flag_def v4l2_av1_tile_info_flag_def[] = {
1028 	{ V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING, "V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING" },
1029 	{ 0, "" }
1030 };
1031 
1032 constexpr val_def v4l2_av1_frame_type_val_def[] = {
1033 	{ V4L2_AV1_KEY_FRAME,	"V4L2_AV1_KEY_FRAME" },
1034 	{ V4L2_AV1_INTER_FRAME,	"V4L2_AV1_INTER_FRAME" },
1035 	{ V4L2_AV1_INTRA_ONLY_FRAME,	"V4L2_AV1_INTRA_ONLY_FRAME" },
1036 	{ V4L2_AV1_SWITCH_FRAME,	"V4L2_AV1_SWITCH_FRAME" },
1037 	{ -1, "" }
1038 };
1039 
1040 constexpr val_def v4l2_av1_interpolation_filter_val_def[] = {
1041 	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP" },
1042 	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH" },
1043 	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP" },
1044 	{ V4L2_AV1_INTERPOLATION_FILTER_BILINEAR,	"V4L2_AV1_INTERPOLATION_FILTER_BILINEAR" },
1045 	{ V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE,	"V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE" },
1046 	{ -1, "" }
1047 };
1048 
1049 constexpr val_def v4l2_av1_tx_mode_val_def[] = {
1050 	{ V4L2_AV1_TX_MODE_ONLY_4X4,	"V4L2_AV1_TX_MODE_ONLY_4X4" },
1051 	{ V4L2_AV1_TX_MODE_LARGEST,	"V4L2_AV1_TX_MODE_LARGEST" },
1052 	{ V4L2_AV1_TX_MODE_SELECT,	"V4L2_AV1_TX_MODE_SELECT" },
1053 	{ -1, "" }
1054 };
1055 
1056 constexpr flag_def v4l2_av1_frame_flag_def[] = {
1057 	{ V4L2_AV1_FRAME_FLAG_SHOW_FRAME, "V4L2_AV1_FRAME_FLAG_SHOW_FRAME" },
1058 	{ V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME, "V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME" },
1059 	{ V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE, "V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE" },
1060 	{ V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE, "V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE" },
1061 	{ V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS, "V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS" },
1062 	{ V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV, "V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV" },
1063 	{ V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC, "V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC" },
1064 	{ V4L2_AV1_FRAME_FLAG_USE_SUPERRES, "V4L2_AV1_FRAME_FLAG_USE_SUPERRES" },
1065 	{ V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV, "V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV" },
1066 	{ V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE, "V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE" },
1067 	{ V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS, "V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS" },
1068 	{ V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF, "V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF" },
1069 	{ V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION, "V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION" },
1070 	{ V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT, "V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT" },
1071 	{ V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET, "V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET" },
1072 	{ V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED, "V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED" },
1073 	{ V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT, "V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT" },
1074 	{ V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE, "V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE" },
1075 	{ V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT, "V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT" },
1076 	{ V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING, "V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING" },
1077 	{ 0, "" }
1078 };
1079 
1080 constexpr flag_def v4l2_av1_film_grain_flag_def[] = {
1081 	{ V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN, "V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN" },
1082 	{ V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN, "V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN" },
1083 	{ V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA, "V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA" },
1084 	{ V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP, "V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP" },
1085 	{ V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE, "V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE" },
1086 	{ 0, "" }
1087 };
1088 
1089 constexpr val_def v4l2_field_val_def[] = {
1090 	{ V4L2_FIELD_ANY,	"V4L2_FIELD_ANY" },
1091 	{ V4L2_FIELD_NONE,	"V4L2_FIELD_NONE" },
1092 	{ V4L2_FIELD_TOP,	"V4L2_FIELD_TOP" },
1093 	{ V4L2_FIELD_BOTTOM,	"V4L2_FIELD_BOTTOM" },
1094 	{ V4L2_FIELD_INTERLACED,	"V4L2_FIELD_INTERLACED" },
1095 	{ V4L2_FIELD_SEQ_TB,	"V4L2_FIELD_SEQ_TB" },
1096 	{ V4L2_FIELD_SEQ_BT,	"V4L2_FIELD_SEQ_BT" },
1097 	{ V4L2_FIELD_ALTERNATE,	"V4L2_FIELD_ALTERNATE" },
1098 	{ V4L2_FIELD_INTERLACED_TB,	"V4L2_FIELD_INTERLACED_TB" },
1099 	{ V4L2_FIELD_INTERLACED_BT,	"V4L2_FIELD_INTERLACED_BT" },
1100 	{ -1, "" }
1101 };
1102 
1103 constexpr val_def v4l2_buf_type_val_def[] = {
1104 	{ V4L2_BUF_TYPE_VIDEO_CAPTURE,	"V4L2_BUF_TYPE_VIDEO_CAPTURE" },
1105 	{ V4L2_BUF_TYPE_VIDEO_OUTPUT,	"V4L2_BUF_TYPE_VIDEO_OUTPUT" },
1106 	{ V4L2_BUF_TYPE_VIDEO_OVERLAY,	"V4L2_BUF_TYPE_VIDEO_OVERLAY" },
1107 	{ V4L2_BUF_TYPE_VBI_CAPTURE,	"V4L2_BUF_TYPE_VBI_CAPTURE" },
1108 	{ V4L2_BUF_TYPE_VBI_OUTPUT,	"V4L2_BUF_TYPE_VBI_OUTPUT" },
1109 	{ V4L2_BUF_TYPE_SLICED_VBI_CAPTURE,	"V4L2_BUF_TYPE_SLICED_VBI_CAPTURE" },
1110 	{ V4L2_BUF_TYPE_SLICED_VBI_OUTPUT,	"V4L2_BUF_TYPE_SLICED_VBI_OUTPUT" },
1111 	{ V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY,	"V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY" },
1112 	{ V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,	"V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE" },
1113 	{ V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE,	"V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE" },
1114 	{ V4L2_BUF_TYPE_SDR_CAPTURE,	"V4L2_BUF_TYPE_SDR_CAPTURE" },
1115 	{ V4L2_BUF_TYPE_SDR_OUTPUT,	"V4L2_BUF_TYPE_SDR_OUTPUT" },
1116 	{ V4L2_BUF_TYPE_META_CAPTURE,	"V4L2_BUF_TYPE_META_CAPTURE" },
1117 	{ V4L2_BUF_TYPE_META_OUTPUT,	"V4L2_BUF_TYPE_META_OUTPUT" },
1118 	{ V4L2_BUF_TYPE_PRIVATE,	"V4L2_BUF_TYPE_PRIVATE" },
1119 	{ -1, "" }
1120 };
1121 
1122 constexpr val_def v4l2_tuner_type_val_def[] = {
1123 	{ V4L2_TUNER_RADIO,	"V4L2_TUNER_RADIO" },
1124 	{ V4L2_TUNER_ANALOG_TV,	"V4L2_TUNER_ANALOG_TV" },
1125 	{ V4L2_TUNER_DIGITAL_TV,	"V4L2_TUNER_DIGITAL_TV" },
1126 	{ V4L2_TUNER_SDR,	"V4L2_TUNER_SDR" },
1127 	{ V4L2_TUNER_RF,	"V4L2_TUNER_RF" },
1128 	{ -1, "" }
1129 };
1130 
1131 constexpr val_def v4l2_memory_val_def[] = {
1132 	{ V4L2_MEMORY_MMAP,	"V4L2_MEMORY_MMAP" },
1133 	{ V4L2_MEMORY_USERPTR,	"V4L2_MEMORY_USERPTR" },
1134 	{ V4L2_MEMORY_OVERLAY,	"V4L2_MEMORY_OVERLAY" },
1135 	{ V4L2_MEMORY_DMABUF,	"V4L2_MEMORY_DMABUF" },
1136 	{ -1, "" }
1137 };
1138 
1139 constexpr val_def v4l2_colorspace_val_def[] = {
1140 	{ V4L2_COLORSPACE_DEFAULT,	"V4L2_COLORSPACE_DEFAULT" },
1141 	{ V4L2_COLORSPACE_SMPTE170M,	"V4L2_COLORSPACE_SMPTE170M" },
1142 	{ V4L2_COLORSPACE_SMPTE240M,	"V4L2_COLORSPACE_SMPTE240M" },
1143 	{ V4L2_COLORSPACE_REC709,	"V4L2_COLORSPACE_REC709" },
1144 	{ V4L2_COLORSPACE_BT878,	"V4L2_COLORSPACE_BT878" },
1145 	{ V4L2_COLORSPACE_470_SYSTEM_M,	"V4L2_COLORSPACE_470_SYSTEM_M" },
1146 	{ V4L2_COLORSPACE_470_SYSTEM_BG,	"V4L2_COLORSPACE_470_SYSTEM_BG" },
1147 	{ V4L2_COLORSPACE_JPEG,	"V4L2_COLORSPACE_JPEG" },
1148 	{ V4L2_COLORSPACE_SRGB,	"V4L2_COLORSPACE_SRGB" },
1149 	{ V4L2_COLORSPACE_OPRGB,	"V4L2_COLORSPACE_OPRGB" },
1150 	{ V4L2_COLORSPACE_BT2020,	"V4L2_COLORSPACE_BT2020" },
1151 	{ V4L2_COLORSPACE_RAW,	"V4L2_COLORSPACE_RAW" },
1152 	{ V4L2_COLORSPACE_DCI_P3,	"V4L2_COLORSPACE_DCI_P3" },
1153 	{ -1, "" }
1154 };
1155 
1156 constexpr val_def v4l2_xfer_func_val_def[] = {
1157 	{ V4L2_XFER_FUNC_DEFAULT,	"V4L2_XFER_FUNC_DEFAULT" },
1158 	{ V4L2_XFER_FUNC_709,	"V4L2_XFER_FUNC_709" },
1159 	{ V4L2_XFER_FUNC_SRGB,	"V4L2_XFER_FUNC_SRGB" },
1160 	{ V4L2_XFER_FUNC_OPRGB,	"V4L2_XFER_FUNC_OPRGB" },
1161 	{ V4L2_XFER_FUNC_SMPTE240M,	"V4L2_XFER_FUNC_SMPTE240M" },
1162 	{ V4L2_XFER_FUNC_NONE,	"V4L2_XFER_FUNC_NONE" },
1163 	{ V4L2_XFER_FUNC_DCI_P3,	"V4L2_XFER_FUNC_DCI_P3" },
1164 	{ V4L2_XFER_FUNC_SMPTE2084,	"V4L2_XFER_FUNC_SMPTE2084" },
1165 	{ -1, "" }
1166 };
1167 
1168 constexpr val_def v4l2_ycbcr_encoding_val_def[] = {
1169 	{ V4L2_YCBCR_ENC_DEFAULT,	"V4L2_YCBCR_ENC_DEFAULT" },
1170 	{ V4L2_YCBCR_ENC_601,	"V4L2_YCBCR_ENC_601" },
1171 	{ V4L2_YCBCR_ENC_709,	"V4L2_YCBCR_ENC_709" },
1172 	{ V4L2_YCBCR_ENC_XV601,	"V4L2_YCBCR_ENC_XV601" },
1173 	{ V4L2_YCBCR_ENC_XV709,	"V4L2_YCBCR_ENC_XV709" },
1174 	{ V4L2_YCBCR_ENC_SYCC,	"V4L2_YCBCR_ENC_SYCC" },
1175 	{ V4L2_YCBCR_ENC_BT2020,	"V4L2_YCBCR_ENC_BT2020" },
1176 	{ V4L2_YCBCR_ENC_BT2020_CONST_LUM,	"V4L2_YCBCR_ENC_BT2020_CONST_LUM" },
1177 	{ V4L2_YCBCR_ENC_SMPTE240M,	"V4L2_YCBCR_ENC_SMPTE240M" },
1178 	{ -1, "" }
1179 };
1180 
1181 constexpr val_def v4l2_hsv_encoding_val_def[] = {
1182 	{ V4L2_HSV_ENC_180,	"V4L2_HSV_ENC_180" },
1183 	{ V4L2_HSV_ENC_256,	"V4L2_HSV_ENC_256" },
1184 	{ -1, "" }
1185 };
1186 
1187 constexpr val_def v4l2_quantization_val_def[] = {
1188 	{ V4L2_QUANTIZATION_DEFAULT,	"V4L2_QUANTIZATION_DEFAULT" },
1189 	{ V4L2_QUANTIZATION_FULL_RANGE,	"V4L2_QUANTIZATION_FULL_RANGE" },
1190 	{ V4L2_QUANTIZATION_LIM_RANGE,	"V4L2_QUANTIZATION_LIM_RANGE" },
1191 	{ -1, "" }
1192 };
1193 
1194 constexpr val_def v4l2_priority_val_def[] = {
1195 	{ V4L2_PRIORITY_UNSET,	"V4L2_PRIORITY_UNSET" },
1196 	{ V4L2_PRIORITY_BACKGROUND,	"V4L2_PRIORITY_BACKGROUND" },
1197 	{ V4L2_PRIORITY_INTERACTIVE,	"V4L2_PRIORITY_INTERACTIVE" },
1198 	{ V4L2_PRIORITY_RECORD,	"V4L2_PRIORITY_RECORD" },
1199 	{ V4L2_PRIORITY_DEFAULT,	"V4L2_PRIORITY_DEFAULT" },
1200 	{ -1, "" }
1201 };
1202 
1203 constexpr flag_def v4l2_cap_flag_def[] = {
1204 	{ V4L2_CAP_VIDEO_CAPTURE,	"V4L2_CAP_VIDEO_CAPTURE" },
1205 	{ V4L2_CAP_VIDEO_OUTPUT,	"V4L2_CAP_VIDEO_OUTPUT" },
1206 	{ V4L2_CAP_VIDEO_OVERLAY,	"V4L2_CAP_VIDEO_OVERLAY" },
1207 	{ V4L2_CAP_VBI_CAPTURE,	"V4L2_CAP_VBI_CAPTURE" },
1208 	{ V4L2_CAP_VBI_OUTPUT,	"V4L2_CAP_VBI_OUTPUT" },
1209 	{ V4L2_CAP_SLICED_VBI_CAPTURE,	"V4L2_CAP_SLICED_VBI_CAPTURE" },
1210 	{ V4L2_CAP_SLICED_VBI_OUTPUT,	"V4L2_CAP_SLICED_VBI_OUTPUT" },
1211 	{ V4L2_CAP_RDS_CAPTURE,	"V4L2_CAP_RDS_CAPTURE" },
1212 	{ V4L2_CAP_VIDEO_OUTPUT_OVERLAY,	"V4L2_CAP_VIDEO_OUTPUT_OVERLAY" },
1213 	{ V4L2_CAP_HW_FREQ_SEEK,	"V4L2_CAP_HW_FREQ_SEEK" },
1214 	{ V4L2_CAP_RDS_OUTPUT,	"V4L2_CAP_RDS_OUTPUT" },
1215 	{ V4L2_CAP_VIDEO_CAPTURE_MPLANE,	"V4L2_CAP_VIDEO_CAPTURE_MPLANE" },
1216 	{ V4L2_CAP_VIDEO_OUTPUT_MPLANE,	"V4L2_CAP_VIDEO_OUTPUT_MPLANE" },
1217 	{ V4L2_CAP_VIDEO_M2M_MPLANE,	"V4L2_CAP_VIDEO_M2M_MPLANE" },
1218 	{ V4L2_CAP_VIDEO_M2M,	"V4L2_CAP_VIDEO_M2M" },
1219 	{ V4L2_CAP_TUNER,	"V4L2_CAP_TUNER" },
1220 	{ V4L2_CAP_AUDIO,	"V4L2_CAP_AUDIO" },
1221 	{ V4L2_CAP_RADIO,	"V4L2_CAP_RADIO" },
1222 	{ V4L2_CAP_MODULATOR,	"V4L2_CAP_MODULATOR" },
1223 	{ V4L2_CAP_SDR_CAPTURE,	"V4L2_CAP_SDR_CAPTURE" },
1224 	{ V4L2_CAP_EXT_PIX_FORMAT,	"V4L2_CAP_EXT_PIX_FORMAT" },
1225 	{ V4L2_CAP_SDR_OUTPUT,	"V4L2_CAP_SDR_OUTPUT" },
1226 	{ V4L2_CAP_META_CAPTURE,	"V4L2_CAP_META_CAPTURE" },
1227 	{ V4L2_CAP_READWRITE,	"V4L2_CAP_READWRITE" },
1228 	{ V4L2_CAP_STREAMING,	"V4L2_CAP_STREAMING" },
1229 	{ V4L2_CAP_META_OUTPUT,	"V4L2_CAP_META_OUTPUT" },
1230 	{ V4L2_CAP_TOUCH,	"V4L2_CAP_TOUCH" },
1231 	{ V4L2_CAP_IO_MC,	"V4L2_CAP_IO_MC" },
1232 	{ V4L2_CAP_DEVICE_CAPS,	"V4L2_CAP_DEVICE_CAPS" },
1233 	{ 0, "" }
1234 };
1235 
1236 constexpr val_def v4l2_pix_fmt_val_def[] = {
1237 	{ V4L2_PIX_FMT_RGB332,	"V4L2_PIX_FMT_RGB332" },
1238 	{ V4L2_PIX_FMT_RGB444,	"V4L2_PIX_FMT_RGB444" },
1239 	{ V4L2_PIX_FMT_ARGB444,	"V4L2_PIX_FMT_ARGB444" },
1240 	{ V4L2_PIX_FMT_XRGB444,	"V4L2_PIX_FMT_XRGB444" },
1241 	{ V4L2_PIX_FMT_RGBA444,	"V4L2_PIX_FMT_RGBA444" },
1242 	{ V4L2_PIX_FMT_RGBX444,	"V4L2_PIX_FMT_RGBX444" },
1243 	{ V4L2_PIX_FMT_ABGR444,	"V4L2_PIX_FMT_ABGR444" },
1244 	{ V4L2_PIX_FMT_XBGR444,	"V4L2_PIX_FMT_XBGR444" },
1245 	{ V4L2_PIX_FMT_BGRA444,	"V4L2_PIX_FMT_BGRA444" },
1246 	{ V4L2_PIX_FMT_BGRX444,	"V4L2_PIX_FMT_BGRX444" },
1247 	{ V4L2_PIX_FMT_RGB555,	"V4L2_PIX_FMT_RGB555" },
1248 	{ V4L2_PIX_FMT_ARGB555,	"V4L2_PIX_FMT_ARGB555" },
1249 	{ V4L2_PIX_FMT_XRGB555,	"V4L2_PIX_FMT_XRGB555" },
1250 	{ V4L2_PIX_FMT_RGBA555,	"V4L2_PIX_FMT_RGBA555" },
1251 	{ V4L2_PIX_FMT_RGBX555,	"V4L2_PIX_FMT_RGBX555" },
1252 	{ V4L2_PIX_FMT_ABGR555,	"V4L2_PIX_FMT_ABGR555" },
1253 	{ V4L2_PIX_FMT_XBGR555,	"V4L2_PIX_FMT_XBGR555" },
1254 	{ V4L2_PIX_FMT_BGRA555,	"V4L2_PIX_FMT_BGRA555" },
1255 	{ V4L2_PIX_FMT_BGRX555,	"V4L2_PIX_FMT_BGRX555" },
1256 	{ V4L2_PIX_FMT_RGB565,	"V4L2_PIX_FMT_RGB565" },
1257 	{ V4L2_PIX_FMT_RGB555X,	"V4L2_PIX_FMT_RGB555X" },
1258 	{ V4L2_PIX_FMT_ARGB555X,	"V4L2_PIX_FMT_ARGB555X" },
1259 	{ V4L2_PIX_FMT_XRGB555X,	"V4L2_PIX_FMT_XRGB555X" },
1260 	{ V4L2_PIX_FMT_RGB565X,	"V4L2_PIX_FMT_RGB565X" },
1261 	{ V4L2_PIX_FMT_BGR666,	"V4L2_PIX_FMT_BGR666" },
1262 	{ V4L2_PIX_FMT_BGR24,	"V4L2_PIX_FMT_BGR24" },
1263 	{ V4L2_PIX_FMT_RGB24,	"V4L2_PIX_FMT_RGB24" },
1264 	{ V4L2_PIX_FMT_BGR32,	"V4L2_PIX_FMT_BGR32" },
1265 	{ V4L2_PIX_FMT_ABGR32,	"V4L2_PIX_FMT_ABGR32" },
1266 	{ V4L2_PIX_FMT_XBGR32,	"V4L2_PIX_FMT_XBGR32" },
1267 	{ V4L2_PIX_FMT_BGRA32,	"V4L2_PIX_FMT_BGRA32" },
1268 	{ V4L2_PIX_FMT_BGRX32,	"V4L2_PIX_FMT_BGRX32" },
1269 	{ V4L2_PIX_FMT_RGB32,	"V4L2_PIX_FMT_RGB32" },
1270 	{ V4L2_PIX_FMT_RGBA32,	"V4L2_PIX_FMT_RGBA32" },
1271 	{ V4L2_PIX_FMT_RGBX32,	"V4L2_PIX_FMT_RGBX32" },
1272 	{ V4L2_PIX_FMT_ARGB32,	"V4L2_PIX_FMT_ARGB32" },
1273 	{ V4L2_PIX_FMT_XRGB32,	"V4L2_PIX_FMT_XRGB32" },
1274 	{ V4L2_PIX_FMT_RGBX1010102,	"V4L2_PIX_FMT_RGBX1010102" },
1275 	{ V4L2_PIX_FMT_RGBA1010102,	"V4L2_PIX_FMT_RGBA1010102" },
1276 	{ V4L2_PIX_FMT_ARGB2101010,	"V4L2_PIX_FMT_ARGB2101010" },
1277 	{ V4L2_PIX_FMT_BGR48_12,	"V4L2_PIX_FMT_BGR48_12" },
1278 	{ V4L2_PIX_FMT_BGR48,	"V4L2_PIX_FMT_BGR48" },
1279 	{ V4L2_PIX_FMT_RGB48,	"V4L2_PIX_FMT_RGB48" },
1280 	{ V4L2_PIX_FMT_ABGR64_12,	"V4L2_PIX_FMT_ABGR64_12" },
1281 	{ V4L2_PIX_FMT_GREY,	"V4L2_PIX_FMT_GREY" },
1282 	{ V4L2_PIX_FMT_Y4,	"V4L2_PIX_FMT_Y4" },
1283 	{ V4L2_PIX_FMT_Y6,	"V4L2_PIX_FMT_Y6" },
1284 	{ V4L2_PIX_FMT_Y10,	"V4L2_PIX_FMT_Y10" },
1285 	{ V4L2_PIX_FMT_Y12,	"V4L2_PIX_FMT_Y12" },
1286 	{ V4L2_PIX_FMT_Y012,	"V4L2_PIX_FMT_Y012" },
1287 	{ V4L2_PIX_FMT_Y14,	"V4L2_PIX_FMT_Y14" },
1288 	{ V4L2_PIX_FMT_Y16,	"V4L2_PIX_FMT_Y16" },
1289 	{ V4L2_PIX_FMT_Y16_BE,	"V4L2_PIX_FMT_Y16_BE" },
1290 	{ V4L2_PIX_FMT_Y10BPACK,	"V4L2_PIX_FMT_Y10BPACK" },
1291 	{ V4L2_PIX_FMT_Y10P,	"V4L2_PIX_FMT_Y10P" },
1292 	{ V4L2_PIX_FMT_IPU3_Y10,	"V4L2_PIX_FMT_IPU3_Y10" },
1293 	{ V4L2_PIX_FMT_Y12P,	"V4L2_PIX_FMT_Y12P" },
1294 	{ V4L2_PIX_FMT_Y14P,	"V4L2_PIX_FMT_Y14P" },
1295 	{ V4L2_PIX_FMT_PAL8,	"V4L2_PIX_FMT_PAL8" },
1296 	{ V4L2_PIX_FMT_UV8,	"V4L2_PIX_FMT_UV8" },
1297 	{ V4L2_PIX_FMT_YUYV,	"V4L2_PIX_FMT_YUYV" },
1298 	{ V4L2_PIX_FMT_YYUV,	"V4L2_PIX_FMT_YYUV" },
1299 	{ V4L2_PIX_FMT_YVYU,	"V4L2_PIX_FMT_YVYU" },
1300 	{ V4L2_PIX_FMT_UYVY,	"V4L2_PIX_FMT_UYVY" },
1301 	{ V4L2_PIX_FMT_VYUY,	"V4L2_PIX_FMT_VYUY" },
1302 	{ V4L2_PIX_FMT_Y41P,	"V4L2_PIX_FMT_Y41P" },
1303 	{ V4L2_PIX_FMT_YUV444,	"V4L2_PIX_FMT_YUV444" },
1304 	{ V4L2_PIX_FMT_YUV555,	"V4L2_PIX_FMT_YUV555" },
1305 	{ V4L2_PIX_FMT_YUV565,	"V4L2_PIX_FMT_YUV565" },
1306 	{ V4L2_PIX_FMT_YUV24,	"V4L2_PIX_FMT_YUV24" },
1307 	{ V4L2_PIX_FMT_YUV32,	"V4L2_PIX_FMT_YUV32" },
1308 	{ V4L2_PIX_FMT_AYUV32,	"V4L2_PIX_FMT_AYUV32" },
1309 	{ V4L2_PIX_FMT_XYUV32,	"V4L2_PIX_FMT_XYUV32" },
1310 	{ V4L2_PIX_FMT_VUYA32,	"V4L2_PIX_FMT_VUYA32" },
1311 	{ V4L2_PIX_FMT_VUYX32,	"V4L2_PIX_FMT_VUYX32" },
1312 	{ V4L2_PIX_FMT_YUVA32,	"V4L2_PIX_FMT_YUVA32" },
1313 	{ V4L2_PIX_FMT_YUVX32,	"V4L2_PIX_FMT_YUVX32" },
1314 	{ V4L2_PIX_FMT_M420,	"V4L2_PIX_FMT_M420" },
1315 	{ V4L2_PIX_FMT_YUV48_12,	"V4L2_PIX_FMT_YUV48_12" },
1316 	{ V4L2_PIX_FMT_Y210,	"V4L2_PIX_FMT_Y210" },
1317 	{ V4L2_PIX_FMT_Y212,	"V4L2_PIX_FMT_Y212" },
1318 	{ V4L2_PIX_FMT_Y216,	"V4L2_PIX_FMT_Y216" },
1319 	{ V4L2_PIX_FMT_NV12,	"V4L2_PIX_FMT_NV12" },
1320 	{ V4L2_PIX_FMT_NV21,	"V4L2_PIX_FMT_NV21" },
1321 	{ V4L2_PIX_FMT_NV16,	"V4L2_PIX_FMT_NV16" },
1322 	{ V4L2_PIX_FMT_NV61,	"V4L2_PIX_FMT_NV61" },
1323 	{ V4L2_PIX_FMT_NV24,	"V4L2_PIX_FMT_NV24" },
1324 	{ V4L2_PIX_FMT_NV42,	"V4L2_PIX_FMT_NV42" },
1325 	{ V4L2_PIX_FMT_P010,	"V4L2_PIX_FMT_P010" },
1326 	{ V4L2_PIX_FMT_P012,	"V4L2_PIX_FMT_P012" },
1327 	{ V4L2_PIX_FMT_NV12M,	"V4L2_PIX_FMT_NV12M" },
1328 	{ V4L2_PIX_FMT_NV21M,	"V4L2_PIX_FMT_NV21M" },
1329 	{ V4L2_PIX_FMT_NV16M,	"V4L2_PIX_FMT_NV16M" },
1330 	{ V4L2_PIX_FMT_NV61M,	"V4L2_PIX_FMT_NV61M" },
1331 	{ V4L2_PIX_FMT_P012M,	"V4L2_PIX_FMT_P012M" },
1332 	{ V4L2_PIX_FMT_YUV410,	"V4L2_PIX_FMT_YUV410" },
1333 	{ V4L2_PIX_FMT_YVU410,	"V4L2_PIX_FMT_YVU410" },
1334 	{ V4L2_PIX_FMT_YUV411P,	"V4L2_PIX_FMT_YUV411P" },
1335 	{ V4L2_PIX_FMT_YUV420,	"V4L2_PIX_FMT_YUV420" },
1336 	{ V4L2_PIX_FMT_YVU420,	"V4L2_PIX_FMT_YVU420" },
1337 	{ V4L2_PIX_FMT_YUV422P,	"V4L2_PIX_FMT_YUV422P" },
1338 	{ V4L2_PIX_FMT_YUV420M,	"V4L2_PIX_FMT_YUV420M" },
1339 	{ V4L2_PIX_FMT_YVU420M,	"V4L2_PIX_FMT_YVU420M" },
1340 	{ V4L2_PIX_FMT_YUV422M,	"V4L2_PIX_FMT_YUV422M" },
1341 	{ V4L2_PIX_FMT_YVU422M,	"V4L2_PIX_FMT_YVU422M" },
1342 	{ V4L2_PIX_FMT_YUV444M,	"V4L2_PIX_FMT_YUV444M" },
1343 	{ V4L2_PIX_FMT_YVU444M,	"V4L2_PIX_FMT_YVU444M" },
1344 	{ V4L2_PIX_FMT_NV12_4L4,	"V4L2_PIX_FMT_NV12_4L4" },
1345 	{ V4L2_PIX_FMT_NV12_16L16,	"V4L2_PIX_FMT_NV12_16L16" },
1346 	{ V4L2_PIX_FMT_NV12_32L32,	"V4L2_PIX_FMT_NV12_32L32" },
1347 	{ V4L2_PIX_FMT_NV15_4L4,	"V4L2_PIX_FMT_NV15_4L4" },
1348 	{ V4L2_PIX_FMT_P010_4L4,	"V4L2_PIX_FMT_P010_4L4" },
1349 	{ V4L2_PIX_FMT_NV12_8L128,	"V4L2_PIX_FMT_NV12_8L128" },
1350 	{ V4L2_PIX_FMT_NV12_10BE_8L128,	"V4L2_PIX_FMT_NV12_10BE_8L128" },
1351 	{ V4L2_PIX_FMT_NV12MT,	"V4L2_PIX_FMT_NV12MT" },
1352 	{ V4L2_PIX_FMT_NV12MT_16X16,	"V4L2_PIX_FMT_NV12MT_16X16" },
1353 	{ V4L2_PIX_FMT_NV12M_8L128,	"V4L2_PIX_FMT_NV12M_8L128" },
1354 	{ V4L2_PIX_FMT_NV12M_10BE_8L128,	"V4L2_PIX_FMT_NV12M_10BE_8L128" },
1355 	{ V4L2_PIX_FMT_SBGGR8,	"V4L2_PIX_FMT_SBGGR8" },
1356 	{ V4L2_PIX_FMT_SGBRG8,	"V4L2_PIX_FMT_SGBRG8" },
1357 	{ V4L2_PIX_FMT_SGRBG8,	"V4L2_PIX_FMT_SGRBG8" },
1358 	{ V4L2_PIX_FMT_SRGGB8,	"V4L2_PIX_FMT_SRGGB8" },
1359 	{ V4L2_PIX_FMT_SBGGR10,	"V4L2_PIX_FMT_SBGGR10" },
1360 	{ V4L2_PIX_FMT_SGBRG10,	"V4L2_PIX_FMT_SGBRG10" },
1361 	{ V4L2_PIX_FMT_SGRBG10,	"V4L2_PIX_FMT_SGRBG10" },
1362 	{ V4L2_PIX_FMT_SRGGB10,	"V4L2_PIX_FMT_SRGGB10" },
1363 	{ V4L2_PIX_FMT_SBGGR10P,	"V4L2_PIX_FMT_SBGGR10P" },
1364 	{ V4L2_PIX_FMT_SGBRG10P,	"V4L2_PIX_FMT_SGBRG10P" },
1365 	{ V4L2_PIX_FMT_SGRBG10P,	"V4L2_PIX_FMT_SGRBG10P" },
1366 	{ V4L2_PIX_FMT_SRGGB10P,	"V4L2_PIX_FMT_SRGGB10P" },
1367 	{ V4L2_PIX_FMT_SBGGR10ALAW8,	"V4L2_PIX_FMT_SBGGR10ALAW8" },
1368 	{ V4L2_PIX_FMT_SGBRG10ALAW8,	"V4L2_PIX_FMT_SGBRG10ALAW8" },
1369 	{ V4L2_PIX_FMT_SGRBG10ALAW8,	"V4L2_PIX_FMT_SGRBG10ALAW8" },
1370 	{ V4L2_PIX_FMT_SRGGB10ALAW8,	"V4L2_PIX_FMT_SRGGB10ALAW8" },
1371 	{ V4L2_PIX_FMT_SBGGR10DPCM8,	"V4L2_PIX_FMT_SBGGR10DPCM8" },
1372 	{ V4L2_PIX_FMT_SGBRG10DPCM8,	"V4L2_PIX_FMT_SGBRG10DPCM8" },
1373 	{ V4L2_PIX_FMT_SGRBG10DPCM8,	"V4L2_PIX_FMT_SGRBG10DPCM8" },
1374 	{ V4L2_PIX_FMT_SRGGB10DPCM8,	"V4L2_PIX_FMT_SRGGB10DPCM8" },
1375 	{ V4L2_PIX_FMT_SBGGR12,	"V4L2_PIX_FMT_SBGGR12" },
1376 	{ V4L2_PIX_FMT_SGBRG12,	"V4L2_PIX_FMT_SGBRG12" },
1377 	{ V4L2_PIX_FMT_SGRBG12,	"V4L2_PIX_FMT_SGRBG12" },
1378 	{ V4L2_PIX_FMT_SRGGB12,	"V4L2_PIX_FMT_SRGGB12" },
1379 	{ V4L2_PIX_FMT_SBGGR12P,	"V4L2_PIX_FMT_SBGGR12P" },
1380 	{ V4L2_PIX_FMT_SGBRG12P,	"V4L2_PIX_FMT_SGBRG12P" },
1381 	{ V4L2_PIX_FMT_SGRBG12P,	"V4L2_PIX_FMT_SGRBG12P" },
1382 	{ V4L2_PIX_FMT_SRGGB12P,	"V4L2_PIX_FMT_SRGGB12P" },
1383 	{ V4L2_PIX_FMT_SBGGR14,	"V4L2_PIX_FMT_SBGGR14" },
1384 	{ V4L2_PIX_FMT_SGBRG14,	"V4L2_PIX_FMT_SGBRG14" },
1385 	{ V4L2_PIX_FMT_SGRBG14,	"V4L2_PIX_FMT_SGRBG14" },
1386 	{ V4L2_PIX_FMT_SRGGB14,	"V4L2_PIX_FMT_SRGGB14" },
1387 	{ V4L2_PIX_FMT_SBGGR14P,	"V4L2_PIX_FMT_SBGGR14P" },
1388 	{ V4L2_PIX_FMT_SGBRG14P,	"V4L2_PIX_FMT_SGBRG14P" },
1389 	{ V4L2_PIX_FMT_SGRBG14P,	"V4L2_PIX_FMT_SGRBG14P" },
1390 	{ V4L2_PIX_FMT_SRGGB14P,	"V4L2_PIX_FMT_SRGGB14P" },
1391 	{ V4L2_PIX_FMT_SBGGR16,	"V4L2_PIX_FMT_SBGGR16" },
1392 	{ V4L2_PIX_FMT_SGBRG16,	"V4L2_PIX_FMT_SGBRG16" },
1393 	{ V4L2_PIX_FMT_SGRBG16,	"V4L2_PIX_FMT_SGRBG16" },
1394 	{ V4L2_PIX_FMT_SRGGB16,	"V4L2_PIX_FMT_SRGGB16" },
1395 	{ V4L2_PIX_FMT_HSV24,	"V4L2_PIX_FMT_HSV24" },
1396 	{ V4L2_PIX_FMT_HSV32,	"V4L2_PIX_FMT_HSV32" },
1397 	{ V4L2_PIX_FMT_MJPEG,	"V4L2_PIX_FMT_MJPEG" },
1398 	{ V4L2_PIX_FMT_JPEG,	"V4L2_PIX_FMT_JPEG" },
1399 	{ V4L2_PIX_FMT_DV,	"V4L2_PIX_FMT_DV" },
1400 	{ V4L2_PIX_FMT_MPEG,	"V4L2_PIX_FMT_MPEG" },
1401 	{ V4L2_PIX_FMT_H264,	"V4L2_PIX_FMT_H264" },
1402 	{ V4L2_PIX_FMT_H264_NO_SC,	"V4L2_PIX_FMT_H264_NO_SC" },
1403 	{ V4L2_PIX_FMT_H264_MVC,	"V4L2_PIX_FMT_H264_MVC" },
1404 	{ V4L2_PIX_FMT_H263,	"V4L2_PIX_FMT_H263" },
1405 	{ V4L2_PIX_FMT_MPEG1,	"V4L2_PIX_FMT_MPEG1" },
1406 	{ V4L2_PIX_FMT_MPEG2,	"V4L2_PIX_FMT_MPEG2" },
1407 	{ V4L2_PIX_FMT_MPEG2_SLICE,	"V4L2_PIX_FMT_MPEG2_SLICE" },
1408 	{ V4L2_PIX_FMT_MPEG4,	"V4L2_PIX_FMT_MPEG4" },
1409 	{ V4L2_PIX_FMT_XVID,	"V4L2_PIX_FMT_XVID" },
1410 	{ V4L2_PIX_FMT_VC1_ANNEX_G,	"V4L2_PIX_FMT_VC1_ANNEX_G" },
1411 	{ V4L2_PIX_FMT_VC1_ANNEX_L,	"V4L2_PIX_FMT_VC1_ANNEX_L" },
1412 	{ V4L2_PIX_FMT_VP8,	"V4L2_PIX_FMT_VP8" },
1413 	{ V4L2_PIX_FMT_VP8_FRAME,	"V4L2_PIX_FMT_VP8_FRAME" },
1414 	{ V4L2_PIX_FMT_VP9,	"V4L2_PIX_FMT_VP9" },
1415 	{ V4L2_PIX_FMT_VP9_FRAME,	"V4L2_PIX_FMT_VP9_FRAME" },
1416 	{ V4L2_PIX_FMT_HEVC,	"V4L2_PIX_FMT_HEVC" },
1417 	{ V4L2_PIX_FMT_FWHT,	"V4L2_PIX_FMT_FWHT" },
1418 	{ V4L2_PIX_FMT_FWHT_STATELESS,	"V4L2_PIX_FMT_FWHT_STATELESS" },
1419 	{ V4L2_PIX_FMT_H264_SLICE,	"V4L2_PIX_FMT_H264_SLICE" },
1420 	{ V4L2_PIX_FMT_HEVC_SLICE,	"V4L2_PIX_FMT_HEVC_SLICE" },
1421 	{ V4L2_PIX_FMT_AV1_FRAME,	"V4L2_PIX_FMT_AV1_FRAME" },
1422 	{ V4L2_PIX_FMT_SPK,	"V4L2_PIX_FMT_SPK" },
1423 	{ V4L2_PIX_FMT_RV30,	"V4L2_PIX_FMT_RV30" },
1424 	{ V4L2_PIX_FMT_RV40,	"V4L2_PIX_FMT_RV40" },
1425 	{ V4L2_PIX_FMT_CPIA1,	"V4L2_PIX_FMT_CPIA1" },
1426 	{ V4L2_PIX_FMT_WNVA,	"V4L2_PIX_FMT_WNVA" },
1427 	{ V4L2_PIX_FMT_SN9C10X,	"V4L2_PIX_FMT_SN9C10X" },
1428 	{ V4L2_PIX_FMT_SN9C20X_I420,	"V4L2_PIX_FMT_SN9C20X_I420" },
1429 	{ V4L2_PIX_FMT_PWC1,	"V4L2_PIX_FMT_PWC1" },
1430 	{ V4L2_PIX_FMT_PWC2,	"V4L2_PIX_FMT_PWC2" },
1431 	{ V4L2_PIX_FMT_ET61X251,	"V4L2_PIX_FMT_ET61X251" },
1432 	{ V4L2_PIX_FMT_SPCA501,	"V4L2_PIX_FMT_SPCA501" },
1433 	{ V4L2_PIX_FMT_SPCA505,	"V4L2_PIX_FMT_SPCA505" },
1434 	{ V4L2_PIX_FMT_SPCA508,	"V4L2_PIX_FMT_SPCA508" },
1435 	{ V4L2_PIX_FMT_SPCA561,	"V4L2_PIX_FMT_SPCA561" },
1436 	{ V4L2_PIX_FMT_PAC207,	"V4L2_PIX_FMT_PAC207" },
1437 	{ V4L2_PIX_FMT_MR97310A,	"V4L2_PIX_FMT_MR97310A" },
1438 	{ V4L2_PIX_FMT_JL2005BCD,	"V4L2_PIX_FMT_JL2005BCD" },
1439 	{ V4L2_PIX_FMT_SN9C2028,	"V4L2_PIX_FMT_SN9C2028" },
1440 	{ V4L2_PIX_FMT_SQ905C,	"V4L2_PIX_FMT_SQ905C" },
1441 	{ V4L2_PIX_FMT_PJPG,	"V4L2_PIX_FMT_PJPG" },
1442 	{ V4L2_PIX_FMT_OV511,	"V4L2_PIX_FMT_OV511" },
1443 	{ V4L2_PIX_FMT_OV518,	"V4L2_PIX_FMT_OV518" },
1444 	{ V4L2_PIX_FMT_STV0680,	"V4L2_PIX_FMT_STV0680" },
1445 	{ V4L2_PIX_FMT_TM6000,	"V4L2_PIX_FMT_TM6000" },
1446 	{ V4L2_PIX_FMT_CIT_YYVYUY,	"V4L2_PIX_FMT_CIT_YYVYUY" },
1447 	{ V4L2_PIX_FMT_KONICA420,	"V4L2_PIX_FMT_KONICA420" },
1448 	{ V4L2_PIX_FMT_JPGL,	"V4L2_PIX_FMT_JPGL" },
1449 	{ V4L2_PIX_FMT_SE401,	"V4L2_PIX_FMT_SE401" },
1450 	{ V4L2_PIX_FMT_S5C_UYVY_JPG,	"V4L2_PIX_FMT_S5C_UYVY_JPG" },
1451 	{ V4L2_PIX_FMT_Y8I,	"V4L2_PIX_FMT_Y8I" },
1452 	{ V4L2_PIX_FMT_Y12I,	"V4L2_PIX_FMT_Y12I" },
1453 	{ V4L2_PIX_FMT_Z16,	"V4L2_PIX_FMT_Z16" },
1454 	{ V4L2_PIX_FMT_MT21C,	"V4L2_PIX_FMT_MT21C" },
1455 	{ V4L2_PIX_FMT_MM21,	"V4L2_PIX_FMT_MM21" },
1456 	{ V4L2_PIX_FMT_MT2110T,	"V4L2_PIX_FMT_MT2110T" },
1457 	{ V4L2_PIX_FMT_MT2110R,	"V4L2_PIX_FMT_MT2110R" },
1458 	{ V4L2_PIX_FMT_INZI,	"V4L2_PIX_FMT_INZI" },
1459 	{ V4L2_PIX_FMT_CNF4,	"V4L2_PIX_FMT_CNF4" },
1460 	{ V4L2_PIX_FMT_HI240,	"V4L2_PIX_FMT_HI240" },
1461 	{ V4L2_PIX_FMT_QC08C,	"V4L2_PIX_FMT_QC08C" },
1462 	{ V4L2_PIX_FMT_QC10C,	"V4L2_PIX_FMT_QC10C" },
1463 	{ V4L2_PIX_FMT_AJPG,	"V4L2_PIX_FMT_AJPG" },
1464 	{ V4L2_PIX_FMT_HEXTILE,	"V4L2_PIX_FMT_HEXTILE" },
1465 	{ V4L2_PIX_FMT_IPU3_SBGGR10,	"V4L2_PIX_FMT_IPU3_SBGGR10" },
1466 	{ V4L2_PIX_FMT_IPU3_SGBRG10,	"V4L2_PIX_FMT_IPU3_SGBRG10" },
1467 	{ V4L2_PIX_FMT_IPU3_SGRBG10,	"V4L2_PIX_FMT_IPU3_SGRBG10" },
1468 	{ V4L2_PIX_FMT_IPU3_SRGGB10,	"V4L2_PIX_FMT_IPU3_SRGGB10" },
1469 	{ -1, "" }
1470 };
1471 
1472 constexpr flag_def v4l2_pix_fmt_flag_def[] = {
1473 	{ V4L2_PIX_FMT_FLAG_PREMUL_ALPHA, "V4L2_PIX_FMT_FLAG_PREMUL_ALPHA" },
1474 	{ V4L2_PIX_FMT_FLAG_SET_CSC, "V4L2_PIX_FMT_FLAG_SET_CSC" },
1475 	{ 0, "" }
1476 };
1477 
1478 constexpr flag_def v4l2_fmt_flag_def[] = {
1479 	{ V4L2_FMT_FLAG_COMPRESSED, "V4L2_FMT_FLAG_COMPRESSED" },
1480 	{ V4L2_FMT_FLAG_EMULATED, "V4L2_FMT_FLAG_EMULATED" },
1481 	{ V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM, "V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM" },
1482 	{ V4L2_FMT_FLAG_DYN_RESOLUTION, "V4L2_FMT_FLAG_DYN_RESOLUTION" },
1483 	{ V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL, "V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL" },
1484 	{ V4L2_FMT_FLAG_CSC_COLORSPACE, "V4L2_FMT_FLAG_CSC_COLORSPACE" },
1485 	{ V4L2_FMT_FLAG_CSC_XFER_FUNC, "V4L2_FMT_FLAG_CSC_XFER_FUNC" },
1486 	{ V4L2_FMT_FLAG_CSC_YCBCR_ENC, "V4L2_FMT_FLAG_CSC_YCBCR_ENC" },
1487 	{ V4L2_FMT_FLAG_CSC_HSV_ENC, "V4L2_FMT_FLAG_CSC_HSV_ENC" },
1488 	{ V4L2_FMT_FLAG_CSC_QUANTIZATION, "V4L2_FMT_FLAG_CSC_QUANTIZATION" },
1489 	{ V4L2_FMT_FLAG_META_LINE_BASED, "V4L2_FMT_FLAG_META_LINE_BASED" },
1490 	{ 0, "" }
1491 };
1492 
1493 constexpr val_def v4l2_frmsizetypes_val_def[] = {
1494 	{ V4L2_FRMSIZE_TYPE_DISCRETE,	"V4L2_FRMSIZE_TYPE_DISCRETE" },
1495 	{ V4L2_FRMSIZE_TYPE_CONTINUOUS,	"V4L2_FRMSIZE_TYPE_CONTINUOUS" },
1496 	{ V4L2_FRMSIZE_TYPE_STEPWISE,	"V4L2_FRMSIZE_TYPE_STEPWISE" },
1497 	{ -1, "" }
1498 };
1499 
1500 constexpr val_def v4l2_frmivaltypes_val_def[] = {
1501 	{ V4L2_FRMIVAL_TYPE_DISCRETE,	"V4L2_FRMIVAL_TYPE_DISCRETE" },
1502 	{ V4L2_FRMIVAL_TYPE_CONTINUOUS,	"V4L2_FRMIVAL_TYPE_CONTINUOUS" },
1503 	{ V4L2_FRMIVAL_TYPE_STEPWISE,	"V4L2_FRMIVAL_TYPE_STEPWISE" },
1504 	{ -1, "" }
1505 };
1506 
1507 constexpr flag_def v4l2_tc_flag_def[] = {
1508 	{ V4L2_TC_FLAG_DROPFRAME, "V4L2_TC_FLAG_DROPFRAME" },
1509 	{ V4L2_TC_FLAG_COLORFRAME, "V4L2_TC_FLAG_COLORFRAME" },
1510 	{ 0, "" }
1511 };
1512 
1513 constexpr flag_def v4l2_memory_flag_def[] = {
1514 	{ V4L2_MEMORY_FLAG_NON_COHERENT, "V4L2_MEMORY_FLAG_NON_COHERENT" },
1515 	{ 0, "" }
1516 };
1517 
1518 constexpr flag_def v4l2_buf_cap_flag_def[] = {
1519 	{ V4L2_BUF_CAP_SUPPORTS_MMAP,	"V4L2_BUF_CAP_SUPPORTS_MMAP" },
1520 	{ V4L2_BUF_CAP_SUPPORTS_USERPTR,	"V4L2_BUF_CAP_SUPPORTS_USERPTR" },
1521 	{ V4L2_BUF_CAP_SUPPORTS_DMABUF,	"V4L2_BUF_CAP_SUPPORTS_DMABUF" },
1522 	{ V4L2_BUF_CAP_SUPPORTS_REQUESTS,	"V4L2_BUF_CAP_SUPPORTS_REQUESTS" },
1523 	{ V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS,	"V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS" },
1524 	{ V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF,	"V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF" },
1525 	{ V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS,	"V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS" },
1526 	{ V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS,	"V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS" },
1527 	{ 0, "" }
1528 };
1529 
1530 constexpr flag_def v4l2_buf_flag_def[] = {
1531 	{ V4L2_BUF_FLAG_MAPPED, "V4L2_BUF_FLAG_MAPPED" },
1532 	{ V4L2_BUF_FLAG_QUEUED, "V4L2_BUF_FLAG_QUEUED" },
1533 	{ V4L2_BUF_FLAG_DONE, "V4L2_BUF_FLAG_DONE" },
1534 	{ V4L2_BUF_FLAG_KEYFRAME, "V4L2_BUF_FLAG_KEYFRAME" },
1535 	{ V4L2_BUF_FLAG_PFRAME, "V4L2_BUF_FLAG_PFRAME" },
1536 	{ V4L2_BUF_FLAG_BFRAME, "V4L2_BUF_FLAG_BFRAME" },
1537 	{ V4L2_BUF_FLAG_ERROR, "V4L2_BUF_FLAG_ERROR" },
1538 	{ V4L2_BUF_FLAG_IN_REQUEST, "V4L2_BUF_FLAG_IN_REQUEST" },
1539 	{ V4L2_BUF_FLAG_TIMECODE, "V4L2_BUF_FLAG_TIMECODE" },
1540 	{ V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF, "V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF" },
1541 	{ V4L2_BUF_FLAG_PREPARED, "V4L2_BUF_FLAG_PREPARED" },
1542 	{ V4L2_BUF_FLAG_NO_CACHE_INVALIDATE, "V4L2_BUF_FLAG_NO_CACHE_INVALIDATE" },
1543 	{ V4L2_BUF_FLAG_NO_CACHE_CLEAN, "V4L2_BUF_FLAG_NO_CACHE_CLEAN" },
1544 	{ V4L2_BUF_FLAG_LAST, "V4L2_BUF_FLAG_LAST" },
1545 	{ V4L2_BUF_FLAG_REQUEST_FD, "V4L2_BUF_FLAG_REQUEST_FD" },
1546 	{ 0, "" }
1547 };
1548 
1549 constexpr flag_def v4l2_fbuf_flag_def[] = {
1550 	{ V4L2_FBUF_FLAG_PRIMARY, "V4L2_FBUF_FLAG_PRIMARY" },
1551 	{ V4L2_FBUF_FLAG_OVERLAY, "V4L2_FBUF_FLAG_OVERLAY" },
1552 	{ V4L2_FBUF_FLAG_CHROMAKEY, "V4L2_FBUF_FLAG_CHROMAKEY" },
1553 	{ V4L2_FBUF_FLAG_LOCAL_ALPHA, "V4L2_FBUF_FLAG_LOCAL_ALPHA" },
1554 	{ V4L2_FBUF_FLAG_GLOBAL_ALPHA, "V4L2_FBUF_FLAG_GLOBAL_ALPHA" },
1555 	{ V4L2_FBUF_FLAG_LOCAL_INV_ALPHA, "V4L2_FBUF_FLAG_LOCAL_INV_ALPHA" },
1556 	{ V4L2_FBUF_FLAG_SRC_CHROMAKEY, "V4L2_FBUF_FLAG_SRC_CHROMAKEY" },
1557 	{ 0, "" }
1558 };
1559 
1560 constexpr val_def streamparm_val_def[] = {
1561 	{ V4L2_MODE_HIGHQUALITY,	"V4L2_MODE_HIGHQUALITY" },
1562 	{ V4L2_CAP_TIMEPERFRAME,	"V4L2_CAP_TIMEPERFRAME" },
1563 	{ -1, "" }
1564 };
1565 
1566 constexpr flag_def std_flag_def[] = {
1567 	{ V4L2_STD_PAL_B,	"V4L2_STD_PAL_B" },
1568 	{ V4L2_STD_PAL_B1,	"V4L2_STD_PAL_B1" },
1569 	{ V4L2_STD_PAL_G,	"V4L2_STD_PAL_G" },
1570 	{ V4L2_STD_PAL_H,	"V4L2_STD_PAL_H" },
1571 	{ V4L2_STD_PAL_I,	"V4L2_STD_PAL_I" },
1572 	{ V4L2_STD_PAL_D,	"V4L2_STD_PAL_D" },
1573 	{ V4L2_STD_PAL_D1,	"V4L2_STD_PAL_D1" },
1574 	{ V4L2_STD_PAL_K,	"V4L2_STD_PAL_K" },
1575 	{ V4L2_STD_PAL_M,	"V4L2_STD_PAL_M" },
1576 	{ V4L2_STD_PAL_N,	"V4L2_STD_PAL_N" },
1577 	{ V4L2_STD_PAL_Nc,	"V4L2_STD_PAL_Nc" },
1578 	{ V4L2_STD_PAL_60,	"V4L2_STD_PAL_60" },
1579 	{ V4L2_STD_NTSC_M,	"V4L2_STD_NTSC_M" },
1580 	{ V4L2_STD_NTSC_M_JP,	"V4L2_STD_NTSC_M_JP" },
1581 	{ V4L2_STD_NTSC_443,	"V4L2_STD_NTSC_443" },
1582 	{ V4L2_STD_NTSC_M_KR,	"V4L2_STD_NTSC_M_KR" },
1583 	{ V4L2_STD_SECAM_B,	"V4L2_STD_SECAM_B" },
1584 	{ V4L2_STD_SECAM_D,	"V4L2_STD_SECAM_D" },
1585 	{ V4L2_STD_SECAM_G,	"V4L2_STD_SECAM_G" },
1586 	{ V4L2_STD_SECAM_H,	"V4L2_STD_SECAM_H" },
1587 	{ V4L2_STD_SECAM_K,	"V4L2_STD_SECAM_K" },
1588 	{ V4L2_STD_SECAM_K1,	"V4L2_STD_SECAM_K1" },
1589 	{ V4L2_STD_SECAM_L,	"V4L2_STD_SECAM_L" },
1590 	{ V4L2_STD_SECAM_LC,	"V4L2_STD_SECAM_LC" },
1591 	{ V4L2_STD_ATSC_8_VSB,	"V4L2_STD_ATSC_8_VSB" },
1592 	{ V4L2_STD_ATSC_16_VSB,	"V4L2_STD_ATSC_16_VSB" },
1593 	{ V4L2_STD_NTSC,	"V4L2_STD_NTSC" },
1594 	{ V4L2_STD_SECAM_DK,	"V4L2_STD_SECAM_DK" },
1595 	{ V4L2_STD_SECAM,	"V4L2_STD_SECAM" },
1596 	{ V4L2_STD_PAL_BG,	"V4L2_STD_PAL_BG" },
1597 	{ V4L2_STD_PAL_DK,	"V4L2_STD_PAL_DK" },
1598 	{ V4L2_STD_PAL,	"V4L2_STD_PAL" },
1599 	{ V4L2_STD_B,	"V4L2_STD_B" },
1600 	{ V4L2_STD_G,	"V4L2_STD_G" },
1601 	{ V4L2_STD_H,	"V4L2_STD_H" },
1602 	{ V4L2_STD_L,	"V4L2_STD_L" },
1603 	{ V4L2_STD_GH,	"V4L2_STD_GH" },
1604 	{ V4L2_STD_DK,	"V4L2_STD_DK" },
1605 	{ V4L2_STD_BG,	"V4L2_STD_BG" },
1606 	{ V4L2_STD_MN,	"V4L2_STD_MN" },
1607 	{ V4L2_STD_MTS,	"V4L2_STD_MTS" },
1608 	{ V4L2_STD_525_60,	"V4L2_STD_525_60" },
1609 	{ V4L2_STD_625_50,	"V4L2_STD_625_50" },
1610 	{ V4L2_STD_ATSC,	"V4L2_STD_ATSC" },
1611 	{ V4L2_STD_UNKNOWN,	"V4L2_STD_UNKNOWN" },
1612 	{ V4L2_STD_ALL,	"V4L2_STD_ALL" },
1613 	{ 0, "" }
1614 };
1615 
1616 constexpr flag_def v4l2_dv_flag_def[] = {
1617 	{ V4L2_DV_FL_REDUCED_BLANKING, "V4L2_DV_FL_REDUCED_BLANKING" },
1618 	{ V4L2_DV_FL_CAN_REDUCE_FPS, "V4L2_DV_FL_CAN_REDUCE_FPS" },
1619 	{ V4L2_DV_FL_REDUCED_FPS, "V4L2_DV_FL_REDUCED_FPS" },
1620 	{ V4L2_DV_FL_HALF_LINE, "V4L2_DV_FL_HALF_LINE" },
1621 	{ V4L2_DV_FL_IS_CE_VIDEO, "V4L2_DV_FL_IS_CE_VIDEO" },
1622 	{ V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE, "V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE" },
1623 	{ V4L2_DV_FL_HAS_PICTURE_ASPECT, "V4L2_DV_FL_HAS_PICTURE_ASPECT" },
1624 	{ V4L2_DV_FL_HAS_CEA861_VIC, "V4L2_DV_FL_HAS_CEA861_VIC" },
1625 	{ V4L2_DV_FL_HAS_HDMI_VIC, "V4L2_DV_FL_HAS_HDMI_VIC" },
1626 	{ V4L2_DV_FL_CAN_DETECT_REDUCED_FPS, "V4L2_DV_FL_CAN_DETECT_REDUCED_FPS" },
1627 	{ 0, "" }
1628 };
1629 
1630 constexpr val_def input_type_val_def[] = {
1631 	{ V4L2_INPUT_TYPE_TUNER,	"V4L2_INPUT_TYPE_TUNER" },
1632 	{ V4L2_INPUT_TYPE_CAMERA,	"V4L2_INPUT_TYPE_CAMERA" },
1633 	{ V4L2_INPUT_TYPE_TOUCH,	"V4L2_INPUT_TYPE_TOUCH" },
1634 	{ -1, "" }
1635 };
1636 
1637 constexpr val_def input_field_val_def[] = {
1638 	{ V4L2_IN_ST_NO_POWER,	"V4L2_IN_ST_NO_POWER" },
1639 	{ V4L2_IN_ST_NO_SIGNAL,	"V4L2_IN_ST_NO_SIGNAL" },
1640 	{ V4L2_IN_ST_NO_COLOR,	"V4L2_IN_ST_NO_COLOR" },
1641 	{ V4L2_IN_ST_HFLIP,	"V4L2_IN_ST_HFLIP" },
1642 	{ V4L2_IN_ST_VFLIP,	"V4L2_IN_ST_VFLIP" },
1643 	{ V4L2_IN_ST_NO_H_LOCK,	"V4L2_IN_ST_NO_H_LOCK" },
1644 	{ V4L2_IN_ST_COLOR_KILL,	"V4L2_IN_ST_COLOR_KILL" },
1645 	{ V4L2_IN_ST_NO_V_LOCK,	"V4L2_IN_ST_NO_V_LOCK" },
1646 	{ V4L2_IN_ST_NO_STD_LOCK,	"V4L2_IN_ST_NO_STD_LOCK" },
1647 	{ V4L2_IN_ST_NO_SYNC,	"V4L2_IN_ST_NO_SYNC" },
1648 	{ V4L2_IN_ST_NO_EQU,	"V4L2_IN_ST_NO_EQU" },
1649 	{ V4L2_IN_ST_NO_CARRIER,	"V4L2_IN_ST_NO_CARRIER" },
1650 	{ V4L2_IN_ST_MACROVISION,	"V4L2_IN_ST_MACROVISION" },
1651 	{ V4L2_IN_ST_NO_ACCESS,	"V4L2_IN_ST_NO_ACCESS" },
1652 	{ V4L2_IN_ST_VTR,	"V4L2_IN_ST_VTR" },
1653 	{ -1, "" }
1654 };
1655 
1656 constexpr flag_def input_cap_flag_def[] = {
1657 	{ V4L2_IN_CAP_DV_TIMINGS,	"V4L2_IN_CAP_DV_TIMINGS" },
1658 	{ V4L2_IN_CAP_CUSTOM_TIMINGS,	"V4L2_IN_CAP_CUSTOM_TIMINGS" },
1659 	{ V4L2_IN_CAP_STD,	"V4L2_IN_CAP_STD" },
1660 	{ V4L2_IN_CAP_NATIVE_SIZE,	"V4L2_IN_CAP_NATIVE_SIZE" },
1661 	{ 0, "" }
1662 };
1663 
1664 constexpr val_def output_type_val_def[] = {
1665 	{ V4L2_OUTPUT_TYPE_MODULATOR,	"V4L2_OUTPUT_TYPE_MODULATOR" },
1666 	{ V4L2_OUTPUT_TYPE_ANALOG,	"V4L2_OUTPUT_TYPE_ANALOG" },
1667 	{ V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY,	"V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY" },
1668 	{ -1, "" }
1669 };
1670 
1671 constexpr flag_def output_cap_flag_def[] = {
1672 	{ V4L2_OUT_CAP_DV_TIMINGS,	"V4L2_OUT_CAP_DV_TIMINGS" },
1673 	{ V4L2_OUT_CAP_CUSTOM_TIMINGS,	"V4L2_OUT_CAP_CUSTOM_TIMINGS" },
1674 	{ V4L2_OUT_CAP_STD,	"V4L2_OUT_CAP_STD" },
1675 	{ V4L2_OUT_CAP_NATIVE_SIZE,	"V4L2_OUT_CAP_NATIVE_SIZE" },
1676 	{ 0, "" }
1677 };
1678 
1679 constexpr val_def v4l2_ctrl_type_val_def[] = {
1680 	{ V4L2_CTRL_TYPE_INTEGER,	"V4L2_CTRL_TYPE_INTEGER" },
1681 	{ V4L2_CTRL_TYPE_BOOLEAN,	"V4L2_CTRL_TYPE_BOOLEAN" },
1682 	{ V4L2_CTRL_TYPE_MENU,	"V4L2_CTRL_TYPE_MENU" },
1683 	{ V4L2_CTRL_TYPE_BUTTON,	"V4L2_CTRL_TYPE_BUTTON" },
1684 	{ V4L2_CTRL_TYPE_INTEGER64,	"V4L2_CTRL_TYPE_INTEGER64" },
1685 	{ V4L2_CTRL_TYPE_CTRL_CLASS,	"V4L2_CTRL_TYPE_CTRL_CLASS" },
1686 	{ V4L2_CTRL_TYPE_STRING,	"V4L2_CTRL_TYPE_STRING" },
1687 	{ V4L2_CTRL_TYPE_BITMASK,	"V4L2_CTRL_TYPE_BITMASK" },
1688 	{ V4L2_CTRL_TYPE_INTEGER_MENU,	"V4L2_CTRL_TYPE_INTEGER_MENU" },
1689 	{ V4L2_CTRL_COMPOUND_TYPES,	"V4L2_CTRL_COMPOUND_TYPES" },
1690 	{ V4L2_CTRL_TYPE_U8,	"V4L2_CTRL_TYPE_U8" },
1691 	{ V4L2_CTRL_TYPE_U16,	"V4L2_CTRL_TYPE_U16" },
1692 	{ V4L2_CTRL_TYPE_U32,	"V4L2_CTRL_TYPE_U32" },
1693 	{ V4L2_CTRL_TYPE_AREA,	"V4L2_CTRL_TYPE_AREA" },
1694 	{ V4L2_CTRL_TYPE_HDR10_CLL_INFO,	"V4L2_CTRL_TYPE_HDR10_CLL_INFO" },
1695 	{ V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY,	"V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY" },
1696 	{ V4L2_CTRL_TYPE_H264_SPS,	"V4L2_CTRL_TYPE_H264_SPS" },
1697 	{ V4L2_CTRL_TYPE_H264_PPS,	"V4L2_CTRL_TYPE_H264_PPS" },
1698 	{ V4L2_CTRL_TYPE_H264_SCALING_MATRIX,	"V4L2_CTRL_TYPE_H264_SCALING_MATRIX" },
1699 	{ V4L2_CTRL_TYPE_H264_SLICE_PARAMS,	"V4L2_CTRL_TYPE_H264_SLICE_PARAMS" },
1700 	{ V4L2_CTRL_TYPE_H264_DECODE_PARAMS,	"V4L2_CTRL_TYPE_H264_DECODE_PARAMS" },
1701 	{ V4L2_CTRL_TYPE_H264_PRED_WEIGHTS,	"V4L2_CTRL_TYPE_H264_PRED_WEIGHTS" },
1702 	{ V4L2_CTRL_TYPE_FWHT_PARAMS,	"V4L2_CTRL_TYPE_FWHT_PARAMS" },
1703 	{ V4L2_CTRL_TYPE_VP8_FRAME,	"V4L2_CTRL_TYPE_VP8_FRAME" },
1704 	{ V4L2_CTRL_TYPE_MPEG2_QUANTISATION,	"V4L2_CTRL_TYPE_MPEG2_QUANTISATION" },
1705 	{ V4L2_CTRL_TYPE_MPEG2_SEQUENCE,	"V4L2_CTRL_TYPE_MPEG2_SEQUENCE" },
1706 	{ V4L2_CTRL_TYPE_MPEG2_PICTURE,	"V4L2_CTRL_TYPE_MPEG2_PICTURE" },
1707 	{ V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR,	"V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR" },
1708 	{ V4L2_CTRL_TYPE_VP9_FRAME,	"V4L2_CTRL_TYPE_VP9_FRAME" },
1709 	{ V4L2_CTRL_TYPE_HEVC_SPS,	"V4L2_CTRL_TYPE_HEVC_SPS" },
1710 	{ V4L2_CTRL_TYPE_HEVC_PPS,	"V4L2_CTRL_TYPE_HEVC_PPS" },
1711 	{ V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS,	"V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS" },
1712 	{ V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX,	"V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX" },
1713 	{ V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS,	"V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS" },
1714 	{ V4L2_CTRL_TYPE_AV1_SEQUENCE,	"V4L2_CTRL_TYPE_AV1_SEQUENCE" },
1715 	{ V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY,	"V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY" },
1716 	{ V4L2_CTRL_TYPE_AV1_FRAME,	"V4L2_CTRL_TYPE_AV1_FRAME" },
1717 	{ V4L2_CTRL_TYPE_AV1_FILM_GRAIN,	"V4L2_CTRL_TYPE_AV1_FILM_GRAIN" },
1718 	{ -1, "" }
1719 };
1720 
1721 constexpr flag_def v4l2_ctrl_flag_def[] = {
1722 	{ V4L2_CTRL_FLAG_DISABLED, "V4L2_CTRL_FLAG_DISABLED" },
1723 	{ V4L2_CTRL_FLAG_GRABBED, "V4L2_CTRL_FLAG_GRABBED" },
1724 	{ V4L2_CTRL_FLAG_READ_ONLY, "V4L2_CTRL_FLAG_READ_ONLY" },
1725 	{ V4L2_CTRL_FLAG_UPDATE, "V4L2_CTRL_FLAG_UPDATE" },
1726 	{ V4L2_CTRL_FLAG_INACTIVE, "V4L2_CTRL_FLAG_INACTIVE" },
1727 	{ V4L2_CTRL_FLAG_SLIDER, "V4L2_CTRL_FLAG_SLIDER" },
1728 	{ V4L2_CTRL_FLAG_WRITE_ONLY, "V4L2_CTRL_FLAG_WRITE_ONLY" },
1729 	{ V4L2_CTRL_FLAG_VOLATILE, "V4L2_CTRL_FLAG_VOLATILE" },
1730 	{ V4L2_CTRL_FLAG_HAS_PAYLOAD, "V4L2_CTRL_FLAG_HAS_PAYLOAD" },
1731 	{ V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, "V4L2_CTRL_FLAG_EXECUTE_ON_WRITE" },
1732 	{ V4L2_CTRL_FLAG_MODIFY_LAYOUT, "V4L2_CTRL_FLAG_MODIFY_LAYOUT" },
1733 	{ V4L2_CTRL_FLAG_DYNAMIC_ARRAY, "V4L2_CTRL_FLAG_DYNAMIC_ARRAY" },
1734 	{ V4L2_CTRL_FLAG_NEXT_CTRL, "V4L2_CTRL_FLAG_NEXT_CTRL" },
1735 	{ V4L2_CTRL_FLAG_NEXT_COMPOUND, "V4L2_CTRL_FLAG_NEXT_COMPOUND" },
1736 	{ 0, "" }
1737 };
1738 
1739 constexpr flag_def tuner_cap_flag_def[] = {
1740 	{ V4L2_TUNER_CAP_LOW,	"V4L2_TUNER_CAP_LOW" },
1741 	{ V4L2_TUNER_CAP_NORM,	"V4L2_TUNER_CAP_NORM" },
1742 	{ V4L2_TUNER_CAP_HWSEEK_BOUNDED,	"V4L2_TUNER_CAP_HWSEEK_BOUNDED" },
1743 	{ V4L2_TUNER_CAP_HWSEEK_WRAP,	"V4L2_TUNER_CAP_HWSEEK_WRAP" },
1744 	{ V4L2_TUNER_CAP_STEREO,	"V4L2_TUNER_CAP_STEREO" },
1745 	{ V4L2_TUNER_CAP_LANG2,	"V4L2_TUNER_CAP_LANG2" },
1746 	{ V4L2_TUNER_CAP_SAP,	"V4L2_TUNER_CAP_SAP" },
1747 	{ V4L2_TUNER_CAP_LANG1,	"V4L2_TUNER_CAP_LANG1" },
1748 	{ V4L2_TUNER_CAP_RDS,	"V4L2_TUNER_CAP_RDS" },
1749 	{ V4L2_TUNER_CAP_RDS_BLOCK_IO,	"V4L2_TUNER_CAP_RDS_BLOCK_IO" },
1750 	{ V4L2_TUNER_CAP_RDS_CONTROLS,	"V4L2_TUNER_CAP_RDS_CONTROLS" },
1751 	{ V4L2_TUNER_CAP_FREQ_BANDS,	"V4L2_TUNER_CAP_FREQ_BANDS" },
1752 	{ V4L2_TUNER_CAP_HWSEEK_PROG_LIM,	"V4L2_TUNER_CAP_HWSEEK_PROG_LIM" },
1753 	{ V4L2_TUNER_CAP_1HZ,	"V4L2_TUNER_CAP_1HZ" },
1754 	{ 0, "" }
1755 };
1756 
1757 constexpr flag_def tuner_rxsub_flag_def[] = {
1758 	{ V4L2_TUNER_SUB_MONO,	"V4L2_TUNER_SUB_MONO" },
1759 	{ V4L2_TUNER_SUB_STEREO,	"V4L2_TUNER_SUB_STEREO" },
1760 	{ V4L2_TUNER_SUB_LANG2,	"V4L2_TUNER_SUB_LANG2" },
1761 	{ V4L2_TUNER_SUB_SAP,	"V4L2_TUNER_SUB_SAP" },
1762 	{ V4L2_TUNER_SUB_LANG1,	"V4L2_TUNER_SUB_LANG1" },
1763 	{ V4L2_TUNER_SUB_RDS,	"V4L2_TUNER_SUB_RDS" },
1764 	{ 0, "" }
1765 };
1766 
1767 constexpr val_def tuner_audmode_val_def[] = {
1768 	{ V4L2_TUNER_MODE_MONO,	"V4L2_TUNER_MODE_MONO" },
1769 	{ V4L2_TUNER_MODE_STEREO,	"V4L2_TUNER_MODE_STEREO" },
1770 	{ V4L2_TUNER_MODE_LANG2,	"V4L2_TUNER_MODE_LANG2" },
1771 	{ V4L2_TUNER_MODE_SAP,	"V4L2_TUNER_MODE_SAP" },
1772 	{ V4L2_TUNER_MODE_LANG1,	"V4L2_TUNER_MODE_LANG1" },
1773 	{ V4L2_TUNER_MODE_LANG1_LANG2,	"V4L2_TUNER_MODE_LANG1_LANG2" },
1774 	{ -1, "" }
1775 };
1776 
1777 constexpr val_def encoder_cmd_val_def[] = {
1778 	{ V4L2_ENC_CMD_START,	"V4L2_ENC_CMD_START" },
1779 	{ V4L2_ENC_CMD_STOP,	"V4L2_ENC_CMD_STOP" },
1780 	{ V4L2_ENC_CMD_PAUSE,	"V4L2_ENC_CMD_PAUSE" },
1781 	{ V4L2_ENC_CMD_RESUME,	"V4L2_ENC_CMD_RESUME" },
1782 	{ -1, "" }
1783 };
1784 
1785 constexpr val_def decoder_cmd_val_def[] = {
1786 	{ V4L2_DEC_CMD_START,	"V4L2_DEC_CMD_START" },
1787 	{ V4L2_DEC_CMD_STOP,	"V4L2_DEC_CMD_STOP" },
1788 	{ V4L2_DEC_CMD_PAUSE,	"V4L2_DEC_CMD_PAUSE" },
1789 	{ V4L2_DEC_CMD_RESUME,	"V4L2_DEC_CMD_RESUME" },
1790 	{ V4L2_DEC_CMD_FLUSH,	"V4L2_DEC_CMD_FLUSH" },
1791 	{ -1, "" }
1792 };
1793 
1794 constexpr flag_def v4l2_decoder_cmd_start_flag_def[] = {
1795 	{ V4L2_DEC_CMD_START_MUTE_AUDIO,	"V4L2_DEC_CMD_START_MUTE_AUDIO" },
1796 	{ 0, "" }
1797 };
1798 
1799 constexpr flag_def v4l2_decoder_cmd_pause_flag_def[] = {
1800 	{ V4L2_DEC_CMD_PAUSE_TO_BLACK,	"V4L2_DEC_CMD_PAUSE_TO_BLACK" },
1801 	{ 0, "" }
1802 };
1803 
1804 constexpr flag_def v4l2_decoder_cmd_stop_flag_def[] = {
1805 	{ V4L2_DEC_CMD_STOP_TO_BLACK,	"V4L2_DEC_CMD_STOP_TO_BLACK" },
1806 	{ V4L2_DEC_CMD_STOP_IMMEDIATELY,	"V4L2_DEC_CMD_STOP_IMMEDIATELY" },
1807 	{ 0, "" }
1808 };
1809 
1810 constexpr val_def event_val_def[] = {
1811 	{ V4L2_EVENT_ALL,	"V4L2_EVENT_ALL" },
1812 	{ V4L2_EVENT_VSYNC,	"V4L2_EVENT_VSYNC" },
1813 	{ V4L2_EVENT_EOS,	"V4L2_EVENT_EOS" },
1814 	{ V4L2_EVENT_CTRL,	"V4L2_EVENT_CTRL" },
1815 	{ V4L2_EVENT_FRAME_SYNC,	"V4L2_EVENT_FRAME_SYNC" },
1816 	{ V4L2_EVENT_SOURCE_CHANGE,	"V4L2_EVENT_SOURCE_CHANGE" },
1817 	{ V4L2_EVENT_MOTION_DET,	"V4L2_EVENT_MOTION_DET" },
1818 	{ V4L2_EVENT_PRIVATE_START,	"V4L2_EVENT_PRIVATE_START" },
1819 	{ -1, "" }
1820 };
1821 
1822 constexpr flag_def v4l2_event_ctrl_ch_flag_def[] = {
1823 	{ V4L2_EVENT_CTRL_CH_VALUE,	"V4L2_EVENT_CTRL_CH_VALUE" },
1824 	{ V4L2_EVENT_CTRL_CH_FLAGS,	"V4L2_EVENT_CTRL_CH_FLAGS" },
1825 	{ V4L2_EVENT_CTRL_CH_RANGE,	"V4L2_EVENT_CTRL_CH_RANGE" },
1826 	{ V4L2_EVENT_CTRL_CH_DIMENSIONS,	"V4L2_EVENT_CTRL_CH_DIMENSIONS" },
1827 	{ 0, "" }
1828 };
1829 
1830 constexpr flag_def v4l2_event_md_flag_def[] = {
1831 	{ V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ, "V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ" },
1832 	{ 0, "" }
1833 };
1834 
1835 constexpr flag_def v4l2_event_sub_flag_def[] = {
1836 	{ V4L2_EVENT_SUB_FL_SEND_INITIAL, "V4L2_EVENT_SUB_FL_SEND_INITIAL" },
1837 	{ V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK, "V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK" },
1838 	{ 0, "" }
1839 };
1840 
1841 constexpr flag_def v4l2_chip_flag_def[] = {
1842 	{ V4L2_CHIP_FL_READABLE, "V4L2_CHIP_FL_READABLE" },
1843 	{ V4L2_CHIP_FL_WRITABLE, "V4L2_CHIP_FL_WRITABLE" },
1844 	{ 0, "" }
1845 };
1846 
1847 constexpr flag_def media_ent_flag_def[] = {
1848 	{ MEDIA_ENT_FL_DEFAULT, "MEDIA_ENT_FL_DEFAULT" },
1849 	{ MEDIA_ENT_FL_CONNECTOR, "MEDIA_ENT_FL_CONNECTOR" },
1850 	{ 0, "" }
1851 };
1852 
1853 constexpr flag_def media_pad_flag_def[] = {
1854 	{ MEDIA_PAD_FL_SINK, "MEDIA_PAD_FL_SINK" },
1855 	{ MEDIA_PAD_FL_SOURCE, "MEDIA_PAD_FL_SOURCE" },
1856 	{ MEDIA_PAD_FL_MUST_CONNECT, "MEDIA_PAD_FL_MUST_CONNECT" },
1857 	{ 0, "" }
1858 };
1859 
1860 constexpr flag_def media_lnk_flag_def[] = {
1861 	{ MEDIA_LNK_FL_ENABLED, "MEDIA_LNK_FL_ENABLED" },
1862 	{ MEDIA_LNK_FL_IMMUTABLE, "MEDIA_LNK_FL_IMMUTABLE" },
1863 	{ MEDIA_LNK_FL_DYNAMIC, "MEDIA_LNK_FL_DYNAMIC" },
1864 	{ 0, "" }
1865 };
1866 
1867 constexpr val_def selection_target_val_def[] = {
1868 	{ V4L2_SEL_TGT_CROP,	"V4L2_SEL_TGT_CROP" },
1869 	{ V4L2_SEL_TGT_CROP_DEFAULT,	"V4L2_SEL_TGT_CROP_DEFAULT" },
1870 	{ V4L2_SEL_TGT_CROP_BOUNDS,	"V4L2_SEL_TGT_CROP_BOUNDS" },
1871 	{ V4L2_SEL_TGT_NATIVE_SIZE,	"V4L2_SEL_TGT_NATIVE_SIZE" },
1872 	{ V4L2_SEL_TGT_COMPOSE,	"V4L2_SEL_TGT_COMPOSE" },
1873 	{ V4L2_SEL_TGT_COMPOSE_DEFAULT,	"V4L2_SEL_TGT_COMPOSE_DEFAULT" },
1874 	{ V4L2_SEL_TGT_COMPOSE_BOUNDS,	"V4L2_SEL_TGT_COMPOSE_BOUNDS" },
1875 	{ V4L2_SEL_TGT_COMPOSE_PADDED,	"V4L2_SEL_TGT_COMPOSE_PADDED" },
1876 	{ -1, "" }
1877 };
1878 
1879 constexpr flag_def v4l2_sel_flag_def[] = {
1880 	{ V4L2_SEL_FLAG_GE, "V4L2_SEL_FLAG_GE" },
1881 	{ V4L2_SEL_FLAG_LE, "V4L2_SEL_FLAG_LE" },
1882 	{ V4L2_SEL_FLAG_KEEP_CONFIG, "V4L2_SEL_FLAG_KEEP_CONFIG" },
1883 	{ 0, "" }
1884 };
1885 
1886 constexpr flag_def v4l2_subdev_sel_flag_def[] = {
1887 	{ V4L2_SUBDEV_SEL_FLAG_SIZE_GE, "V4L2_SUBDEV_SEL_FLAG_SIZE_GE" },
1888 	{ V4L2_SUBDEV_SEL_FLAG_SIZE_LE, "V4L2_SUBDEV_SEL_FLAG_SIZE_LE" },
1889 	{ V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG, "V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG" },
1890 	{ 0, "" }
1891 };
1892 
1893 constexpr val_def control_val_def[] = {
1894 	{ V4L2_CID_USER_CLASS,	"V4L2_CID_USER_CLASS" },
1895 	{ V4L2_CID_BRIGHTNESS,	"V4L2_CID_BRIGHTNESS" },
1896 	{ V4L2_CID_CONTRAST,	"V4L2_CID_CONTRAST" },
1897 	{ V4L2_CID_SATURATION,	"V4L2_CID_SATURATION" },
1898 	{ V4L2_CID_HUE,	"V4L2_CID_HUE" },
1899 	{ V4L2_CID_AUDIO_VOLUME,	"V4L2_CID_AUDIO_VOLUME" },
1900 	{ V4L2_CID_AUDIO_BALANCE,	"V4L2_CID_AUDIO_BALANCE" },
1901 	{ V4L2_CID_AUDIO_BASS,	"V4L2_CID_AUDIO_BASS" },
1902 	{ V4L2_CID_AUDIO_TREBLE,	"V4L2_CID_AUDIO_TREBLE" },
1903 	{ V4L2_CID_AUDIO_MUTE,	"V4L2_CID_AUDIO_MUTE" },
1904 	{ V4L2_CID_AUDIO_LOUDNESS,	"V4L2_CID_AUDIO_LOUDNESS" },
1905 	{ V4L2_CID_BLACK_LEVEL,	"V4L2_CID_BLACK_LEVEL" },
1906 	{ V4L2_CID_AUTO_WHITE_BALANCE,	"V4L2_CID_AUTO_WHITE_BALANCE" },
1907 	{ V4L2_CID_DO_WHITE_BALANCE,	"V4L2_CID_DO_WHITE_BALANCE" },
1908 	{ V4L2_CID_RED_BALANCE,	"V4L2_CID_RED_BALANCE" },
1909 	{ V4L2_CID_BLUE_BALANCE,	"V4L2_CID_BLUE_BALANCE" },
1910 	{ V4L2_CID_GAMMA,	"V4L2_CID_GAMMA" },
1911 	{ V4L2_CID_WHITENESS,	"V4L2_CID_WHITENESS" },
1912 	{ V4L2_CID_EXPOSURE,	"V4L2_CID_EXPOSURE" },
1913 	{ V4L2_CID_AUTOGAIN,	"V4L2_CID_AUTOGAIN" },
1914 	{ V4L2_CID_GAIN,	"V4L2_CID_GAIN" },
1915 	{ V4L2_CID_HFLIP,	"V4L2_CID_HFLIP" },
1916 	{ V4L2_CID_VFLIP,	"V4L2_CID_VFLIP" },
1917 	{ V4L2_CID_POWER_LINE_FREQUENCY,	"V4L2_CID_POWER_LINE_FREQUENCY" },
1918 	{ V4L2_CID_HUE_AUTO,	"V4L2_CID_HUE_AUTO" },
1919 	{ V4L2_CID_WHITE_BALANCE_TEMPERATURE,	"V4L2_CID_WHITE_BALANCE_TEMPERATURE" },
1920 	{ V4L2_CID_SHARPNESS,	"V4L2_CID_SHARPNESS" },
1921 	{ V4L2_CID_BACKLIGHT_COMPENSATION,	"V4L2_CID_BACKLIGHT_COMPENSATION" },
1922 	{ V4L2_CID_CHROMA_AGC,	"V4L2_CID_CHROMA_AGC" },
1923 	{ V4L2_CID_COLOR_KILLER,	"V4L2_CID_COLOR_KILLER" },
1924 	{ V4L2_CID_COLORFX,	"V4L2_CID_COLORFX" },
1925 	{ V4L2_CID_AUTOBRIGHTNESS,	"V4L2_CID_AUTOBRIGHTNESS" },
1926 	{ V4L2_CID_BAND_STOP_FILTER,	"V4L2_CID_BAND_STOP_FILTER" },
1927 	{ V4L2_CID_ROTATE,	"V4L2_CID_ROTATE" },
1928 	{ V4L2_CID_BG_COLOR,	"V4L2_CID_BG_COLOR" },
1929 	{ V4L2_CID_CHROMA_GAIN,	"V4L2_CID_CHROMA_GAIN" },
1930 	{ V4L2_CID_ILLUMINATORS_1,	"V4L2_CID_ILLUMINATORS_1" },
1931 	{ V4L2_CID_ILLUMINATORS_2,	"V4L2_CID_ILLUMINATORS_2" },
1932 	{ V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,	"V4L2_CID_MIN_BUFFERS_FOR_CAPTURE" },
1933 	{ V4L2_CID_MIN_BUFFERS_FOR_OUTPUT,	"V4L2_CID_MIN_BUFFERS_FOR_OUTPUT" },
1934 	{ V4L2_CID_ALPHA_COMPONENT,	"V4L2_CID_ALPHA_COMPONENT" },
1935 	{ V4L2_CID_COLORFX_CBCR,	"V4L2_CID_COLORFX_CBCR" },
1936 	{ V4L2_CID_COLORFX_RGB,	"V4L2_CID_COLORFX_RGB" },
1937 	{ V4L2_CID_LASTP1,	"V4L2_CID_LASTP1" },
1938 	{ V4L2_CID_CODEC_CLASS,	"V4L2_CID_CODEC_CLASS" },
1939 	{ V4L2_CID_MPEG_STREAM_TYPE,	"V4L2_CID_MPEG_STREAM_TYPE" },
1940 	{ V4L2_CID_MPEG_STREAM_PID_PMT,	"V4L2_CID_MPEG_STREAM_PID_PMT" },
1941 	{ V4L2_CID_MPEG_STREAM_PID_AUDIO,	"V4L2_CID_MPEG_STREAM_PID_AUDIO" },
1942 	{ V4L2_CID_MPEG_STREAM_PID_VIDEO,	"V4L2_CID_MPEG_STREAM_PID_VIDEO" },
1943 	{ V4L2_CID_MPEG_STREAM_PID_PCR,	"V4L2_CID_MPEG_STREAM_PID_PCR" },
1944 	{ V4L2_CID_MPEG_STREAM_PES_ID_AUDIO,	"V4L2_CID_MPEG_STREAM_PES_ID_AUDIO" },
1945 	{ V4L2_CID_MPEG_STREAM_PES_ID_VIDEO,	"V4L2_CID_MPEG_STREAM_PES_ID_VIDEO" },
1946 	{ V4L2_CID_MPEG_STREAM_VBI_FMT,	"V4L2_CID_MPEG_STREAM_VBI_FMT" },
1947 	{ V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,	"V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ" },
1948 	{ V4L2_CID_MPEG_AUDIO_ENCODING,	"V4L2_CID_MPEG_AUDIO_ENCODING" },
1949 	{ V4L2_CID_MPEG_AUDIO_L1_BITRATE,	"V4L2_CID_MPEG_AUDIO_L1_BITRATE" },
1950 	{ V4L2_CID_MPEG_AUDIO_L2_BITRATE,	"V4L2_CID_MPEG_AUDIO_L2_BITRATE" },
1951 	{ V4L2_CID_MPEG_AUDIO_L3_BITRATE,	"V4L2_CID_MPEG_AUDIO_L3_BITRATE" },
1952 	{ V4L2_CID_MPEG_AUDIO_MODE,	"V4L2_CID_MPEG_AUDIO_MODE" },
1953 	{ V4L2_CID_MPEG_AUDIO_MODE_EXTENSION,	"V4L2_CID_MPEG_AUDIO_MODE_EXTENSION" },
1954 	{ V4L2_CID_MPEG_AUDIO_EMPHASIS,	"V4L2_CID_MPEG_AUDIO_EMPHASIS" },
1955 	{ V4L2_CID_MPEG_AUDIO_CRC,	"V4L2_CID_MPEG_AUDIO_CRC" },
1956 	{ V4L2_CID_MPEG_AUDIO_MUTE,	"V4L2_CID_MPEG_AUDIO_MUTE" },
1957 	{ V4L2_CID_MPEG_AUDIO_AAC_BITRATE,	"V4L2_CID_MPEG_AUDIO_AAC_BITRATE" },
1958 	{ V4L2_CID_MPEG_AUDIO_AC3_BITRATE,	"V4L2_CID_MPEG_AUDIO_AC3_BITRATE" },
1959 	{ V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK,	"V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK" },
1960 	{ V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK,	"V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK" },
1961 	{ V4L2_CID_MPEG_VIDEO_ENCODING,	"V4L2_CID_MPEG_VIDEO_ENCODING" },
1962 	{ V4L2_CID_MPEG_VIDEO_ASPECT,	"V4L2_CID_MPEG_VIDEO_ASPECT" },
1963 	{ V4L2_CID_MPEG_VIDEO_B_FRAMES,	"V4L2_CID_MPEG_VIDEO_B_FRAMES" },
1964 	{ V4L2_CID_MPEG_VIDEO_GOP_SIZE,	"V4L2_CID_MPEG_VIDEO_GOP_SIZE" },
1965 	{ V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,	"V4L2_CID_MPEG_VIDEO_GOP_CLOSURE" },
1966 	{ V4L2_CID_MPEG_VIDEO_PULLDOWN,	"V4L2_CID_MPEG_VIDEO_PULLDOWN" },
1967 	{ V4L2_CID_MPEG_VIDEO_BITRATE_MODE,	"V4L2_CID_MPEG_VIDEO_BITRATE_MODE" },
1968 	{ V4L2_CID_MPEG_VIDEO_BITRATE,	"V4L2_CID_MPEG_VIDEO_BITRATE" },
1969 	{ V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,	"V4L2_CID_MPEG_VIDEO_BITRATE_PEAK" },
1970 	{ V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION,	"V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION" },
1971 	{ V4L2_CID_MPEG_VIDEO_MUTE,	"V4L2_CID_MPEG_VIDEO_MUTE" },
1972 	{ V4L2_CID_MPEG_VIDEO_MUTE_YUV,	"V4L2_CID_MPEG_VIDEO_MUTE_YUV" },
1973 	{ V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE,	"V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE" },
1974 	{ V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER,	"V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER" },
1975 	{ V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB,	"V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB" },
1976 	{ V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE,	"V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE" },
1977 	{ V4L2_CID_MPEG_VIDEO_HEADER_MODE,	"V4L2_CID_MPEG_VIDEO_HEADER_MODE" },
1978 	{ V4L2_CID_MPEG_VIDEO_MAX_REF_PIC,	"V4L2_CID_MPEG_VIDEO_MAX_REF_PIC" },
1979 	{ V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,	"V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE" },
1980 	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES" },
1981 	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB" },
1982 	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE" },
1983 	{ V4L2_CID_MPEG_VIDEO_VBV_SIZE,	"V4L2_CID_MPEG_VIDEO_VBV_SIZE" },
1984 	{ V4L2_CID_MPEG_VIDEO_DEC_PTS,	"V4L2_CID_MPEG_VIDEO_DEC_PTS" },
1985 	{ V4L2_CID_MPEG_VIDEO_DEC_FRAME,	"V4L2_CID_MPEG_VIDEO_DEC_FRAME" },
1986 	{ V4L2_CID_MPEG_VIDEO_VBV_DELAY,	"V4L2_CID_MPEG_VIDEO_VBV_DELAY" },
1987 	{ V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER,	"V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER" },
1988 	{ V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE,	"V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE" },
1989 	{ V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE,	"V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE" },
1990 	{ V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,	"V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME" },
1991 	{ V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID,	"V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID" },
1992 	{ V4L2_CID_MPEG_VIDEO_AU_DELIMITER,	"V4L2_CID_MPEG_VIDEO_AU_DELIMITER" },
1993 	{ V4L2_CID_MPEG_VIDEO_LTR_COUNT,	"V4L2_CID_MPEG_VIDEO_LTR_COUNT" },
1994 	{ V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,	"V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX" },
1995 	{ V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES,	"V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES" },
1996 	{ V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR,	"V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR" },
1997 	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD" },
1998 	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE" },
1999 	{ V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL,	"V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL" },
2000 	{ V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE,	"V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE" },
2001 	{ V4L2_CID_FWHT_I_FRAME_QP,	"V4L2_CID_FWHT_I_FRAME_QP" },
2002 	{ V4L2_CID_FWHT_P_FRAME_QP,	"V4L2_CID_FWHT_P_FRAME_QP" },
2003 	{ V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP" },
2004 	{ V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP" },
2005 	{ V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP" },
2006 	{ V4L2_CID_MPEG_VIDEO_H263_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H263_MIN_QP" },
2007 	{ V4L2_CID_MPEG_VIDEO_H263_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H263_MAX_QP" },
2008 	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP" },
2009 	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP" },
2010 	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP" },
2011 	{ V4L2_CID_MPEG_VIDEO_H264_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_MIN_QP" },
2012 	{ V4L2_CID_MPEG_VIDEO_H264_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_MAX_QP" },
2013 	{ V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM,	"V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM" },
2014 	{ V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE,	"V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE" },
2015 	{ V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,	"V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE" },
2016 	{ V4L2_CID_MPEG_VIDEO_H264_I_PERIOD,	"V4L2_CID_MPEG_VIDEO_H264_I_PERIOD" },
2017 	{ V4L2_CID_MPEG_VIDEO_H264_LEVEL,	"V4L2_CID_MPEG_VIDEO_H264_LEVEL" },
2018 	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA" },
2019 	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA" },
2020 	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE" },
2021 	{ V4L2_CID_MPEG_VIDEO_H264_PROFILE,	"V4L2_CID_MPEG_VIDEO_H264_PROFILE" },
2022 	{ V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT,	"V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT" },
2023 	{ V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH,	"V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH" },
2024 	{ V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE,	"V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE" },
2025 	{ V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC,	"V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC" },
2026 	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING" },
2027 	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0" },
2028 	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE" },
2029 	{ V4L2_CID_MPEG_VIDEO_H264_FMO,	"V4L2_CID_MPEG_VIDEO_H264_FMO" },
2030 	{ V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE" },
2031 	{ V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP,	"V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP" },
2032 	{ V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION,	"V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION" },
2033 	{ V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE,	"V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE" },
2034 	{ V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH,	"V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH" },
2035 	{ V4L2_CID_MPEG_VIDEO_H264_ASO,	"V4L2_CID_MPEG_VIDEO_H264_ASO" },
2036 	{ V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER,	"V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER" },
2037 	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING" },
2038 	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE" },
2039 	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER" },
2040 	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP" },
2041 	{ V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION,	"V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION" },
2042 	{ V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET,	"V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET" },
2043 	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP" },
2044 	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP" },
2045 	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP" },
2046 	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP" },
2047 	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP" },
2048 	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP" },
2049 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR" },
2050 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR" },
2051 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR" },
2052 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR" },
2053 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR" },
2054 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR" },
2055 	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR" },
2056 	{ V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP" },
2057 	{ V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP" },
2058 	{ V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP" },
2059 	{ V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP" },
2060 	{ V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP" },
2061 	{ V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL,	"V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL" },
2062 	{ V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE,	"V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE" },
2063 	{ V4L2_CID_MPEG_VIDEO_MPEG4_QPEL,	"V4L2_CID_MPEG_VIDEO_MPEG4_QPEL" },
2064 	{ V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS" },
2065 	{ V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4,	"V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4" },
2066 	{ V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES,	"V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES" },
2067 	{ V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL,	"V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL" },
2068 	{ V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS,	"V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS" },
2069 	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD" },
2070 	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL" },
2071 	{ V4L2_CID_MPEG_VIDEO_VPX_MIN_QP,	"V4L2_CID_MPEG_VIDEO_VPX_MIN_QP" },
2072 	{ V4L2_CID_MPEG_VIDEO_VPX_MAX_QP,	"V4L2_CID_MPEG_VIDEO_VPX_MAX_QP" },
2073 	{ V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP" },
2074 	{ V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP" },
2075 	{ V4L2_CID_MPEG_VIDEO_VP8_PROFILE,	"V4L2_CID_MPEG_VIDEO_VP8_PROFILE" },
2076 	{ V4L2_CID_MPEG_VIDEO_VPX_PROFILE,	"V4L2_CID_MPEG_VIDEO_VPX_PROFILE" },
2077 	{ V4L2_CID_MPEG_VIDEO_VP9_PROFILE,	"V4L2_CID_MPEG_VIDEO_VP9_PROFILE" },
2078 	{ V4L2_CID_MPEG_VIDEO_VP9_LEVEL,	"V4L2_CID_MPEG_VIDEO_VP9_LEVEL" },
2079 	{ V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP" },
2080 	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP" },
2081 	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP" },
2082 	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP" },
2083 	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP" },
2084 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP" },
2085 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE" },
2086 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER" },
2087 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP" },
2088 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP" },
2089 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP" },
2090 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP" },
2091 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP" },
2092 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP" },
2093 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP" },
2094 	{ V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,	"V4L2_CID_MPEG_VIDEO_HEVC_PROFILE" },
2095 	{ V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,	"V4L2_CID_MPEG_VIDEO_HEVC_LEVEL" },
2096 	{ V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION,	"V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION" },
2097 	{ V4L2_CID_MPEG_VIDEO_HEVC_TIER,	"V4L2_CID_MPEG_VIDEO_HEVC_TIER" },
2098 	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH" },
2099 	{ V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE,	"V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE" },
2100 	{ V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2,	"V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2" },
2101 	{ V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2,	"V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2" },
2102 	{ V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE,	"V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE" },
2103 	{ V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD,	"V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD" },
2104 	{ V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU,	"V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU" },
2105 	{ V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED,	"V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED" },
2106 	{ V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT,	"V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT" },
2107 	{ V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB,	"V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB" },
2108 	{ V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID,	"V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID" },
2109 	{ V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING,	"V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING" },
2110 	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1" },
2111 	{ V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT,	"V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT" },
2112 	{ V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION,	"V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION" },
2113 	{ V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,	"V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE" },
2114 	{ V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD,	"V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD" },
2115 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR" },
2116 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR" },
2117 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR" },
2118 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR" },
2119 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR" },
2120 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR" },
2121 	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR" },
2122 	{ V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES,	"V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES" },
2123 	{ V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR,	"V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR" },
2124 	{ V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,	"V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY" },
2125 	{ V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE,	"V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE" },
2126 	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP" },
2127 	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP" },
2128 	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP" },
2129 	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP" },
2130 	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP" },
2131 	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP" },
2132 	{ V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY,	"V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY" },
2133 	{ V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE,	"V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE" },
2134 	{ V4L2_CID_MPEG_VIDEO_AV1_PROFILE,	"V4L2_CID_MPEG_VIDEO_AV1_PROFILE" },
2135 	{ V4L2_CID_MPEG_VIDEO_AV1_LEVEL,	"V4L2_CID_MPEG_VIDEO_AV1_LEVEL" },
2136 	{ V4L2_CID_MPEG_VIDEO_AVERAGE_QP,	"V4L2_CID_MPEG_VIDEO_AVERAGE_QP" },
2137 	{ V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE,	"V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE" },
2138 	{ V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER,	"V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER" },
2139 	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE" },
2140 	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE" },
2141 	{ V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE,	"V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE" },
2142 	{ V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER,	"V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER" },
2143 	{ V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE" },
2144 	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM" },
2145 	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP" },
2146 	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM" },
2147 	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP" },
2148 	{ V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS,	"V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS" },
2149 	{ V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY,	"V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY" },
2150 	{ V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE,	"V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE" },
2151 	{ V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE,	"V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE" },
2152 	{ V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE,	"V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE" },
2153 	{ V4L2_CID_MPEG_MFC51_VIDEO_PADDING,	"V4L2_CID_MPEG_MFC51_VIDEO_PADDING" },
2154 	{ V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV,	"V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV" },
2155 	{ V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT,	"V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT" },
2156 	{ V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF,	"V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF" },
2157 	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY" },
2158 	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK" },
2159 	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH" },
2160 	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC" },
2161 	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P" },
2162 	{ V4L2_CID_CAMERA_CLASS,	"V4L2_CID_CAMERA_CLASS" },
2163 	{ V4L2_CID_EXPOSURE_AUTO,	"V4L2_CID_EXPOSURE_AUTO" },
2164 	{ V4L2_CID_EXPOSURE_ABSOLUTE,	"V4L2_CID_EXPOSURE_ABSOLUTE" },
2165 	{ V4L2_CID_EXPOSURE_AUTO_PRIORITY,	"V4L2_CID_EXPOSURE_AUTO_PRIORITY" },
2166 	{ V4L2_CID_PAN_RELATIVE,	"V4L2_CID_PAN_RELATIVE" },
2167 	{ V4L2_CID_TILT_RELATIVE,	"V4L2_CID_TILT_RELATIVE" },
2168 	{ V4L2_CID_PAN_RESET,	"V4L2_CID_PAN_RESET" },
2169 	{ V4L2_CID_TILT_RESET,	"V4L2_CID_TILT_RESET" },
2170 	{ V4L2_CID_PAN_ABSOLUTE,	"V4L2_CID_PAN_ABSOLUTE" },
2171 	{ V4L2_CID_TILT_ABSOLUTE,	"V4L2_CID_TILT_ABSOLUTE" },
2172 	{ V4L2_CID_FOCUS_ABSOLUTE,	"V4L2_CID_FOCUS_ABSOLUTE" },
2173 	{ V4L2_CID_FOCUS_RELATIVE,	"V4L2_CID_FOCUS_RELATIVE" },
2174 	{ V4L2_CID_FOCUS_AUTO,	"V4L2_CID_FOCUS_AUTO" },
2175 	{ V4L2_CID_ZOOM_ABSOLUTE,	"V4L2_CID_ZOOM_ABSOLUTE" },
2176 	{ V4L2_CID_ZOOM_RELATIVE,	"V4L2_CID_ZOOM_RELATIVE" },
2177 	{ V4L2_CID_ZOOM_CONTINUOUS,	"V4L2_CID_ZOOM_CONTINUOUS" },
2178 	{ V4L2_CID_PRIVACY,	"V4L2_CID_PRIVACY" },
2179 	{ V4L2_CID_IRIS_ABSOLUTE,	"V4L2_CID_IRIS_ABSOLUTE" },
2180 	{ V4L2_CID_IRIS_RELATIVE,	"V4L2_CID_IRIS_RELATIVE" },
2181 	{ V4L2_CID_AUTO_EXPOSURE_BIAS,	"V4L2_CID_AUTO_EXPOSURE_BIAS" },
2182 	{ V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,	"V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE" },
2183 	{ V4L2_CID_WIDE_DYNAMIC_RANGE,	"V4L2_CID_WIDE_DYNAMIC_RANGE" },
2184 	{ V4L2_CID_IMAGE_STABILIZATION,	"V4L2_CID_IMAGE_STABILIZATION" },
2185 	{ V4L2_CID_ISO_SENSITIVITY,	"V4L2_CID_ISO_SENSITIVITY" },
2186 	{ V4L2_CID_ISO_SENSITIVITY_AUTO,	"V4L2_CID_ISO_SENSITIVITY_AUTO" },
2187 	{ V4L2_CID_EXPOSURE_METERING,	"V4L2_CID_EXPOSURE_METERING" },
2188 	{ V4L2_CID_SCENE_MODE,	"V4L2_CID_SCENE_MODE" },
2189 	{ V4L2_CID_3A_LOCK,	"V4L2_CID_3A_LOCK" },
2190 	{ V4L2_CID_AUTO_FOCUS_START,	"V4L2_CID_AUTO_FOCUS_START" },
2191 	{ V4L2_CID_AUTO_FOCUS_STOP,	"V4L2_CID_AUTO_FOCUS_STOP" },
2192 	{ V4L2_CID_AUTO_FOCUS_STATUS,	"V4L2_CID_AUTO_FOCUS_STATUS" },
2193 	{ V4L2_CID_AUTO_FOCUS_RANGE,	"V4L2_CID_AUTO_FOCUS_RANGE" },
2194 	{ V4L2_CID_PAN_SPEED,	"V4L2_CID_PAN_SPEED" },
2195 	{ V4L2_CID_TILT_SPEED,	"V4L2_CID_TILT_SPEED" },
2196 	{ V4L2_CID_CAMERA_ORIENTATION,	"V4L2_CID_CAMERA_ORIENTATION" },
2197 	{ V4L2_CID_CAMERA_SENSOR_ROTATION,	"V4L2_CID_CAMERA_SENSOR_ROTATION" },
2198 	{ V4L2_CID_HDR_SENSOR_MODE,	"V4L2_CID_HDR_SENSOR_MODE" },
2199 	{ V4L2_CID_FM_TX_CLASS,	"V4L2_CID_FM_TX_CLASS" },
2200 	{ V4L2_CID_RDS_TX_DEVIATION,	"V4L2_CID_RDS_TX_DEVIATION" },
2201 	{ V4L2_CID_RDS_TX_PI,	"V4L2_CID_RDS_TX_PI" },
2202 	{ V4L2_CID_RDS_TX_PTY,	"V4L2_CID_RDS_TX_PTY" },
2203 	{ V4L2_CID_RDS_TX_PS_NAME,	"V4L2_CID_RDS_TX_PS_NAME" },
2204 	{ V4L2_CID_RDS_TX_RADIO_TEXT,	"V4L2_CID_RDS_TX_RADIO_TEXT" },
2205 	{ V4L2_CID_RDS_TX_MONO_STEREO,	"V4L2_CID_RDS_TX_MONO_STEREO" },
2206 	{ V4L2_CID_RDS_TX_ARTIFICIAL_HEAD,	"V4L2_CID_RDS_TX_ARTIFICIAL_HEAD" },
2207 	{ V4L2_CID_RDS_TX_COMPRESSED,	"V4L2_CID_RDS_TX_COMPRESSED" },
2208 	{ V4L2_CID_RDS_TX_DYNAMIC_PTY,	"V4L2_CID_RDS_TX_DYNAMIC_PTY" },
2209 	{ V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT,	"V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT" },
2210 	{ V4L2_CID_RDS_TX_TRAFFIC_PROGRAM,	"V4L2_CID_RDS_TX_TRAFFIC_PROGRAM" },
2211 	{ V4L2_CID_RDS_TX_MUSIC_SPEECH,	"V4L2_CID_RDS_TX_MUSIC_SPEECH" },
2212 	{ V4L2_CID_RDS_TX_ALT_FREQS_ENABLE,	"V4L2_CID_RDS_TX_ALT_FREQS_ENABLE" },
2213 	{ V4L2_CID_RDS_TX_ALT_FREQS,	"V4L2_CID_RDS_TX_ALT_FREQS" },
2214 	{ V4L2_CID_AUDIO_LIMITER_ENABLED,	"V4L2_CID_AUDIO_LIMITER_ENABLED" },
2215 	{ V4L2_CID_AUDIO_LIMITER_RELEASE_TIME,	"V4L2_CID_AUDIO_LIMITER_RELEASE_TIME" },
2216 	{ V4L2_CID_AUDIO_LIMITER_DEVIATION,	"V4L2_CID_AUDIO_LIMITER_DEVIATION" },
2217 	{ V4L2_CID_AUDIO_COMPRESSION_ENABLED,	"V4L2_CID_AUDIO_COMPRESSION_ENABLED" },
2218 	{ V4L2_CID_AUDIO_COMPRESSION_GAIN,	"V4L2_CID_AUDIO_COMPRESSION_GAIN" },
2219 	{ V4L2_CID_AUDIO_COMPRESSION_THRESHOLD,	"V4L2_CID_AUDIO_COMPRESSION_THRESHOLD" },
2220 	{ V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME,	"V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME" },
2221 	{ V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME,	"V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME" },
2222 	{ V4L2_CID_PILOT_TONE_ENABLED,	"V4L2_CID_PILOT_TONE_ENABLED" },
2223 	{ V4L2_CID_PILOT_TONE_DEVIATION,	"V4L2_CID_PILOT_TONE_DEVIATION" },
2224 	{ V4L2_CID_PILOT_TONE_FREQUENCY,	"V4L2_CID_PILOT_TONE_FREQUENCY" },
2225 	{ V4L2_CID_TUNE_PREEMPHASIS,	"V4L2_CID_TUNE_PREEMPHASIS" },
2226 	{ V4L2_CID_TUNE_POWER_LEVEL,	"V4L2_CID_TUNE_POWER_LEVEL" },
2227 	{ V4L2_CID_TUNE_ANTENNA_CAPACITOR,	"V4L2_CID_TUNE_ANTENNA_CAPACITOR" },
2228 	{ V4L2_CID_FLASH_CLASS,	"V4L2_CID_FLASH_CLASS" },
2229 	{ V4L2_CID_FLASH_LED_MODE,	"V4L2_CID_FLASH_LED_MODE" },
2230 	{ V4L2_CID_FLASH_STROBE_SOURCE,	"V4L2_CID_FLASH_STROBE_SOURCE" },
2231 	{ V4L2_CID_FLASH_STROBE,	"V4L2_CID_FLASH_STROBE" },
2232 	{ V4L2_CID_FLASH_STROBE_STOP,	"V4L2_CID_FLASH_STROBE_STOP" },
2233 	{ V4L2_CID_FLASH_STROBE_STATUS,	"V4L2_CID_FLASH_STROBE_STATUS" },
2234 	{ V4L2_CID_FLASH_TIMEOUT,	"V4L2_CID_FLASH_TIMEOUT" },
2235 	{ V4L2_CID_FLASH_INTENSITY,	"V4L2_CID_FLASH_INTENSITY" },
2236 	{ V4L2_CID_FLASH_TORCH_INTENSITY,	"V4L2_CID_FLASH_TORCH_INTENSITY" },
2237 	{ V4L2_CID_FLASH_INDICATOR_INTENSITY,	"V4L2_CID_FLASH_INDICATOR_INTENSITY" },
2238 	{ V4L2_CID_FLASH_FAULT,	"V4L2_CID_FLASH_FAULT" },
2239 	{ V4L2_CID_FLASH_CHARGE,	"V4L2_CID_FLASH_CHARGE" },
2240 	{ V4L2_CID_FLASH_READY,	"V4L2_CID_FLASH_READY" },
2241 	{ V4L2_CID_JPEG_CLASS,	"V4L2_CID_JPEG_CLASS" },
2242 	{ V4L2_CID_JPEG_CHROMA_SUBSAMPLING,	"V4L2_CID_JPEG_CHROMA_SUBSAMPLING" },
2243 	{ V4L2_CID_JPEG_RESTART_INTERVAL,	"V4L2_CID_JPEG_RESTART_INTERVAL" },
2244 	{ V4L2_CID_JPEG_COMPRESSION_QUALITY,	"V4L2_CID_JPEG_COMPRESSION_QUALITY" },
2245 	{ V4L2_CID_JPEG_ACTIVE_MARKER,	"V4L2_CID_JPEG_ACTIVE_MARKER" },
2246 	{ V4L2_CID_IMAGE_SOURCE_CLASS,	"V4L2_CID_IMAGE_SOURCE_CLASS" },
2247 	{ V4L2_CID_VBLANK,	"V4L2_CID_VBLANK" },
2248 	{ V4L2_CID_HBLANK,	"V4L2_CID_HBLANK" },
2249 	{ V4L2_CID_ANALOGUE_GAIN,	"V4L2_CID_ANALOGUE_GAIN" },
2250 	{ V4L2_CID_TEST_PATTERN_RED,	"V4L2_CID_TEST_PATTERN_RED" },
2251 	{ V4L2_CID_TEST_PATTERN_GREENR,	"V4L2_CID_TEST_PATTERN_GREENR" },
2252 	{ V4L2_CID_TEST_PATTERN_BLUE,	"V4L2_CID_TEST_PATTERN_BLUE" },
2253 	{ V4L2_CID_TEST_PATTERN_GREENB,	"V4L2_CID_TEST_PATTERN_GREENB" },
2254 	{ V4L2_CID_UNIT_CELL_SIZE,	"V4L2_CID_UNIT_CELL_SIZE" },
2255 	{ V4L2_CID_NOTIFY_GAINS,	"V4L2_CID_NOTIFY_GAINS" },
2256 	{ V4L2_CID_IMAGE_PROC_CLASS,	"V4L2_CID_IMAGE_PROC_CLASS" },
2257 	{ V4L2_CID_LINK_FREQ,	"V4L2_CID_LINK_FREQ" },
2258 	{ V4L2_CID_PIXEL_RATE,	"V4L2_CID_PIXEL_RATE" },
2259 	{ V4L2_CID_TEST_PATTERN,	"V4L2_CID_TEST_PATTERN" },
2260 	{ V4L2_CID_DEINTERLACING_MODE,	"V4L2_CID_DEINTERLACING_MODE" },
2261 	{ V4L2_CID_DIGITAL_GAIN,	"V4L2_CID_DIGITAL_GAIN" },
2262 	{ V4L2_CID_DV_CLASS,	"V4L2_CID_DV_CLASS" },
2263 	{ V4L2_CID_DV_TX_HOTPLUG,	"V4L2_CID_DV_TX_HOTPLUG" },
2264 	{ V4L2_CID_DV_TX_RXSENSE,	"V4L2_CID_DV_TX_RXSENSE" },
2265 	{ V4L2_CID_DV_TX_EDID_PRESENT,	"V4L2_CID_DV_TX_EDID_PRESENT" },
2266 	{ V4L2_CID_DV_TX_MODE,	"V4L2_CID_DV_TX_MODE" },
2267 	{ V4L2_CID_DV_TX_RGB_RANGE,	"V4L2_CID_DV_TX_RGB_RANGE" },
2268 	{ V4L2_CID_DV_TX_IT_CONTENT_TYPE,	"V4L2_CID_DV_TX_IT_CONTENT_TYPE" },
2269 	{ V4L2_CID_DV_RX_POWER_PRESENT,	"V4L2_CID_DV_RX_POWER_PRESENT" },
2270 	{ V4L2_CID_DV_RX_RGB_RANGE,	"V4L2_CID_DV_RX_RGB_RANGE" },
2271 	{ V4L2_CID_DV_RX_IT_CONTENT_TYPE,	"V4L2_CID_DV_RX_IT_CONTENT_TYPE" },
2272 	{ V4L2_CID_FM_RX_CLASS,	"V4L2_CID_FM_RX_CLASS" },
2273 	{ V4L2_CID_TUNE_DEEMPHASIS,	"V4L2_CID_TUNE_DEEMPHASIS" },
2274 	{ V4L2_CID_RDS_RECEPTION,	"V4L2_CID_RDS_RECEPTION" },
2275 	{ V4L2_CID_RDS_RX_PTY,	"V4L2_CID_RDS_RX_PTY" },
2276 	{ V4L2_CID_RDS_RX_PS_NAME,	"V4L2_CID_RDS_RX_PS_NAME" },
2277 	{ V4L2_CID_RDS_RX_RADIO_TEXT,	"V4L2_CID_RDS_RX_RADIO_TEXT" },
2278 	{ V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT,	"V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT" },
2279 	{ V4L2_CID_RDS_RX_TRAFFIC_PROGRAM,	"V4L2_CID_RDS_RX_TRAFFIC_PROGRAM" },
2280 	{ V4L2_CID_RDS_RX_MUSIC_SPEECH,	"V4L2_CID_RDS_RX_MUSIC_SPEECH" },
2281 	{ V4L2_CID_RF_TUNER_CLASS,	"V4L2_CID_RF_TUNER_CLASS" },
2282 	{ V4L2_CID_RF_TUNER_BANDWIDTH_AUTO,	"V4L2_CID_RF_TUNER_BANDWIDTH_AUTO" },
2283 	{ V4L2_CID_RF_TUNER_BANDWIDTH,	"V4L2_CID_RF_TUNER_BANDWIDTH" },
2284 	{ V4L2_CID_RF_TUNER_RF_GAIN,	"V4L2_CID_RF_TUNER_RF_GAIN" },
2285 	{ V4L2_CID_RF_TUNER_LNA_GAIN_AUTO,	"V4L2_CID_RF_TUNER_LNA_GAIN_AUTO" },
2286 	{ V4L2_CID_RF_TUNER_LNA_GAIN,	"V4L2_CID_RF_TUNER_LNA_GAIN" },
2287 	{ V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO,	"V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO" },
2288 	{ V4L2_CID_RF_TUNER_MIXER_GAIN,	"V4L2_CID_RF_TUNER_MIXER_GAIN" },
2289 	{ V4L2_CID_RF_TUNER_IF_GAIN_AUTO,	"V4L2_CID_RF_TUNER_IF_GAIN_AUTO" },
2290 	{ V4L2_CID_RF_TUNER_IF_GAIN,	"V4L2_CID_RF_TUNER_IF_GAIN" },
2291 	{ V4L2_CID_RF_TUNER_PLL_LOCK,	"V4L2_CID_RF_TUNER_PLL_LOCK" },
2292 	{ V4L2_CID_DETECT_CLASS,	"V4L2_CID_DETECT_CLASS" },
2293 	{ V4L2_CID_DETECT_MD_MODE,	"V4L2_CID_DETECT_MD_MODE" },
2294 	{ V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD,	"V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD" },
2295 	{ V4L2_CID_DETECT_MD_THRESHOLD_GRID,	"V4L2_CID_DETECT_MD_THRESHOLD_GRID" },
2296 	{ V4L2_CID_DETECT_MD_REGION_GRID,	"V4L2_CID_DETECT_MD_REGION_GRID" },
2297 	{ V4L2_CID_CODEC_STATELESS_CLASS,	"V4L2_CID_CODEC_STATELESS_CLASS" },
2298 	{ V4L2_CID_STATELESS_H264_DECODE_MODE,	"V4L2_CID_STATELESS_H264_DECODE_MODE" },
2299 	{ V4L2_CID_STATELESS_H264_START_CODE,	"V4L2_CID_STATELESS_H264_START_CODE" },
2300 	{ V4L2_CID_STATELESS_H264_SPS,	"V4L2_CID_STATELESS_H264_SPS" },
2301 	{ V4L2_CID_STATELESS_H264_PPS,	"V4L2_CID_STATELESS_H264_PPS" },
2302 	{ V4L2_CID_STATELESS_H264_SCALING_MATRIX,	"V4L2_CID_STATELESS_H264_SCALING_MATRIX" },
2303 	{ V4L2_CID_STATELESS_H264_PRED_WEIGHTS,	"V4L2_CID_STATELESS_H264_PRED_WEIGHTS" },
2304 	{ V4L2_CID_STATELESS_H264_SLICE_PARAMS,	"V4L2_CID_STATELESS_H264_SLICE_PARAMS" },
2305 	{ V4L2_CID_STATELESS_H264_DECODE_PARAMS,	"V4L2_CID_STATELESS_H264_DECODE_PARAMS" },
2306 	{ V4L2_CID_STATELESS_FWHT_PARAMS,	"V4L2_CID_STATELESS_FWHT_PARAMS" },
2307 	{ V4L2_CID_STATELESS_VP8_FRAME,	"V4L2_CID_STATELESS_VP8_FRAME" },
2308 	{ V4L2_CID_STATELESS_MPEG2_SEQUENCE,	"V4L2_CID_STATELESS_MPEG2_SEQUENCE" },
2309 	{ V4L2_CID_STATELESS_MPEG2_PICTURE,	"V4L2_CID_STATELESS_MPEG2_PICTURE" },
2310 	{ V4L2_CID_STATELESS_MPEG2_QUANTISATION,	"V4L2_CID_STATELESS_MPEG2_QUANTISATION" },
2311 	{ V4L2_CID_STATELESS_HEVC_SPS,	"V4L2_CID_STATELESS_HEVC_SPS" },
2312 	{ V4L2_CID_STATELESS_HEVC_PPS,	"V4L2_CID_STATELESS_HEVC_PPS" },
2313 	{ V4L2_CID_STATELESS_HEVC_SLICE_PARAMS,	"V4L2_CID_STATELESS_HEVC_SLICE_PARAMS" },
2314 	{ V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,	"V4L2_CID_STATELESS_HEVC_SCALING_MATRIX" },
2315 	{ V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,	"V4L2_CID_STATELESS_HEVC_DECODE_PARAMS" },
2316 	{ V4L2_CID_STATELESS_HEVC_DECODE_MODE,	"V4L2_CID_STATELESS_HEVC_DECODE_MODE" },
2317 	{ V4L2_CID_STATELESS_HEVC_START_CODE,	"V4L2_CID_STATELESS_HEVC_START_CODE" },
2318 	{ V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS,	"V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS" },
2319 	{ V4L2_CID_COLORIMETRY_CLASS,	"V4L2_CID_COLORIMETRY_CLASS" },
2320 	{ V4L2_CID_COLORIMETRY_HDR10_CLL_INFO,	"V4L2_CID_COLORIMETRY_HDR10_CLL_INFO" },
2321 	{ V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY,	"V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY" },
2322 	{ V4L2_CID_STATELESS_VP9_FRAME,	"V4L2_CID_STATELESS_VP9_FRAME" },
2323 	{ V4L2_CID_STATELESS_VP9_COMPRESSED_HDR,	"V4L2_CID_STATELESS_VP9_COMPRESSED_HDR" },
2324 	{ V4L2_CID_STATELESS_AV1_SEQUENCE,	"V4L2_CID_STATELESS_AV1_SEQUENCE" },
2325 	{ V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY,	"V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY" },
2326 	{ V4L2_CID_STATELESS_AV1_FRAME,	"V4L2_CID_STATELESS_AV1_FRAME" },
2327 	{ V4L2_CID_STATELESS_AV1_FILM_GRAIN,	"V4L2_CID_STATELESS_AV1_FILM_GRAIN" },
2328 	{ V4L2_CID_MPEG_CLASS,	"V4L2_CID_MPEG_CLASS" },
2329 	{ V4L2_CID_MAX_CTRLS,	"V4L2_CID_MAX_CTRLS" },
2330 	{ -1, "" }
2331 };
2332 constexpr val_def ioctl_val_def[] = {
2333 	{ VIDIOC_QUERYCAP,	"VIDIOC_QUERYCAP" },
2334 	{ VIDIOC_ENUM_FMT,	"VIDIOC_ENUM_FMT" },
2335 	{ VIDIOC_G_FMT,	"VIDIOC_G_FMT" },
2336 	{ VIDIOC_S_FMT,	"VIDIOC_S_FMT" },
2337 	{ VIDIOC_REQBUFS,	"VIDIOC_REQBUFS" },
2338 	{ VIDIOC_QUERYBUF,	"VIDIOC_QUERYBUF" },
2339 	{ VIDIOC_G_FBUF,	"VIDIOC_G_FBUF" },
2340 	{ VIDIOC_S_FBUF,	"VIDIOC_S_FBUF" },
2341 	{ VIDIOC_OVERLAY,	"VIDIOC_OVERLAY" },
2342 	{ VIDIOC_QBUF,	"VIDIOC_QBUF" },
2343 	{ VIDIOC_EXPBUF,	"VIDIOC_EXPBUF" },
2344 	{ VIDIOC_DQBUF,	"VIDIOC_DQBUF" },
2345 	{ VIDIOC_STREAMON,	"VIDIOC_STREAMON" },
2346 	{ VIDIOC_STREAMOFF,	"VIDIOC_STREAMOFF" },
2347 	{ VIDIOC_G_PARM,	"VIDIOC_G_PARM" },
2348 	{ VIDIOC_S_PARM,	"VIDIOC_S_PARM" },
2349 	{ VIDIOC_G_STD,	"VIDIOC_G_STD" },
2350 	{ VIDIOC_S_STD,	"VIDIOC_S_STD" },
2351 	{ VIDIOC_ENUMSTD,	"VIDIOC_ENUMSTD" },
2352 	{ VIDIOC_ENUMINPUT,	"VIDIOC_ENUMINPUT" },
2353 	{ VIDIOC_G_CTRL,	"VIDIOC_G_CTRL" },
2354 	{ VIDIOC_S_CTRL,	"VIDIOC_S_CTRL" },
2355 	{ VIDIOC_G_TUNER,	"VIDIOC_G_TUNER" },
2356 	{ VIDIOC_S_TUNER,	"VIDIOC_S_TUNER" },
2357 	{ VIDIOC_G_AUDIO,	"VIDIOC_G_AUDIO" },
2358 	{ VIDIOC_S_AUDIO,	"VIDIOC_S_AUDIO" },
2359 	{ VIDIOC_QUERYCTRL,	"VIDIOC_QUERYCTRL" },
2360 	{ VIDIOC_QUERYMENU,	"VIDIOC_QUERYMENU" },
2361 	{ VIDIOC_G_INPUT,	"VIDIOC_G_INPUT" },
2362 	{ VIDIOC_S_INPUT,	"VIDIOC_S_INPUT" },
2363 	{ VIDIOC_G_EDID,	"VIDIOC_G_EDID" },
2364 	{ VIDIOC_S_EDID,	"VIDIOC_S_EDID" },
2365 	{ VIDIOC_G_OUTPUT,	"VIDIOC_G_OUTPUT" },
2366 	{ VIDIOC_S_OUTPUT,	"VIDIOC_S_OUTPUT" },
2367 	{ VIDIOC_ENUMOUTPUT,	"VIDIOC_ENUMOUTPUT" },
2368 	{ VIDIOC_G_AUDOUT,	"VIDIOC_G_AUDOUT" },
2369 	{ VIDIOC_S_AUDOUT,	"VIDIOC_S_AUDOUT" },
2370 	{ VIDIOC_G_MODULATOR,	"VIDIOC_G_MODULATOR" },
2371 	{ VIDIOC_S_MODULATOR,	"VIDIOC_S_MODULATOR" },
2372 	{ VIDIOC_G_FREQUENCY,	"VIDIOC_G_FREQUENCY" },
2373 	{ VIDIOC_S_FREQUENCY,	"VIDIOC_S_FREQUENCY" },
2374 	{ VIDIOC_CROPCAP,	"VIDIOC_CROPCAP" },
2375 	{ VIDIOC_G_CROP,	"VIDIOC_G_CROP" },
2376 	{ VIDIOC_S_CROP,	"VIDIOC_S_CROP" },
2377 	{ VIDIOC_G_JPEGCOMP,	"VIDIOC_G_JPEGCOMP" },
2378 	{ VIDIOC_S_JPEGCOMP,	"VIDIOC_S_JPEGCOMP" },
2379 	{ VIDIOC_QUERYSTD,	"VIDIOC_QUERYSTD" },
2380 	{ VIDIOC_TRY_FMT,	"VIDIOC_TRY_FMT" },
2381 	{ VIDIOC_ENUMAUDIO,	"VIDIOC_ENUMAUDIO" },
2382 	{ VIDIOC_ENUMAUDOUT,	"VIDIOC_ENUMAUDOUT" },
2383 	{ VIDIOC_G_PRIORITY,	"VIDIOC_G_PRIORITY" },
2384 	{ VIDIOC_S_PRIORITY,	"VIDIOC_S_PRIORITY" },
2385 	{ VIDIOC_G_SLICED_VBI_CAP,	"VIDIOC_G_SLICED_VBI_CAP" },
2386 	{ VIDIOC_LOG_STATUS,	"VIDIOC_LOG_STATUS" },
2387 	{ VIDIOC_G_EXT_CTRLS,	"VIDIOC_G_EXT_CTRLS" },
2388 	{ VIDIOC_S_EXT_CTRLS,	"VIDIOC_S_EXT_CTRLS" },
2389 	{ VIDIOC_TRY_EXT_CTRLS,	"VIDIOC_TRY_EXT_CTRLS" },
2390 	{ VIDIOC_ENUM_FRAMESIZES,	"VIDIOC_ENUM_FRAMESIZES" },
2391 	{ VIDIOC_ENUM_FRAMEINTERVALS,	"VIDIOC_ENUM_FRAMEINTERVALS" },
2392 	{ VIDIOC_G_ENC_INDEX,	"VIDIOC_G_ENC_INDEX" },
2393 	{ VIDIOC_ENCODER_CMD,	"VIDIOC_ENCODER_CMD" },
2394 	{ VIDIOC_TRY_ENCODER_CMD,	"VIDIOC_TRY_ENCODER_CMD" },
2395 	{ VIDIOC_DBG_S_REGISTER,	"VIDIOC_DBG_S_REGISTER" },
2396 	{ VIDIOC_DBG_G_REGISTER,	"VIDIOC_DBG_G_REGISTER" },
2397 	{ VIDIOC_S_HW_FREQ_SEEK,	"VIDIOC_S_HW_FREQ_SEEK" },
2398 	{ VIDIOC_S_DV_TIMINGS,	"VIDIOC_S_DV_TIMINGS" },
2399 	{ VIDIOC_G_DV_TIMINGS,	"VIDIOC_G_DV_TIMINGS" },
2400 	{ VIDIOC_DQEVENT,	"VIDIOC_DQEVENT" },
2401 	{ VIDIOC_SUBSCRIBE_EVENT,	"VIDIOC_SUBSCRIBE_EVENT" },
2402 	{ VIDIOC_UNSUBSCRIBE_EVENT,	"VIDIOC_UNSUBSCRIBE_EVENT" },
2403 	{ VIDIOC_CREATE_BUFS,	"VIDIOC_CREATE_BUFS" },
2404 	{ VIDIOC_PREPARE_BUF,	"VIDIOC_PREPARE_BUF" },
2405 	{ VIDIOC_G_SELECTION,	"VIDIOC_G_SELECTION" },
2406 	{ VIDIOC_S_SELECTION,	"VIDIOC_S_SELECTION" },
2407 	{ VIDIOC_DECODER_CMD,	"VIDIOC_DECODER_CMD" },
2408 	{ VIDIOC_TRY_DECODER_CMD,	"VIDIOC_TRY_DECODER_CMD" },
2409 	{ VIDIOC_ENUM_DV_TIMINGS,	"VIDIOC_ENUM_DV_TIMINGS" },
2410 	{ VIDIOC_QUERY_DV_TIMINGS,	"VIDIOC_QUERY_DV_TIMINGS" },
2411 	{ VIDIOC_DV_TIMINGS_CAP,	"VIDIOC_DV_TIMINGS_CAP" },
2412 	{ VIDIOC_ENUM_FREQ_BANDS,	"VIDIOC_ENUM_FREQ_BANDS" },
2413 	{ VIDIOC_DBG_G_CHIP_INFO,	"VIDIOC_DBG_G_CHIP_INFO" },
2414 	{ VIDIOC_QUERY_EXT_CTRL,	"VIDIOC_QUERY_EXT_CTRL" },
2415 	{ VIDIOC_REMOVE_BUFS,	"VIDIOC_REMOVE_BUFS" },
2416 	{ MEDIA_IOC_DEVICE_INFO,	"MEDIA_IOC_DEVICE_INFO" },
2417 	{ MEDIA_IOC_ENUM_ENTITIES,	"MEDIA_IOC_ENUM_ENTITIES" },
2418 	{ MEDIA_IOC_ENUM_LINKS,	"MEDIA_IOC_ENUM_LINKS" },
2419 	{ MEDIA_IOC_SETUP_LINK,	"MEDIA_IOC_SETUP_LINK" },
2420 	{ MEDIA_IOC_G_TOPOLOGY,	"MEDIA_IOC_G_TOPOLOGY" },
2421 	{ MEDIA_IOC_REQUEST_ALLOC,	"MEDIA_IOC_REQUEST_ALLOC" },
2422 	{ MEDIA_REQUEST_IOC_QUEUE,	"MEDIA_REQUEST_IOC_QUEUE" },
2423 	{ MEDIA_REQUEST_IOC_REINIT,	"MEDIA_REQUEST_IOC_REINIT" },
2424 	{ -1, "" }
2425 };
2426 
2427 #endif
2428