/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright 2022 Collabora Ltd.
 *
 * AUTOMATICALLY GENERATED BY v4l2-tracer-gen.pl DO NOT EDIT
 */

#ifndef V4L2_TRACER_INFO_GEN_H
#define V4L2_TRACER_INFO_GEN_H

#include "v4l2-tracer-common.h"

constexpr val_def ctrlclass_val_def[] = {
	{ V4L2_CTRL_CLASS_USER,	"V4L2_CTRL_CLASS_USER" },
	{ V4L2_CTRL_CLASS_CODEC,	"V4L2_CTRL_CLASS_CODEC" },
	{ V4L2_CTRL_CLASS_CAMERA,	"V4L2_CTRL_CLASS_CAMERA" },
	{ V4L2_CTRL_CLASS_FM_TX,	"V4L2_CTRL_CLASS_FM_TX" },
	{ V4L2_CTRL_CLASS_FLASH,	"V4L2_CTRL_CLASS_FLASH" },
	{ V4L2_CTRL_CLASS_JPEG,	"V4L2_CTRL_CLASS_JPEG" },
	{ V4L2_CTRL_CLASS_IMAGE_SOURCE,	"V4L2_CTRL_CLASS_IMAGE_SOURCE" },
	{ V4L2_CTRL_CLASS_IMAGE_PROC,	"V4L2_CTRL_CLASS_IMAGE_PROC" },
	{ V4L2_CTRL_CLASS_DV,	"V4L2_CTRL_CLASS_DV" },
	{ V4L2_CTRL_CLASS_FM_RX,	"V4L2_CTRL_CLASS_FM_RX" },
	{ V4L2_CTRL_CLASS_RF_TUNER,	"V4L2_CTRL_CLASS_RF_TUNER" },
	{ V4L2_CTRL_CLASS_DETECT,	"V4L2_CTRL_CLASS_DETECT" },
	{ V4L2_CTRL_CLASS_CODEC_STATELESS,	"V4L2_CTRL_CLASS_CODEC_STATELESS" },
	{ V4L2_CTRL_CLASS_COLORIMETRY,	"V4L2_CTRL_CLASS_COLORIMETRY" },
	{ -1, "" }
};

constexpr val_def v4l2_power_line_frequency_val_def[] = {
	{ V4L2_CID_POWER_LINE_FREQUENCY_DISABLED,	"V4L2_CID_POWER_LINE_FREQUENCY_DISABLED" },
	{ V4L2_CID_POWER_LINE_FREQUENCY_50HZ,	"V4L2_CID_POWER_LINE_FREQUENCY_50HZ" },
	{ V4L2_CID_POWER_LINE_FREQUENCY_60HZ,	"V4L2_CID_POWER_LINE_FREQUENCY_60HZ" },
	{ V4L2_CID_POWER_LINE_FREQUENCY_AUTO,	"V4L2_CID_POWER_LINE_FREQUENCY_AUTO" },
	{ -1, "" }
};

constexpr val_def v4l2_colorfx_val_def[] = {
	{ V4L2_COLORFX_NONE,	"V4L2_COLORFX_NONE" },
	{ V4L2_COLORFX_BW,	"V4L2_COLORFX_BW" },
	{ V4L2_COLORFX_SEPIA,	"V4L2_COLORFX_SEPIA" },
	{ V4L2_COLORFX_NEGATIVE,	"V4L2_COLORFX_NEGATIVE" },
	{ V4L2_COLORFX_EMBOSS,	"V4L2_COLORFX_EMBOSS" },
	{ V4L2_COLORFX_SKETCH,	"V4L2_COLORFX_SKETCH" },
	{ V4L2_COLORFX_SKY_BLUE,	"V4L2_COLORFX_SKY_BLUE" },
	{ V4L2_COLORFX_GRASS_GREEN,	"V4L2_COLORFX_GRASS_GREEN" },
	{ V4L2_COLORFX_SKIN_WHITEN,	"V4L2_COLORFX_SKIN_WHITEN" },
	{ V4L2_COLORFX_VIVID,	"V4L2_COLORFX_VIVID" },
	{ V4L2_COLORFX_AQUA,	"V4L2_COLORFX_AQUA" },
	{ V4L2_COLORFX_ART_FREEZE,	"V4L2_COLORFX_ART_FREEZE" },
	{ V4L2_COLORFX_SILHOUETTE,	"V4L2_COLORFX_SILHOUETTE" },
	{ V4L2_COLORFX_SOLARIZATION,	"V4L2_COLORFX_SOLARIZATION" },
	{ V4L2_COLORFX_ANTIQUE,	"V4L2_COLORFX_ANTIQUE" },
	{ V4L2_COLORFX_SET_CBCR,	"V4L2_COLORFX_SET_CBCR" },
	{ V4L2_COLORFX_SET_RGB,	"V4L2_COLORFX_SET_RGB" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_stream_type_val_def[] = {
	{ V4L2_MPEG_STREAM_TYPE_MPEG2_PS,	"V4L2_MPEG_STREAM_TYPE_MPEG2_PS" },
	{ V4L2_MPEG_STREAM_TYPE_MPEG2_TS,	"V4L2_MPEG_STREAM_TYPE_MPEG2_TS" },
	{ V4L2_MPEG_STREAM_TYPE_MPEG1_SS,	"V4L2_MPEG_STREAM_TYPE_MPEG1_SS" },
	{ V4L2_MPEG_STREAM_TYPE_MPEG2_DVD,	"V4L2_MPEG_STREAM_TYPE_MPEG2_DVD" },
	{ V4L2_MPEG_STREAM_TYPE_MPEG1_VCD,	"V4L2_MPEG_STREAM_TYPE_MPEG1_VCD" },
	{ V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD,	"V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_stream_vbi_fmt_val_def[] = {
	{ V4L2_MPEG_STREAM_VBI_FMT_NONE,	"V4L2_MPEG_STREAM_VBI_FMT_NONE" },
	{ V4L2_MPEG_STREAM_VBI_FMT_IVTV,	"V4L2_MPEG_STREAM_VBI_FMT_IVTV" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_sampling_freq_val_def[] = {
	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100" },
	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000" },
	{ V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000,	"V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_encoding_val_def[] = {
	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_1,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_1" },
	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_2,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_2" },
	{ V4L2_MPEG_AUDIO_ENCODING_LAYER_3,	"V4L2_MPEG_AUDIO_ENCODING_LAYER_3" },
	{ V4L2_MPEG_AUDIO_ENCODING_AAC,	"V4L2_MPEG_AUDIO_ENCODING_AAC" },
	{ V4L2_MPEG_AUDIO_ENCODING_AC3,	"V4L2_MPEG_AUDIO_ENCODING_AC3" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_l1_bitrate_val_def[] = {
	{ V4L2_MPEG_AUDIO_L1_BITRATE_32K,	"V4L2_MPEG_AUDIO_L1_BITRATE_32K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_64K,	"V4L2_MPEG_AUDIO_L1_BITRATE_64K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_96K,	"V4L2_MPEG_AUDIO_L1_BITRATE_96K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_128K,	"V4L2_MPEG_AUDIO_L1_BITRATE_128K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_160K,	"V4L2_MPEG_AUDIO_L1_BITRATE_160K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_192K,	"V4L2_MPEG_AUDIO_L1_BITRATE_192K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_224K,	"V4L2_MPEG_AUDIO_L1_BITRATE_224K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_256K,	"V4L2_MPEG_AUDIO_L1_BITRATE_256K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_288K,	"V4L2_MPEG_AUDIO_L1_BITRATE_288K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_320K,	"V4L2_MPEG_AUDIO_L1_BITRATE_320K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_352K,	"V4L2_MPEG_AUDIO_L1_BITRATE_352K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_384K,	"V4L2_MPEG_AUDIO_L1_BITRATE_384K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_416K,	"V4L2_MPEG_AUDIO_L1_BITRATE_416K" },
	{ V4L2_MPEG_AUDIO_L1_BITRATE_448K,	"V4L2_MPEG_AUDIO_L1_BITRATE_448K" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_l2_bitrate_val_def[] = {
	{ V4L2_MPEG_AUDIO_L2_BITRATE_32K,	"V4L2_MPEG_AUDIO_L2_BITRATE_32K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_48K,	"V4L2_MPEG_AUDIO_L2_BITRATE_48K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_56K,	"V4L2_MPEG_AUDIO_L2_BITRATE_56K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_64K,	"V4L2_MPEG_AUDIO_L2_BITRATE_64K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_80K,	"V4L2_MPEG_AUDIO_L2_BITRATE_80K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_96K,	"V4L2_MPEG_AUDIO_L2_BITRATE_96K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_112K,	"V4L2_MPEG_AUDIO_L2_BITRATE_112K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_128K,	"V4L2_MPEG_AUDIO_L2_BITRATE_128K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_160K,	"V4L2_MPEG_AUDIO_L2_BITRATE_160K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_192K,	"V4L2_MPEG_AUDIO_L2_BITRATE_192K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_224K,	"V4L2_MPEG_AUDIO_L2_BITRATE_224K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_256K,	"V4L2_MPEG_AUDIO_L2_BITRATE_256K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_320K,	"V4L2_MPEG_AUDIO_L2_BITRATE_320K" },
	{ V4L2_MPEG_AUDIO_L2_BITRATE_384K,	"V4L2_MPEG_AUDIO_L2_BITRATE_384K" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_l3_bitrate_val_def[] = {
	{ V4L2_MPEG_AUDIO_L3_BITRATE_32K,	"V4L2_MPEG_AUDIO_L3_BITRATE_32K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_40K,	"V4L2_MPEG_AUDIO_L3_BITRATE_40K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_48K,	"V4L2_MPEG_AUDIO_L3_BITRATE_48K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_56K,	"V4L2_MPEG_AUDIO_L3_BITRATE_56K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_64K,	"V4L2_MPEG_AUDIO_L3_BITRATE_64K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_80K,	"V4L2_MPEG_AUDIO_L3_BITRATE_80K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_96K,	"V4L2_MPEG_AUDIO_L3_BITRATE_96K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_112K,	"V4L2_MPEG_AUDIO_L3_BITRATE_112K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_128K,	"V4L2_MPEG_AUDIO_L3_BITRATE_128K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_160K,	"V4L2_MPEG_AUDIO_L3_BITRATE_160K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_192K,	"V4L2_MPEG_AUDIO_L3_BITRATE_192K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_224K,	"V4L2_MPEG_AUDIO_L3_BITRATE_224K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_256K,	"V4L2_MPEG_AUDIO_L3_BITRATE_256K" },
	{ V4L2_MPEG_AUDIO_L3_BITRATE_320K,	"V4L2_MPEG_AUDIO_L3_BITRATE_320K" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_mode_val_def[] = {
	{ V4L2_MPEG_AUDIO_MODE_STEREO,	"V4L2_MPEG_AUDIO_MODE_STEREO" },
	{ V4L2_MPEG_AUDIO_MODE_JOINT_STEREO,	"V4L2_MPEG_AUDIO_MODE_JOINT_STEREO" },
	{ V4L2_MPEG_AUDIO_MODE_DUAL,	"V4L2_MPEG_AUDIO_MODE_DUAL" },
	{ V4L2_MPEG_AUDIO_MODE_MONO,	"V4L2_MPEG_AUDIO_MODE_MONO" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_mode_extension_val_def[] = {
	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4" },
	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8" },
	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12" },
	{ V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16,	"V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_emphasis_val_def[] = {
	{ V4L2_MPEG_AUDIO_EMPHASIS_NONE,	"V4L2_MPEG_AUDIO_EMPHASIS_NONE" },
	{ V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17,	"V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_crc_val_def[] = {
	{ V4L2_MPEG_AUDIO_CRC_NONE,	"V4L2_MPEG_AUDIO_CRC_NONE" },
	{ V4L2_MPEG_AUDIO_CRC_CRC16,	"V4L2_MPEG_AUDIO_CRC_CRC16" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_ac3_bitrate_val_def[] = {
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_32K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_32K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_40K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_40K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_48K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_48K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_56K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_56K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_64K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_64K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_80K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_80K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_96K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_96K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_112K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_112K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_128K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_128K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_160K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_160K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_192K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_192K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_224K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_224K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_256K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_256K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_320K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_320K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_384K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_384K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_448K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_448K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_512K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_512K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_576K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_576K" },
	{ V4L2_MPEG_AUDIO_AC3_BITRATE_640K,	"V4L2_MPEG_AUDIO_AC3_BITRATE_640K" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_audio_dec_playback_val_def[] = {
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO" },
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO" },
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT" },
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT" },
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO" },
	{ V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO,	"V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_encoding_val_def[] = {
	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_1,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_1" },
	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_2,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_2" },
	{ V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC,	"V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_aspect_val_def[] = {
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_bitrate_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_BITRATE_MODE_VBR,	"V4L2_MPEG_VIDEO_BITRATE_MODE_VBR" },
	{ V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,	"V4L2_MPEG_VIDEO_BITRATE_MODE_CBR" },
	{ V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,	"V4L2_MPEG_VIDEO_BITRATE_MODE_CQ" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_header_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE,	"V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE" },
	{ V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME,	"V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_multi_slice_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE" },
	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB" },
	{ V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,	"V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES" },
	{ V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB,	"V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB" },
	{ V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES,	"V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_intra_refresh_period_type_val_def[] = {
	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM" },
	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_mpeg2_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW" },
	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN" },
	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440" },
	{ V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH,	"V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_mpeg2_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE" },
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN" },
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE" },
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE" },
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH" },
	{ V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW,	"V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_entropy_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,	"V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC" },
	{ V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,	"V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_1B,	"V4L2_MPEG_VIDEO_H264_LEVEL_1B" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_2" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_1_3,	"V4L2_MPEG_VIDEO_H264_LEVEL_1_3" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_2_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_2_2" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_3_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_3_2" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_4_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_4_2" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_5_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_5_2" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_0,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_0" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_1,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_1" },
	{ V4L2_MPEG_VIDEO_H264_LEVEL_6_2,	"V4L2_MPEG_VIDEO_H264_LEVEL_6_2" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_loop_filter_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED" },
	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED" },
	{ V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY,	"V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_H264_PROFILE_MAIN" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED,	"V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA,	"V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH" },
	{ V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH,	"V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_vui_sar_idc_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED,	"V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED" },
	{ V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED,	"V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_sei_fp_arrangement_type_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD" },
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN" },
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW" },
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE" },
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM" },
	{ V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL,	"V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_fmo_map_type_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN" },
	{ V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT,	"V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_fmo_change_dir_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT,	"V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT" },
	{ V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT,	"V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_h264_hierarchical_coding_type_val_def[] = {
	{ V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B,	"V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B" },
	{ V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P,	"V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_mpeg4_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_0,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_0" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_1,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_1" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_2,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_2" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_3,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_3" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_4,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_4" },
	{ V4L2_MPEG_VIDEO_MPEG4_LEVEL_5,	"V4L2_MPEG_VIDEO_MPEG4_LEVEL_5" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_mpeg4_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE" },
	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE" },
	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE" },
	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE" },
	{ V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY,	"V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY" },
	{ -1, "" }
};

constexpr val_def v4l2_vp8_num_partitions_val_def[] = {
	{ V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION,	"V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION" },
	{ V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS" },
	{ V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS" },
	{ V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS" },
	{ -1, "" }
};

constexpr val_def v4l2_vp8_num_ref_frames_val_def[] = {
	{ V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME" },
	{ V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME" },
	{ V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME,	"V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME" },
	{ -1, "" }
};

constexpr val_def v4l2_vp8_golden_frame_sel_val_def[] = {
	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV" },
	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_vp8_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_VP8_PROFILE_0,	"V4L2_MPEG_VIDEO_VP8_PROFILE_0" },
	{ V4L2_MPEG_VIDEO_VP8_PROFILE_1,	"V4L2_MPEG_VIDEO_VP8_PROFILE_1" },
	{ V4L2_MPEG_VIDEO_VP8_PROFILE_2,	"V4L2_MPEG_VIDEO_VP8_PROFILE_2" },
	{ V4L2_MPEG_VIDEO_VP8_PROFILE_3,	"V4L2_MPEG_VIDEO_VP8_PROFILE_3" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_vp9_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_VP9_PROFILE_0,	"V4L2_MPEG_VIDEO_VP9_PROFILE_0" },
	{ V4L2_MPEG_VIDEO_VP9_PROFILE_1,	"V4L2_MPEG_VIDEO_VP9_PROFILE_1" },
	{ V4L2_MPEG_VIDEO_VP9_PROFILE_2,	"V4L2_MPEG_VIDEO_VP9_PROFILE_2" },
	{ V4L2_MPEG_VIDEO_VP9_PROFILE_3,	"V4L2_MPEG_VIDEO_VP9_PROFILE_3" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_vp9_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_1_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_1_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_1_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_1_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_2_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_2_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_2_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_2_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_3_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_3_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_3_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_3_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_4_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_4_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_4_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_4_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_5_2,	"V4L2_MPEG_VIDEO_VP9_LEVEL_5_2" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_0,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_0" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_1,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_1" },
	{ V4L2_MPEG_VIDEO_VP9_LEVEL_6_2,	"V4L2_MPEG_VIDEO_VP9_LEVEL_6_2" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_hevc_hier_coding_type_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B,	"V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B" },
	{ V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P,	"V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_hevc_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN" },
	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE" },
	{ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10,	"V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_hevc_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_2" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_3,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_3" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_4,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_4" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1" },
	{ V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,	"V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_hevc_tier_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,	"V4L2_MPEG_VIDEO_HEVC_TIER_MAIN" },
	{ V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,	"V4L2_MPEG_VIDEO_HEVC_TIER_HIGH" },
	{ -1, "" }
};

constexpr val_def v4l2_cid_mpeg_video_hevc_loop_filter_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED" },
	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED" },
	{ V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY,	"V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY" },
	{ -1, "" }
};

constexpr val_def v4l2_cid_mpeg_video_hevc_refresh_type_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE" },
	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA" },
	{ V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR,	"V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR" },
	{ -1, "" }
};

constexpr val_def v4l2_cid_mpeg_video_hevc_size_of_length_field_val_def[] = {
	{ V4L2_MPEG_VIDEO_HEVC_SIZE_0,	"V4L2_MPEG_VIDEO_HEVC_SIZE_0" },
	{ V4L2_MPEG_VIDEO_HEVC_SIZE_1,	"V4L2_MPEG_VIDEO_HEVC_SIZE_1" },
	{ V4L2_MPEG_VIDEO_HEVC_SIZE_2,	"V4L2_MPEG_VIDEO_HEVC_SIZE_2" },
	{ V4L2_MPEG_VIDEO_HEVC_SIZE_4,	"V4L2_MPEG_VIDEO_HEVC_SIZE_4" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_frame_skip_mode_val_def[] = {
	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED" },
	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT" },
	{ V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,	"V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_av1_profile_val_def[] = {
	{ V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN,	"V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN" },
	{ V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH,	"V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH" },
	{ V4L2_MPEG_VIDEO_AV1_PROFILE_PROFESSIONAL,	"V4L2_MPEG_VIDEO_AV1_PROFILE_PROFESSIONAL" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_video_av1_level_val_def[] = {
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_2_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_2_3" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_3_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_3_3" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_4_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_4_3" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_5_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_5_3" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_6_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_6_3" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_0,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_0" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_1,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_1" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_2,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_2" },
	{ V4L2_MPEG_VIDEO_AV1_LEVEL_7_3,	"V4L2_MPEG_VIDEO_AV1_LEVEL_7_3" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_cx2341x_video_spatial_filter_mode_val_def[] = {
	{ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL,	"V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL" },
	{ V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO,	"V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_cx2341x_video_luma_spatial_filter_type_val_def[] = {
	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF" },
	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR" },
	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT" },
	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE" },
	{ V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE,	"V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type_val_def[] = {
	{ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF" },
	{ V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR,	"V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_cx2341x_video_temporal_filter_mode_val_def[] = {
	{ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL,	"V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL" },
	{ V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO,	"V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_cx2341x_video_median_filter_type_val_def[] = {
	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF" },
	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR" },
	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT" },
	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT" },
	{ V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG,	"V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_mfc51_video_frame_skip_mode_val_def[] = {
	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED" },
	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT" },
	{ V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,	"V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT" },
	{ -1, "" }
};

constexpr val_def v4l2_mpeg_mfc51_video_force_frame_type_val_def[] = {
	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED" },
	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME" },
	{ V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED,	"V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED" },
	{ -1, "" }
};

constexpr val_def _val_def[] = {
	{ V4L2_EXPOSURE_AUTO,	"V4L2_EXPOSURE_AUTO" },
	{ V4L2_EXPOSURE_MANUAL,	"V4L2_EXPOSURE_MANUAL" },
	{ V4L2_EXPOSURE_SHUTTER_PRIORITY,	"V4L2_EXPOSURE_SHUTTER_PRIORITY" },
	{ V4L2_EXPOSURE_APERTURE_PRIORITY,	"V4L2_EXPOSURE_APERTURE_PRIORITY" },
	{ -1, "" }
};

constexpr val_def v4l2_auto_n_preset_white_balance_val_def[] = {
	{ V4L2_WHITE_BALANCE_MANUAL,	"V4L2_WHITE_BALANCE_MANUAL" },
	{ V4L2_WHITE_BALANCE_AUTO,	"V4L2_WHITE_BALANCE_AUTO" },
	{ V4L2_WHITE_BALANCE_INCANDESCENT,	"V4L2_WHITE_BALANCE_INCANDESCENT" },
	{ V4L2_WHITE_BALANCE_FLUORESCENT,	"V4L2_WHITE_BALANCE_FLUORESCENT" },
	{ V4L2_WHITE_BALANCE_FLUORESCENT_H,	"V4L2_WHITE_BALANCE_FLUORESCENT_H" },
	{ V4L2_WHITE_BALANCE_HORIZON,	"V4L2_WHITE_BALANCE_HORIZON" },
	{ V4L2_WHITE_BALANCE_DAYLIGHT,	"V4L2_WHITE_BALANCE_DAYLIGHT" },
	{ V4L2_WHITE_BALANCE_FLASH,	"V4L2_WHITE_BALANCE_FLASH" },
	{ V4L2_WHITE_BALANCE_CLOUDY,	"V4L2_WHITE_BALANCE_CLOUDY" },
	{ V4L2_WHITE_BALANCE_SHADE,	"V4L2_WHITE_BALANCE_SHADE" },
	{ -1, "" }
};

constexpr val_def v4l2_iso_sensitivity_auto_type_val_def[] = {
	{ V4L2_ISO_SENSITIVITY_MANUAL,	"V4L2_ISO_SENSITIVITY_MANUAL" },
	{ V4L2_ISO_SENSITIVITY_AUTO,	"V4L2_ISO_SENSITIVITY_AUTO" },
	{ -1, "" }
};

constexpr val_def v4l2_exposure_metering_val_def[] = {
	{ V4L2_EXPOSURE_METERING_AVERAGE,	"V4L2_EXPOSURE_METERING_AVERAGE" },
	{ V4L2_EXPOSURE_METERING_CENTER_WEIGHTED,	"V4L2_EXPOSURE_METERING_CENTER_WEIGHTED" },
	{ V4L2_EXPOSURE_METERING_SPOT,	"V4L2_EXPOSURE_METERING_SPOT" },
	{ V4L2_EXPOSURE_METERING_MATRIX,	"V4L2_EXPOSURE_METERING_MATRIX" },
	{ -1, "" }
};

constexpr val_def v4l2_scene_mode_val_def[] = {
	{ V4L2_SCENE_MODE_NONE,	"V4L2_SCENE_MODE_NONE" },
	{ V4L2_SCENE_MODE_BACKLIGHT,	"V4L2_SCENE_MODE_BACKLIGHT" },
	{ V4L2_SCENE_MODE_BEACH_SNOW,	"V4L2_SCENE_MODE_BEACH_SNOW" },
	{ V4L2_SCENE_MODE_CANDLE_LIGHT,	"V4L2_SCENE_MODE_CANDLE_LIGHT" },
	{ V4L2_SCENE_MODE_DAWN_DUSK,	"V4L2_SCENE_MODE_DAWN_DUSK" },
	{ V4L2_SCENE_MODE_FALL_COLORS,	"V4L2_SCENE_MODE_FALL_COLORS" },
	{ V4L2_SCENE_MODE_FIREWORKS,	"V4L2_SCENE_MODE_FIREWORKS" },
	{ V4L2_SCENE_MODE_LANDSCAPE,	"V4L2_SCENE_MODE_LANDSCAPE" },
	{ V4L2_SCENE_MODE_NIGHT,	"V4L2_SCENE_MODE_NIGHT" },
	{ V4L2_SCENE_MODE_PARTY_INDOOR,	"V4L2_SCENE_MODE_PARTY_INDOOR" },
	{ V4L2_SCENE_MODE_PORTRAIT,	"V4L2_SCENE_MODE_PORTRAIT" },
	{ V4L2_SCENE_MODE_SPORTS,	"V4L2_SCENE_MODE_SPORTS" },
	{ V4L2_SCENE_MODE_SUNSET,	"V4L2_SCENE_MODE_SUNSET" },
	{ V4L2_SCENE_MODE_TEXT,	"V4L2_SCENE_MODE_TEXT" },
	{ -1, "" }
};

constexpr val_def v4l2_auto_focus_range_val_def[] = {
	{ V4L2_AUTO_FOCUS_RANGE_AUTO,	"V4L2_AUTO_FOCUS_RANGE_AUTO" },
	{ V4L2_AUTO_FOCUS_RANGE_NORMAL,	"V4L2_AUTO_FOCUS_RANGE_NORMAL" },
	{ V4L2_AUTO_FOCUS_RANGE_MACRO,	"V4L2_AUTO_FOCUS_RANGE_MACRO" },
	{ V4L2_AUTO_FOCUS_RANGE_INFINITY,	"V4L2_AUTO_FOCUS_RANGE_INFINITY" },
	{ -1, "" }
};

constexpr val_def v4l2_preemphasis_val_def[] = {
	{ V4L2_PREEMPHASIS_DISABLED,	"V4L2_PREEMPHASIS_DISABLED" },
	{ -1, "" }
};

constexpr val_def v4l2_flash_led_mode_val_def[] = {
	{ V4L2_FLASH_LED_MODE_NONE,	"V4L2_FLASH_LED_MODE_NONE" },
	{ V4L2_FLASH_LED_MODE_FLASH,	"V4L2_FLASH_LED_MODE_FLASH" },
	{ V4L2_FLASH_LED_MODE_TORCH,	"V4L2_FLASH_LED_MODE_TORCH" },
	{ -1, "" }
};

constexpr val_def v4l2_flash_strobe_source_val_def[] = {
	{ V4L2_FLASH_STROBE_SOURCE_SOFTWARE,	"V4L2_FLASH_STROBE_SOURCE_SOFTWARE" },
	{ V4L2_FLASH_STROBE_SOURCE_EXTERNAL,	"V4L2_FLASH_STROBE_SOURCE_EXTERNAL" },
	{ -1, "" }
};

constexpr val_def v4l2_jpeg_chroma_subsampling_val_def[] = {
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_444,	"V4L2_JPEG_CHROMA_SUBSAMPLING_444" },
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_422,	"V4L2_JPEG_CHROMA_SUBSAMPLING_422" },
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_420,	"V4L2_JPEG_CHROMA_SUBSAMPLING_420" },
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_411,	"V4L2_JPEG_CHROMA_SUBSAMPLING_411" },
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_410,	"V4L2_JPEG_CHROMA_SUBSAMPLING_410" },
	{ V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY,	"V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY" },
	{ -1, "" }
};

constexpr val_def v4l2_dv_tx_mode_val_def[] = {
	{ V4L2_DV_TX_MODE_DVI_D,	"V4L2_DV_TX_MODE_DVI_D" },
	{ V4L2_DV_TX_MODE_HDMI,	"V4L2_DV_TX_MODE_HDMI" },
	{ -1, "" }
};

constexpr val_def v4l2_dv_rgb_range_val_def[] = {
	{ V4L2_DV_RGB_RANGE_AUTO,	"V4L2_DV_RGB_RANGE_AUTO" },
	{ V4L2_DV_RGB_RANGE_LIMITED,	"V4L2_DV_RGB_RANGE_LIMITED" },
	{ V4L2_DV_RGB_RANGE_FULL,	"V4L2_DV_RGB_RANGE_FULL" },
	{ -1, "" }
};

constexpr val_def v4l2_dv_it_content_type_val_def[] = {
	{ V4L2_DV_IT_CONTENT_TYPE_GRAPHICS,	"V4L2_DV_IT_CONTENT_TYPE_GRAPHICS" },
	{ V4L2_DV_IT_CONTENT_TYPE_PHOTO,	"V4L2_DV_IT_CONTENT_TYPE_PHOTO" },
	{ V4L2_DV_IT_CONTENT_TYPE_CINEMA,	"V4L2_DV_IT_CONTENT_TYPE_CINEMA" },
	{ V4L2_DV_IT_CONTENT_TYPE_GAME,	"V4L2_DV_IT_CONTENT_TYPE_GAME" },
	{ V4L2_DV_IT_CONTENT_TYPE_NO_ITC,	"V4L2_DV_IT_CONTENT_TYPE_NO_ITC" },
	{ -1, "" }
};

constexpr val_def v4l2_deemphasis_val_def[] = {
	{ V4L2_DEEMPHASIS_DISABLED,	"V4L2_DEEMPHASIS_DISABLED" },
	{ -1, "" }
};

constexpr val_def v4l2_detect_md_mode_val_def[] = {
	{ V4L2_DETECT_MD_MODE_DISABLED,	"V4L2_DETECT_MD_MODE_DISABLED" },
	{ V4L2_DETECT_MD_MODE_GLOBAL,	"V4L2_DETECT_MD_MODE_GLOBAL" },
	{ V4L2_DETECT_MD_MODE_THRESHOLD_GRID,	"V4L2_DETECT_MD_MODE_THRESHOLD_GRID" },
	{ V4L2_DETECT_MD_MODE_REGION_GRID,	"V4L2_DETECT_MD_MODE_REGION_GRID" },
	{ -1, "" }
};

constexpr val_def v4l2_stateless_h264_decode_mode_val_def[] = {
	{ V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED,	"V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED" },
	{ V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED,	"V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED" },
	{ -1, "" }
};

constexpr val_def v4l2_stateless_h264_start_code_val_def[] = {
	{ V4L2_STATELESS_H264_START_CODE_NONE,	"V4L2_STATELESS_H264_START_CODE_NONE" },
	{ V4L2_STATELESS_H264_START_CODE_ANNEX_B,	"V4L2_STATELESS_H264_START_CODE_ANNEX_B" },
	{ -1, "" }
};

constexpr flag_def v4l2_h264_sps_flag_def[] = {
	{ V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE, "V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE" },
	{ V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS, "V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS" },
	{ V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO, "V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO" },
	{ V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED, "V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED" },
	{ V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, "V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY" },
	{ V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD, "V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD" },
	{ V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE, "V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE" },
	{ 0, "" }
};

constexpr flag_def v4l2_h264_pps_flag_def[] = {
	{ V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE, "V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE" },
	{ V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT, "V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT" },
	{ V4L2_H264_PPS_FLAG_WEIGHTED_PRED, "V4L2_H264_PPS_FLAG_WEIGHTED_PRED" },
	{ V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT" },
	{ V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED, "V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED" },
	{ V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT, "V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT" },
	{ V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE, "V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE" },
	{ V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT, "V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT" },
	{ 0, "" }
};

constexpr flag_def v4l2_h264_slice_flag_def[] = {
	{ V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED, "V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED" },
	{ V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH, "V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH" },
	{ 0, "" }
};

constexpr flag_def v4l2_h264_dpb_entry_flag_def[] = {
	{ V4L2_H264_DPB_ENTRY_FLAG_VALID, "V4L2_H264_DPB_ENTRY_FLAG_VALID" },
	{ V4L2_H264_DPB_ENTRY_FLAG_ACTIVE, "V4L2_H264_DPB_ENTRY_FLAG_ACTIVE" },
	{ V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM, "V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM" },
	{ V4L2_H264_DPB_ENTRY_FLAG_FIELD, "V4L2_H264_DPB_ENTRY_FLAG_FIELD" },
	{ 0, "" }
};

constexpr flag_def v4l2_h264_decode_param_flag_def[] = {
	{ V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC, "V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC" },
	{ V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC, "V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC" },
	{ V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD, "V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD" },
	{ V4L2_H264_DECODE_PARAM_FLAG_PFRAME, "V4L2_H264_DECODE_PARAM_FLAG_PFRAME" },
	{ V4L2_H264_DECODE_PARAM_FLAG_BFRAME, "V4L2_H264_DECODE_PARAM_FLAG_BFRAME" },
	{ 0, "" }
};

constexpr flag_def v4l2_ctrl_fwht_params_flag_def[] = {
	{ V4L2_FWHT_FL_IS_INTERLACED, "V4L2_FWHT_FL_IS_INTERLACED" },
	{ V4L2_FWHT_FL_IS_BOTTOM_FIRST, "V4L2_FWHT_FL_IS_BOTTOM_FIRST" },
	{ V4L2_FWHT_FL_IS_ALTERNATE, "V4L2_FWHT_FL_IS_ALTERNATE" },
	{ V4L2_FWHT_FL_IS_BOTTOM_FIELD, "V4L2_FWHT_FL_IS_BOTTOM_FIELD" },
	{ V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED, "V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED" },
	{ V4L2_FWHT_FL_CB_IS_UNCOMPRESSED, "V4L2_FWHT_FL_CB_IS_UNCOMPRESSED" },
	{ V4L2_FWHT_FL_CR_IS_UNCOMPRESSED, "V4L2_FWHT_FL_CR_IS_UNCOMPRESSED" },
	{ V4L2_FWHT_FL_CHROMA_FULL_HEIGHT, "V4L2_FWHT_FL_CHROMA_FULL_HEIGHT" },
	{ V4L2_FWHT_FL_CHROMA_FULL_WIDTH, "V4L2_FWHT_FL_CHROMA_FULL_WIDTH" },
	{ V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED, "V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED" },
	{ V4L2_FWHT_FL_I_FRAME, "V4L2_FWHT_FL_I_FRAME" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp8_segment_flag_def[] = {
	{ V4L2_VP8_SEGMENT_FLAG_ENABLED, "V4L2_VP8_SEGMENT_FLAG_ENABLED" },
	{ V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP, "V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP" },
	{ V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA, "V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA" },
	{ V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE, "V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp8_loop_filter_flag_def[] = {
	{ V4L2_VP8_LF_ADJ_ENABLE, "V4L2_VP8_LF_ADJ_ENABLE" },
	{ V4L2_VP8_LF_DELTA_UPDATE, "V4L2_VP8_LF_DELTA_UPDATE" },
	{ V4L2_VP8_LF_FILTER_TYPE_SIMPLE, "V4L2_VP8_LF_FILTER_TYPE_SIMPLE" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp8_frame_flag_def[] = {
	{ V4L2_VP8_FRAME_FLAG_KEY_FRAME, "V4L2_VP8_FRAME_FLAG_KEY_FRAME" },
	{ V4L2_VP8_FRAME_FLAG_EXPERIMENTAL, "V4L2_VP8_FRAME_FLAG_EXPERIMENTAL" },
	{ V4L2_VP8_FRAME_FLAG_SHOW_FRAME, "V4L2_VP8_FRAME_FLAG_SHOW_FRAME" },
	{ V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF, "V4L2_VP8_FRAME_FLAG_MB_NO_SKIP_COEFF" },
	{ V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN, "V4L2_VP8_FRAME_FLAG_SIGN_BIAS_GOLDEN" },
	{ V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT, "V4L2_VP8_FRAME_FLAG_SIGN_BIAS_ALT" },
	{ 0, "" }
};

constexpr flag_def v4l2_mpeg2_seq_flag_def[] = {
	{ V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE, "V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE" },
	{ 0, "" }
};

constexpr flag_def v4l2_mpeg2_pic_flag_def[] = {
	{ V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST, "V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST" },
	{ V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT, "V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT" },
	{ V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV, "V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV" },
	{ V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE, "V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE" },
	{ V4L2_MPEG2_PIC_FLAG_INTRA_VLC, "V4L2_MPEG2_PIC_FLAG_INTRA_VLC" },
	{ V4L2_MPEG2_PIC_FLAG_ALT_SCAN, "V4L2_MPEG2_PIC_FLAG_ALT_SCAN" },
	{ V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST, "V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST" },
	{ V4L2_MPEG2_PIC_FLAG_PROGRESSIVE, "V4L2_MPEG2_PIC_FLAG_PROGRESSIVE" },
	{ 0, "" }
};

constexpr val_def v4l2_stateless_hevc_decode_mode_val_def[] = {
	{ V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,	"V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED" },
	{ V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,	"V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED" },
	{ -1, "" }
};

constexpr val_def v4l2_stateless_hevc_start_code_val_def[] = {
	{ V4L2_STATELESS_HEVC_START_CODE_NONE,	"V4L2_STATELESS_HEVC_START_CODE_NONE" },
	{ V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,	"V4L2_STATELESS_HEVC_START_CODE_ANNEX_B" },
	{ -1, "" }
};

constexpr flag_def v4l2_hevc_sps_flag_def[] = {
	{ V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE, "V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE" },
	{ V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED, "V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED" },
	{ V4L2_HEVC_SPS_FLAG_AMP_ENABLED, "V4L2_HEVC_SPS_FLAG_AMP_ENABLED" },
	{ V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET, "V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET" },
	{ V4L2_HEVC_SPS_FLAG_PCM_ENABLED, "V4L2_HEVC_SPS_FLAG_PCM_ENABLED" },
	{ V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED, "V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED" },
	{ V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT, "V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT" },
	{ V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED, "V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED" },
	{ V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED, "V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED" },
	{ 0, "" }
};

constexpr flag_def v4l2_hevc_pps_flag_def[] = {
	{ V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED, "V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT, "V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED, "V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT, "V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED, "V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED" },
	{ V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED, "V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED, "V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT, "V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED, "V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED" },
	{ V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED, "V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED" },
	{ V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED, "V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_TILES_ENABLED, "V4L2_HEVC_PPS_FLAG_TILES_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED, "V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED, "V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED, "V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED, "V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED" },
	{ V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER, "V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER" },
	{ V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT, "V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT, "V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, "V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT" },
	{ V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING, "V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING" },
	{ 0, "" }
};

constexpr flag_def v4l2_hevc_slice_params_flag_def[] = {
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO, "V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT, "V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0, "V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV, "V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED, "V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED" },
	{ V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT, "V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT" },
	{ 0, "" }
};

constexpr flag_def v4l2_hevc_decode_param_flag_def[] = {
	{ V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC, "V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC" },
	{ V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC, "V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC" },
	{ V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR, "V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp9_loop_filter_flag_def[] = {
	{ V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED, "V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED" },
	{ V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE, "V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp9_segmentation_flag_def[] = {
	{ V4L2_VP9_SEGMENTATION_FLAG_ENABLED, "V4L2_VP9_SEGMENTATION_FLAG_ENABLED" },
	{ V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP, "V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP" },
	{ V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE, "V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE" },
	{ V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA, "V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA" },
	{ V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE, "V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE" },
	{ 0, "" }
};

constexpr flag_def v4l2_vp9_frame_flag_def[] = {
	{ V4L2_VP9_FRAME_FLAG_KEY_FRAME, "V4L2_VP9_FRAME_FLAG_KEY_FRAME" },
	{ V4L2_VP9_FRAME_FLAG_SHOW_FRAME, "V4L2_VP9_FRAME_FLAG_SHOW_FRAME" },
	{ V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT, "V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT" },
	{ V4L2_VP9_FRAME_FLAG_INTRA_ONLY, "V4L2_VP9_FRAME_FLAG_INTRA_ONLY" },
	{ V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV, "V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV" },
	{ V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX, "V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX" },
	{ V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE, "V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE" },
	{ V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING, "V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING" },
	{ V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING, "V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING" },
	{ V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING, "V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING" },
	{ 0, "" }
};

constexpr flag_def v4l2_av1_sequence_flag_def[] = {
	{ V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE, "V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE" },
	{ V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK, "V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF" },
	{ V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION, "V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION" },
	{ V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME, "V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME" },
	{ V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE, "V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE" },
	{ V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X, "V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X" },
	{ V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y, "V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y" },
	{ V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT, "V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT" },
	{ V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q, "V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q" },
	{ 0, "" }
};

constexpr val_def v4l2_av1_warp_model_val_def[] = {
	{ V4L2_AV1_WARP_MODEL_IDENTITY,	"V4L2_AV1_WARP_MODEL_IDENTITY" },
	{ V4L2_AV1_WARP_MODEL_TRANSLATION,	"V4L2_AV1_WARP_MODEL_TRANSLATION" },
	{ V4L2_AV1_WARP_MODEL_ROTZOOM,	"V4L2_AV1_WARP_MODEL_ROTZOOM" },
	{ V4L2_AV1_WARP_MODEL_AFFINE,	"V4L2_AV1_WARP_MODEL_AFFINE" },
	{ -1, "" }
};

constexpr val_def v4l2_av1_reference_frame_val_def[] = {
	{ V4L2_AV1_REF_INTRA_FRAME,	"V4L2_AV1_REF_INTRA_FRAME" },
	{ V4L2_AV1_REF_LAST_FRAME,	"V4L2_AV1_REF_LAST_FRAME" },
	{ V4L2_AV1_REF_LAST2_FRAME,	"V4L2_AV1_REF_LAST2_FRAME" },
	{ V4L2_AV1_REF_LAST3_FRAME,	"V4L2_AV1_REF_LAST3_FRAME" },
	{ V4L2_AV1_REF_GOLDEN_FRAME,	"V4L2_AV1_REF_GOLDEN_FRAME" },
	{ V4L2_AV1_REF_BWDREF_FRAME,	"V4L2_AV1_REF_BWDREF_FRAME" },
	{ V4L2_AV1_REF_ALTREF2_FRAME,	"V4L2_AV1_REF_ALTREF2_FRAME" },
	{ V4L2_AV1_REF_ALTREF_FRAME,	"V4L2_AV1_REF_ALTREF_FRAME" },
	{ -1, "" }
};

constexpr flag_def v4l2_av1_global_motion_flag_def[] = {
	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL" },
	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM" },
	{ V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION, "V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION" },
	{ 0, "" }
};

constexpr val_def v4l2_av1_frame_restoration_type_val_def[] = {
	{ V4L2_AV1_FRAME_RESTORE_NONE,	"V4L2_AV1_FRAME_RESTORE_NONE" },
	{ V4L2_AV1_FRAME_RESTORE_WIENER,	"V4L2_AV1_FRAME_RESTORE_WIENER" },
	{ V4L2_AV1_FRAME_RESTORE_SGRPROJ,	"V4L2_AV1_FRAME_RESTORE_SGRPROJ" },
	{ V4L2_AV1_FRAME_RESTORE_SWITCHABLE,	"V4L2_AV1_FRAME_RESTORE_SWITCHABLE" },
	{ -1, "" }
};

constexpr flag_def v4l2_av1_loop_restoration_flag_def[] = {
	{ V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR, "V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR" },
	{ V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR, "V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR" },
	{ 0, "" }
};

constexpr flag_def v4l2_av1_segmentation_flag_def[] = {
	{ V4L2_AV1_SEGMENTATION_FLAG_ENABLED, "V4L2_AV1_SEGMENTATION_FLAG_ENABLED" },
	{ V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP, "V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP" },
	{ V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE, "V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE" },
	{ V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA, "V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA" },
	{ V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP, "V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP" },
	{ 0, "" }
};

constexpr val_def v4l2_av1_segment_feature_val_def[] = {
	{ V4L2_AV1_SEG_LVL_ALT_Q,	"V4L2_AV1_SEG_LVL_ALT_Q" },
	{ V4L2_AV1_SEG_LVL_ALT_LF_Y_V,	"V4L2_AV1_SEG_LVL_ALT_LF_Y_V" },
	{ V4L2_AV1_SEG_LVL_REF_FRAME,	"V4L2_AV1_SEG_LVL_REF_FRAME" },
	{ V4L2_AV1_SEG_LVL_REF_SKIP,	"V4L2_AV1_SEG_LVL_REF_SKIP" },
	{ V4L2_AV1_SEG_LVL_REF_GLOBALMV,	"V4L2_AV1_SEG_LVL_REF_GLOBALMV" },
	{ V4L2_AV1_SEG_LVL_MAX,	"V4L2_AV1_SEG_LVL_MAX" },
	{ -1, "" }
};

constexpr flag_def v4l2_av1_loop_filter_flag_def[] = {
	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED" },
	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE" },
	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT" },
	{ V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI, "V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI" },
	{ 0, "" }
};

constexpr flag_def v4l2_av1_quantization_flag_def[] = {
	{ V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA, "V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA" },
	{ V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX, "V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX" },
	{ V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT, "V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT" },
	{ 0, "" }
};

constexpr flag_def v4l2_av1_tile_info_flag_def[] = {
	{ V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING, "V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING" },
	{ 0, "" }
};

constexpr val_def v4l2_av1_frame_type_val_def[] = {
	{ V4L2_AV1_KEY_FRAME,	"V4L2_AV1_KEY_FRAME" },
	{ V4L2_AV1_INTER_FRAME,	"V4L2_AV1_INTER_FRAME" },
	{ V4L2_AV1_INTRA_ONLY_FRAME,	"V4L2_AV1_INTRA_ONLY_FRAME" },
	{ V4L2_AV1_SWITCH_FRAME,	"V4L2_AV1_SWITCH_FRAME" },
	{ -1, "" }
};

constexpr val_def v4l2_av1_interpolation_filter_val_def[] = {
	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP" },
	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH" },
	{ V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP,	"V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP" },
	{ V4L2_AV1_INTERPOLATION_FILTER_BILINEAR,	"V4L2_AV1_INTERPOLATION_FILTER_BILINEAR" },
	{ V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE,	"V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE" },
	{ -1, "" }
};

constexpr val_def v4l2_av1_tx_mode_val_def[] = {
	{ V4L2_AV1_TX_MODE_ONLY_4X4,	"V4L2_AV1_TX_MODE_ONLY_4X4" },
	{ V4L2_AV1_TX_MODE_LARGEST,	"V4L2_AV1_TX_MODE_LARGEST" },
	{ V4L2_AV1_TX_MODE_SELECT,	"V4L2_AV1_TX_MODE_SELECT" },
	{ -1, "" }
};

constexpr flag_def v4l2_av1_frame_flag_def[] = {
	{ V4L2_AV1_FRAME_FLAG_SHOW_FRAME, "V4L2_AV1_FRAME_FLAG_SHOW_FRAME" },
	{ V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME, "V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME" },
	{ V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE, "V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE" },
	{ V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE, "V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE" },
	{ V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS, "V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS" },
	{ V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV, "V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV" },
	{ V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC, "V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC" },
	{ V4L2_AV1_FRAME_FLAG_USE_SUPERRES, "V4L2_AV1_FRAME_FLAG_USE_SUPERRES" },
	{ V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV, "V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV" },
	{ V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE, "V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE" },
	{ V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS, "V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS" },
	{ V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF, "V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF" },
	{ V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION, "V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION" },
	{ V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT, "V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT" },
	{ V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET, "V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET" },
	{ V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED, "V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED" },
	{ V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT, "V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT" },
	{ V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE, "V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE" },
	{ V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT, "V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT" },
	{ V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING, "V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING" },
	{ 0, "" }
};

constexpr flag_def v4l2_av1_film_grain_flag_def[] = {
	{ V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN, "V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN" },
	{ V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN, "V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN" },
	{ V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA, "V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA" },
	{ V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP, "V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP" },
	{ V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE, "V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE" },
	{ 0, "" }
};

constexpr val_def v4l2_field_val_def[] = {
	{ V4L2_FIELD_ANY,	"V4L2_FIELD_ANY" },
	{ V4L2_FIELD_NONE,	"V4L2_FIELD_NONE" },
	{ V4L2_FIELD_TOP,	"V4L2_FIELD_TOP" },
	{ V4L2_FIELD_BOTTOM,	"V4L2_FIELD_BOTTOM" },
	{ V4L2_FIELD_INTERLACED,	"V4L2_FIELD_INTERLACED" },
	{ V4L2_FIELD_SEQ_TB,	"V4L2_FIELD_SEQ_TB" },
	{ V4L2_FIELD_SEQ_BT,	"V4L2_FIELD_SEQ_BT" },
	{ V4L2_FIELD_ALTERNATE,	"V4L2_FIELD_ALTERNATE" },
	{ V4L2_FIELD_INTERLACED_TB,	"V4L2_FIELD_INTERLACED_TB" },
	{ V4L2_FIELD_INTERLACED_BT,	"V4L2_FIELD_INTERLACED_BT" },
	{ -1, "" }
};

constexpr val_def v4l2_buf_type_val_def[] = {
	{ V4L2_BUF_TYPE_VIDEO_CAPTURE,	"V4L2_BUF_TYPE_VIDEO_CAPTURE" },
	{ V4L2_BUF_TYPE_VIDEO_OUTPUT,	"V4L2_BUF_TYPE_VIDEO_OUTPUT" },
	{ V4L2_BUF_TYPE_VIDEO_OVERLAY,	"V4L2_BUF_TYPE_VIDEO_OVERLAY" },
	{ V4L2_BUF_TYPE_VBI_CAPTURE,	"V4L2_BUF_TYPE_VBI_CAPTURE" },
	{ V4L2_BUF_TYPE_VBI_OUTPUT,	"V4L2_BUF_TYPE_VBI_OUTPUT" },
	{ V4L2_BUF_TYPE_SLICED_VBI_CAPTURE,	"V4L2_BUF_TYPE_SLICED_VBI_CAPTURE" },
	{ V4L2_BUF_TYPE_SLICED_VBI_OUTPUT,	"V4L2_BUF_TYPE_SLICED_VBI_OUTPUT" },
	{ V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY,	"V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY" },
	{ V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,	"V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE" },
	{ V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE,	"V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE" },
	{ V4L2_BUF_TYPE_SDR_CAPTURE,	"V4L2_BUF_TYPE_SDR_CAPTURE" },
	{ V4L2_BUF_TYPE_SDR_OUTPUT,	"V4L2_BUF_TYPE_SDR_OUTPUT" },
	{ V4L2_BUF_TYPE_META_CAPTURE,	"V4L2_BUF_TYPE_META_CAPTURE" },
	{ V4L2_BUF_TYPE_META_OUTPUT,	"V4L2_BUF_TYPE_META_OUTPUT" },
	{ V4L2_BUF_TYPE_PRIVATE,	"V4L2_BUF_TYPE_PRIVATE" },
	{ -1, "" }
};

constexpr val_def v4l2_tuner_type_val_def[] = {
	{ V4L2_TUNER_RADIO,	"V4L2_TUNER_RADIO" },
	{ V4L2_TUNER_ANALOG_TV,	"V4L2_TUNER_ANALOG_TV" },
	{ V4L2_TUNER_DIGITAL_TV,	"V4L2_TUNER_DIGITAL_TV" },
	{ V4L2_TUNER_SDR,	"V4L2_TUNER_SDR" },
	{ V4L2_TUNER_RF,	"V4L2_TUNER_RF" },
	{ -1, "" }
};

constexpr val_def v4l2_memory_val_def[] = {
	{ V4L2_MEMORY_MMAP,	"V4L2_MEMORY_MMAP" },
	{ V4L2_MEMORY_USERPTR,	"V4L2_MEMORY_USERPTR" },
	{ V4L2_MEMORY_OVERLAY,	"V4L2_MEMORY_OVERLAY" },
	{ V4L2_MEMORY_DMABUF,	"V4L2_MEMORY_DMABUF" },
	{ -1, "" }
};

constexpr val_def v4l2_colorspace_val_def[] = {
	{ V4L2_COLORSPACE_DEFAULT,	"V4L2_COLORSPACE_DEFAULT" },
	{ V4L2_COLORSPACE_SMPTE170M,	"V4L2_COLORSPACE_SMPTE170M" },
	{ V4L2_COLORSPACE_SMPTE240M,	"V4L2_COLORSPACE_SMPTE240M" },
	{ V4L2_COLORSPACE_REC709,	"V4L2_COLORSPACE_REC709" },
	{ V4L2_COLORSPACE_BT878,	"V4L2_COLORSPACE_BT878" },
	{ V4L2_COLORSPACE_470_SYSTEM_M,	"V4L2_COLORSPACE_470_SYSTEM_M" },
	{ V4L2_COLORSPACE_470_SYSTEM_BG,	"V4L2_COLORSPACE_470_SYSTEM_BG" },
	{ V4L2_COLORSPACE_JPEG,	"V4L2_COLORSPACE_JPEG" },
	{ V4L2_COLORSPACE_SRGB,	"V4L2_COLORSPACE_SRGB" },
	{ V4L2_COLORSPACE_OPRGB,	"V4L2_COLORSPACE_OPRGB" },
	{ V4L2_COLORSPACE_BT2020,	"V4L2_COLORSPACE_BT2020" },
	{ V4L2_COLORSPACE_RAW,	"V4L2_COLORSPACE_RAW" },
	{ V4L2_COLORSPACE_DCI_P3,	"V4L2_COLORSPACE_DCI_P3" },
	{ -1, "" }
};

constexpr val_def v4l2_xfer_func_val_def[] = {
	{ V4L2_XFER_FUNC_DEFAULT,	"V4L2_XFER_FUNC_DEFAULT" },
	{ V4L2_XFER_FUNC_709,	"V4L2_XFER_FUNC_709" },
	{ V4L2_XFER_FUNC_SRGB,	"V4L2_XFER_FUNC_SRGB" },
	{ V4L2_XFER_FUNC_OPRGB,	"V4L2_XFER_FUNC_OPRGB" },
	{ V4L2_XFER_FUNC_SMPTE240M,	"V4L2_XFER_FUNC_SMPTE240M" },
	{ V4L2_XFER_FUNC_NONE,	"V4L2_XFER_FUNC_NONE" },
	{ V4L2_XFER_FUNC_DCI_P3,	"V4L2_XFER_FUNC_DCI_P3" },
	{ V4L2_XFER_FUNC_SMPTE2084,	"V4L2_XFER_FUNC_SMPTE2084" },
	{ -1, "" }
};

constexpr val_def v4l2_ycbcr_encoding_val_def[] = {
	{ V4L2_YCBCR_ENC_DEFAULT,	"V4L2_YCBCR_ENC_DEFAULT" },
	{ V4L2_YCBCR_ENC_601,	"V4L2_YCBCR_ENC_601" },
	{ V4L2_YCBCR_ENC_709,	"V4L2_YCBCR_ENC_709" },
	{ V4L2_YCBCR_ENC_XV601,	"V4L2_YCBCR_ENC_XV601" },
	{ V4L2_YCBCR_ENC_XV709,	"V4L2_YCBCR_ENC_XV709" },
	{ V4L2_YCBCR_ENC_SYCC,	"V4L2_YCBCR_ENC_SYCC" },
	{ V4L2_YCBCR_ENC_BT2020,	"V4L2_YCBCR_ENC_BT2020" },
	{ V4L2_YCBCR_ENC_BT2020_CONST_LUM,	"V4L2_YCBCR_ENC_BT2020_CONST_LUM" },
	{ V4L2_YCBCR_ENC_SMPTE240M,	"V4L2_YCBCR_ENC_SMPTE240M" },
	{ -1, "" }
};

constexpr val_def v4l2_hsv_encoding_val_def[] = {
	{ V4L2_HSV_ENC_180,	"V4L2_HSV_ENC_180" },
	{ V4L2_HSV_ENC_256,	"V4L2_HSV_ENC_256" },
	{ -1, "" }
};

constexpr val_def v4l2_quantization_val_def[] = {
	{ V4L2_QUANTIZATION_DEFAULT,	"V4L2_QUANTIZATION_DEFAULT" },
	{ V4L2_QUANTIZATION_FULL_RANGE,	"V4L2_QUANTIZATION_FULL_RANGE" },
	{ V4L2_QUANTIZATION_LIM_RANGE,	"V4L2_QUANTIZATION_LIM_RANGE" },
	{ -1, "" }
};

constexpr val_def v4l2_priority_val_def[] = {
	{ V4L2_PRIORITY_UNSET,	"V4L2_PRIORITY_UNSET" },
	{ V4L2_PRIORITY_BACKGROUND,	"V4L2_PRIORITY_BACKGROUND" },
	{ V4L2_PRIORITY_INTERACTIVE,	"V4L2_PRIORITY_INTERACTIVE" },
	{ V4L2_PRIORITY_RECORD,	"V4L2_PRIORITY_RECORD" },
	{ V4L2_PRIORITY_DEFAULT,	"V4L2_PRIORITY_DEFAULT" },
	{ -1, "" }
};

constexpr flag_def v4l2_cap_flag_def[] = {
	{ V4L2_CAP_VIDEO_CAPTURE,	"V4L2_CAP_VIDEO_CAPTURE" },
	{ V4L2_CAP_VIDEO_OUTPUT,	"V4L2_CAP_VIDEO_OUTPUT" },
	{ V4L2_CAP_VIDEO_OVERLAY,	"V4L2_CAP_VIDEO_OVERLAY" },
	{ V4L2_CAP_VBI_CAPTURE,	"V4L2_CAP_VBI_CAPTURE" },
	{ V4L2_CAP_VBI_OUTPUT,	"V4L2_CAP_VBI_OUTPUT" },
	{ V4L2_CAP_SLICED_VBI_CAPTURE,	"V4L2_CAP_SLICED_VBI_CAPTURE" },
	{ V4L2_CAP_SLICED_VBI_OUTPUT,	"V4L2_CAP_SLICED_VBI_OUTPUT" },
	{ V4L2_CAP_RDS_CAPTURE,	"V4L2_CAP_RDS_CAPTURE" },
	{ V4L2_CAP_VIDEO_OUTPUT_OVERLAY,	"V4L2_CAP_VIDEO_OUTPUT_OVERLAY" },
	{ V4L2_CAP_HW_FREQ_SEEK,	"V4L2_CAP_HW_FREQ_SEEK" },
	{ V4L2_CAP_RDS_OUTPUT,	"V4L2_CAP_RDS_OUTPUT" },
	{ V4L2_CAP_VIDEO_CAPTURE_MPLANE,	"V4L2_CAP_VIDEO_CAPTURE_MPLANE" },
	{ V4L2_CAP_VIDEO_OUTPUT_MPLANE,	"V4L2_CAP_VIDEO_OUTPUT_MPLANE" },
	{ V4L2_CAP_VIDEO_M2M_MPLANE,	"V4L2_CAP_VIDEO_M2M_MPLANE" },
	{ V4L2_CAP_VIDEO_M2M,	"V4L2_CAP_VIDEO_M2M" },
	{ V4L2_CAP_TUNER,	"V4L2_CAP_TUNER" },
	{ V4L2_CAP_AUDIO,	"V4L2_CAP_AUDIO" },
	{ V4L2_CAP_RADIO,	"V4L2_CAP_RADIO" },
	{ V4L2_CAP_MODULATOR,	"V4L2_CAP_MODULATOR" },
	{ V4L2_CAP_SDR_CAPTURE,	"V4L2_CAP_SDR_CAPTURE" },
	{ V4L2_CAP_EXT_PIX_FORMAT,	"V4L2_CAP_EXT_PIX_FORMAT" },
	{ V4L2_CAP_SDR_OUTPUT,	"V4L2_CAP_SDR_OUTPUT" },
	{ V4L2_CAP_META_CAPTURE,	"V4L2_CAP_META_CAPTURE" },
	{ V4L2_CAP_READWRITE,	"V4L2_CAP_READWRITE" },
	{ V4L2_CAP_STREAMING,	"V4L2_CAP_STREAMING" },
	{ V4L2_CAP_META_OUTPUT,	"V4L2_CAP_META_OUTPUT" },
	{ V4L2_CAP_TOUCH,	"V4L2_CAP_TOUCH" },
	{ V4L2_CAP_IO_MC,	"V4L2_CAP_IO_MC" },
	{ V4L2_CAP_DEVICE_CAPS,	"V4L2_CAP_DEVICE_CAPS" },
	{ 0, "" }
};

constexpr val_def v4l2_pix_fmt_val_def[] = {
	{ V4L2_PIX_FMT_RGB332,	"V4L2_PIX_FMT_RGB332" },
	{ V4L2_PIX_FMT_RGB444,	"V4L2_PIX_FMT_RGB444" },
	{ V4L2_PIX_FMT_ARGB444,	"V4L2_PIX_FMT_ARGB444" },
	{ V4L2_PIX_FMT_XRGB444,	"V4L2_PIX_FMT_XRGB444" },
	{ V4L2_PIX_FMT_RGBA444,	"V4L2_PIX_FMT_RGBA444" },
	{ V4L2_PIX_FMT_RGBX444,	"V4L2_PIX_FMT_RGBX444" },
	{ V4L2_PIX_FMT_ABGR444,	"V4L2_PIX_FMT_ABGR444" },
	{ V4L2_PIX_FMT_XBGR444,	"V4L2_PIX_FMT_XBGR444" },
	{ V4L2_PIX_FMT_BGRA444,	"V4L2_PIX_FMT_BGRA444" },
	{ V4L2_PIX_FMT_BGRX444,	"V4L2_PIX_FMT_BGRX444" },
	{ V4L2_PIX_FMT_RGB555,	"V4L2_PIX_FMT_RGB555" },
	{ V4L2_PIX_FMT_ARGB555,	"V4L2_PIX_FMT_ARGB555" },
	{ V4L2_PIX_FMT_XRGB555,	"V4L2_PIX_FMT_XRGB555" },
	{ V4L2_PIX_FMT_RGBA555,	"V4L2_PIX_FMT_RGBA555" },
	{ V4L2_PIX_FMT_RGBX555,	"V4L2_PIX_FMT_RGBX555" },
	{ V4L2_PIX_FMT_ABGR555,	"V4L2_PIX_FMT_ABGR555" },
	{ V4L2_PIX_FMT_XBGR555,	"V4L2_PIX_FMT_XBGR555" },
	{ V4L2_PIX_FMT_BGRA555,	"V4L2_PIX_FMT_BGRA555" },
	{ V4L2_PIX_FMT_BGRX555,	"V4L2_PIX_FMT_BGRX555" },
	{ V4L2_PIX_FMT_RGB565,	"V4L2_PIX_FMT_RGB565" },
	{ V4L2_PIX_FMT_RGB555X,	"V4L2_PIX_FMT_RGB555X" },
	{ V4L2_PIX_FMT_ARGB555X,	"V4L2_PIX_FMT_ARGB555X" },
	{ V4L2_PIX_FMT_XRGB555X,	"V4L2_PIX_FMT_XRGB555X" },
	{ V4L2_PIX_FMT_RGB565X,	"V4L2_PIX_FMT_RGB565X" },
	{ V4L2_PIX_FMT_BGR666,	"V4L2_PIX_FMT_BGR666" },
	{ V4L2_PIX_FMT_BGR24,	"V4L2_PIX_FMT_BGR24" },
	{ V4L2_PIX_FMT_RGB24,	"V4L2_PIX_FMT_RGB24" },
	{ V4L2_PIX_FMT_BGR32,	"V4L2_PIX_FMT_BGR32" },
	{ V4L2_PIX_FMT_ABGR32,	"V4L2_PIX_FMT_ABGR32" },
	{ V4L2_PIX_FMT_XBGR32,	"V4L2_PIX_FMT_XBGR32" },
	{ V4L2_PIX_FMT_BGRA32,	"V4L2_PIX_FMT_BGRA32" },
	{ V4L2_PIX_FMT_BGRX32,	"V4L2_PIX_FMT_BGRX32" },
	{ V4L2_PIX_FMT_RGB32,	"V4L2_PIX_FMT_RGB32" },
	{ V4L2_PIX_FMT_RGBA32,	"V4L2_PIX_FMT_RGBA32" },
	{ V4L2_PIX_FMT_RGBX32,	"V4L2_PIX_FMT_RGBX32" },
	{ V4L2_PIX_FMT_ARGB32,	"V4L2_PIX_FMT_ARGB32" },
	{ V4L2_PIX_FMT_XRGB32,	"V4L2_PIX_FMT_XRGB32" },
	{ V4L2_PIX_FMT_RGBX1010102,	"V4L2_PIX_FMT_RGBX1010102" },
	{ V4L2_PIX_FMT_RGBA1010102,	"V4L2_PIX_FMT_RGBA1010102" },
	{ V4L2_PIX_FMT_ARGB2101010,	"V4L2_PIX_FMT_ARGB2101010" },
	{ V4L2_PIX_FMT_BGR48_12,	"V4L2_PIX_FMT_BGR48_12" },
	{ V4L2_PIX_FMT_BGR48,	"V4L2_PIX_FMT_BGR48" },
	{ V4L2_PIX_FMT_RGB48,	"V4L2_PIX_FMT_RGB48" },
	{ V4L2_PIX_FMT_ABGR64_12,	"V4L2_PIX_FMT_ABGR64_12" },
	{ V4L2_PIX_FMT_GREY,	"V4L2_PIX_FMT_GREY" },
	{ V4L2_PIX_FMT_Y4,	"V4L2_PIX_FMT_Y4" },
	{ V4L2_PIX_FMT_Y6,	"V4L2_PIX_FMT_Y6" },
	{ V4L2_PIX_FMT_Y10,	"V4L2_PIX_FMT_Y10" },
	{ V4L2_PIX_FMT_Y12,	"V4L2_PIX_FMT_Y12" },
	{ V4L2_PIX_FMT_Y012,	"V4L2_PIX_FMT_Y012" },
	{ V4L2_PIX_FMT_Y14,	"V4L2_PIX_FMT_Y14" },
	{ V4L2_PIX_FMT_Y16,	"V4L2_PIX_FMT_Y16" },
	{ V4L2_PIX_FMT_Y16_BE,	"V4L2_PIX_FMT_Y16_BE" },
	{ V4L2_PIX_FMT_Y10BPACK,	"V4L2_PIX_FMT_Y10BPACK" },
	{ V4L2_PIX_FMT_Y10P,	"V4L2_PIX_FMT_Y10P" },
	{ V4L2_PIX_FMT_IPU3_Y10,	"V4L2_PIX_FMT_IPU3_Y10" },
	{ V4L2_PIX_FMT_Y12P,	"V4L2_PIX_FMT_Y12P" },
	{ V4L2_PIX_FMT_Y14P,	"V4L2_PIX_FMT_Y14P" },
	{ V4L2_PIX_FMT_PAL8,	"V4L2_PIX_FMT_PAL8" },
	{ V4L2_PIX_FMT_UV8,	"V4L2_PIX_FMT_UV8" },
	{ V4L2_PIX_FMT_YUYV,	"V4L2_PIX_FMT_YUYV" },
	{ V4L2_PIX_FMT_YYUV,	"V4L2_PIX_FMT_YYUV" },
	{ V4L2_PIX_FMT_YVYU,	"V4L2_PIX_FMT_YVYU" },
	{ V4L2_PIX_FMT_UYVY,	"V4L2_PIX_FMT_UYVY" },
	{ V4L2_PIX_FMT_VYUY,	"V4L2_PIX_FMT_VYUY" },
	{ V4L2_PIX_FMT_Y41P,	"V4L2_PIX_FMT_Y41P" },
	{ V4L2_PIX_FMT_YUV444,	"V4L2_PIX_FMT_YUV444" },
	{ V4L2_PIX_FMT_YUV555,	"V4L2_PIX_FMT_YUV555" },
	{ V4L2_PIX_FMT_YUV565,	"V4L2_PIX_FMT_YUV565" },
	{ V4L2_PIX_FMT_YUV24,	"V4L2_PIX_FMT_YUV24" },
	{ V4L2_PIX_FMT_YUV32,	"V4L2_PIX_FMT_YUV32" },
	{ V4L2_PIX_FMT_AYUV32,	"V4L2_PIX_FMT_AYUV32" },
	{ V4L2_PIX_FMT_XYUV32,	"V4L2_PIX_FMT_XYUV32" },
	{ V4L2_PIX_FMT_VUYA32,	"V4L2_PIX_FMT_VUYA32" },
	{ V4L2_PIX_FMT_VUYX32,	"V4L2_PIX_FMT_VUYX32" },
	{ V4L2_PIX_FMT_YUVA32,	"V4L2_PIX_FMT_YUVA32" },
	{ V4L2_PIX_FMT_YUVX32,	"V4L2_PIX_FMT_YUVX32" },
	{ V4L2_PIX_FMT_M420,	"V4L2_PIX_FMT_M420" },
	{ V4L2_PIX_FMT_YUV48_12,	"V4L2_PIX_FMT_YUV48_12" },
	{ V4L2_PIX_FMT_Y210,	"V4L2_PIX_FMT_Y210" },
	{ V4L2_PIX_FMT_Y212,	"V4L2_PIX_FMT_Y212" },
	{ V4L2_PIX_FMT_Y216,	"V4L2_PIX_FMT_Y216" },
	{ V4L2_PIX_FMT_NV12,	"V4L2_PIX_FMT_NV12" },
	{ V4L2_PIX_FMT_NV21,	"V4L2_PIX_FMT_NV21" },
	{ V4L2_PIX_FMT_NV16,	"V4L2_PIX_FMT_NV16" },
	{ V4L2_PIX_FMT_NV61,	"V4L2_PIX_FMT_NV61" },
	{ V4L2_PIX_FMT_NV24,	"V4L2_PIX_FMT_NV24" },
	{ V4L2_PIX_FMT_NV42,	"V4L2_PIX_FMT_NV42" },
	{ V4L2_PIX_FMT_P010,	"V4L2_PIX_FMT_P010" },
	{ V4L2_PIX_FMT_P012,	"V4L2_PIX_FMT_P012" },
	{ V4L2_PIX_FMT_NV12M,	"V4L2_PIX_FMT_NV12M" },
	{ V4L2_PIX_FMT_NV21M,	"V4L2_PIX_FMT_NV21M" },
	{ V4L2_PIX_FMT_NV16M,	"V4L2_PIX_FMT_NV16M" },
	{ V4L2_PIX_FMT_NV61M,	"V4L2_PIX_FMT_NV61M" },
	{ V4L2_PIX_FMT_P012M,	"V4L2_PIX_FMT_P012M" },
	{ V4L2_PIX_FMT_YUV410,	"V4L2_PIX_FMT_YUV410" },
	{ V4L2_PIX_FMT_YVU410,	"V4L2_PIX_FMT_YVU410" },
	{ V4L2_PIX_FMT_YUV411P,	"V4L2_PIX_FMT_YUV411P" },
	{ V4L2_PIX_FMT_YUV420,	"V4L2_PIX_FMT_YUV420" },
	{ V4L2_PIX_FMT_YVU420,	"V4L2_PIX_FMT_YVU420" },
	{ V4L2_PIX_FMT_YUV422P,	"V4L2_PIX_FMT_YUV422P" },
	{ V4L2_PIX_FMT_YUV420M,	"V4L2_PIX_FMT_YUV420M" },
	{ V4L2_PIX_FMT_YVU420M,	"V4L2_PIX_FMT_YVU420M" },
	{ V4L2_PIX_FMT_YUV422M,	"V4L2_PIX_FMT_YUV422M" },
	{ V4L2_PIX_FMT_YVU422M,	"V4L2_PIX_FMT_YVU422M" },
	{ V4L2_PIX_FMT_YUV444M,	"V4L2_PIX_FMT_YUV444M" },
	{ V4L2_PIX_FMT_YVU444M,	"V4L2_PIX_FMT_YVU444M" },
	{ V4L2_PIX_FMT_NV12_4L4,	"V4L2_PIX_FMT_NV12_4L4" },
	{ V4L2_PIX_FMT_NV12_16L16,	"V4L2_PIX_FMT_NV12_16L16" },
	{ V4L2_PIX_FMT_NV12_32L32,	"V4L2_PIX_FMT_NV12_32L32" },
	{ V4L2_PIX_FMT_NV15_4L4,	"V4L2_PIX_FMT_NV15_4L4" },
	{ V4L2_PIX_FMT_P010_4L4,	"V4L2_PIX_FMT_P010_4L4" },
	{ V4L2_PIX_FMT_NV12_8L128,	"V4L2_PIX_FMT_NV12_8L128" },
	{ V4L2_PIX_FMT_NV12_10BE_8L128,	"V4L2_PIX_FMT_NV12_10BE_8L128" },
	{ V4L2_PIX_FMT_NV12MT,	"V4L2_PIX_FMT_NV12MT" },
	{ V4L2_PIX_FMT_NV12MT_16X16,	"V4L2_PIX_FMT_NV12MT_16X16" },
	{ V4L2_PIX_FMT_NV12M_8L128,	"V4L2_PIX_FMT_NV12M_8L128" },
	{ V4L2_PIX_FMT_NV12M_10BE_8L128,	"V4L2_PIX_FMT_NV12M_10BE_8L128" },
	{ V4L2_PIX_FMT_SBGGR8,	"V4L2_PIX_FMT_SBGGR8" },
	{ V4L2_PIX_FMT_SGBRG8,	"V4L2_PIX_FMT_SGBRG8" },
	{ V4L2_PIX_FMT_SGRBG8,	"V4L2_PIX_FMT_SGRBG8" },
	{ V4L2_PIX_FMT_SRGGB8,	"V4L2_PIX_FMT_SRGGB8" },
	{ V4L2_PIX_FMT_SBGGR10,	"V4L2_PIX_FMT_SBGGR10" },
	{ V4L2_PIX_FMT_SGBRG10,	"V4L2_PIX_FMT_SGBRG10" },
	{ V4L2_PIX_FMT_SGRBG10,	"V4L2_PIX_FMT_SGRBG10" },
	{ V4L2_PIX_FMT_SRGGB10,	"V4L2_PIX_FMT_SRGGB10" },
	{ V4L2_PIX_FMT_SBGGR10P,	"V4L2_PIX_FMT_SBGGR10P" },
	{ V4L2_PIX_FMT_SGBRG10P,	"V4L2_PIX_FMT_SGBRG10P" },
	{ V4L2_PIX_FMT_SGRBG10P,	"V4L2_PIX_FMT_SGRBG10P" },
	{ V4L2_PIX_FMT_SRGGB10P,	"V4L2_PIX_FMT_SRGGB10P" },
	{ V4L2_PIX_FMT_SBGGR10ALAW8,	"V4L2_PIX_FMT_SBGGR10ALAW8" },
	{ V4L2_PIX_FMT_SGBRG10ALAW8,	"V4L2_PIX_FMT_SGBRG10ALAW8" },
	{ V4L2_PIX_FMT_SGRBG10ALAW8,	"V4L2_PIX_FMT_SGRBG10ALAW8" },
	{ V4L2_PIX_FMT_SRGGB10ALAW8,	"V4L2_PIX_FMT_SRGGB10ALAW8" },
	{ V4L2_PIX_FMT_SBGGR10DPCM8,	"V4L2_PIX_FMT_SBGGR10DPCM8" },
	{ V4L2_PIX_FMT_SGBRG10DPCM8,	"V4L2_PIX_FMT_SGBRG10DPCM8" },
	{ V4L2_PIX_FMT_SGRBG10DPCM8,	"V4L2_PIX_FMT_SGRBG10DPCM8" },
	{ V4L2_PIX_FMT_SRGGB10DPCM8,	"V4L2_PIX_FMT_SRGGB10DPCM8" },
	{ V4L2_PIX_FMT_SBGGR12,	"V4L2_PIX_FMT_SBGGR12" },
	{ V4L2_PIX_FMT_SGBRG12,	"V4L2_PIX_FMT_SGBRG12" },
	{ V4L2_PIX_FMT_SGRBG12,	"V4L2_PIX_FMT_SGRBG12" },
	{ V4L2_PIX_FMT_SRGGB12,	"V4L2_PIX_FMT_SRGGB12" },
	{ V4L2_PIX_FMT_SBGGR12P,	"V4L2_PIX_FMT_SBGGR12P" },
	{ V4L2_PIX_FMT_SGBRG12P,	"V4L2_PIX_FMT_SGBRG12P" },
	{ V4L2_PIX_FMT_SGRBG12P,	"V4L2_PIX_FMT_SGRBG12P" },
	{ V4L2_PIX_FMT_SRGGB12P,	"V4L2_PIX_FMT_SRGGB12P" },
	{ V4L2_PIX_FMT_SBGGR14,	"V4L2_PIX_FMT_SBGGR14" },
	{ V4L2_PIX_FMT_SGBRG14,	"V4L2_PIX_FMT_SGBRG14" },
	{ V4L2_PIX_FMT_SGRBG14,	"V4L2_PIX_FMT_SGRBG14" },
	{ V4L2_PIX_FMT_SRGGB14,	"V4L2_PIX_FMT_SRGGB14" },
	{ V4L2_PIX_FMT_SBGGR14P,	"V4L2_PIX_FMT_SBGGR14P" },
	{ V4L2_PIX_FMT_SGBRG14P,	"V4L2_PIX_FMT_SGBRG14P" },
	{ V4L2_PIX_FMT_SGRBG14P,	"V4L2_PIX_FMT_SGRBG14P" },
	{ V4L2_PIX_FMT_SRGGB14P,	"V4L2_PIX_FMT_SRGGB14P" },
	{ V4L2_PIX_FMT_SBGGR16,	"V4L2_PIX_FMT_SBGGR16" },
	{ V4L2_PIX_FMT_SGBRG16,	"V4L2_PIX_FMT_SGBRG16" },
	{ V4L2_PIX_FMT_SGRBG16,	"V4L2_PIX_FMT_SGRBG16" },
	{ V4L2_PIX_FMT_SRGGB16,	"V4L2_PIX_FMT_SRGGB16" },
	{ V4L2_PIX_FMT_HSV24,	"V4L2_PIX_FMT_HSV24" },
	{ V4L2_PIX_FMT_HSV32,	"V4L2_PIX_FMT_HSV32" },
	{ V4L2_PIX_FMT_MJPEG,	"V4L2_PIX_FMT_MJPEG" },
	{ V4L2_PIX_FMT_JPEG,	"V4L2_PIX_FMT_JPEG" },
	{ V4L2_PIX_FMT_DV,	"V4L2_PIX_FMT_DV" },
	{ V4L2_PIX_FMT_MPEG,	"V4L2_PIX_FMT_MPEG" },
	{ V4L2_PIX_FMT_H264,	"V4L2_PIX_FMT_H264" },
	{ V4L2_PIX_FMT_H264_NO_SC,	"V4L2_PIX_FMT_H264_NO_SC" },
	{ V4L2_PIX_FMT_H264_MVC,	"V4L2_PIX_FMT_H264_MVC" },
	{ V4L2_PIX_FMT_H263,	"V4L2_PIX_FMT_H263" },
	{ V4L2_PIX_FMT_MPEG1,	"V4L2_PIX_FMT_MPEG1" },
	{ V4L2_PIX_FMT_MPEG2,	"V4L2_PIX_FMT_MPEG2" },
	{ V4L2_PIX_FMT_MPEG2_SLICE,	"V4L2_PIX_FMT_MPEG2_SLICE" },
	{ V4L2_PIX_FMT_MPEG4,	"V4L2_PIX_FMT_MPEG4" },
	{ V4L2_PIX_FMT_XVID,	"V4L2_PIX_FMT_XVID" },
	{ V4L2_PIX_FMT_VC1_ANNEX_G,	"V4L2_PIX_FMT_VC1_ANNEX_G" },
	{ V4L2_PIX_FMT_VC1_ANNEX_L,	"V4L2_PIX_FMT_VC1_ANNEX_L" },
	{ V4L2_PIX_FMT_VP8,	"V4L2_PIX_FMT_VP8" },
	{ V4L2_PIX_FMT_VP8_FRAME,	"V4L2_PIX_FMT_VP8_FRAME" },
	{ V4L2_PIX_FMT_VP9,	"V4L2_PIX_FMT_VP9" },
	{ V4L2_PIX_FMT_VP9_FRAME,	"V4L2_PIX_FMT_VP9_FRAME" },
	{ V4L2_PIX_FMT_HEVC,	"V4L2_PIX_FMT_HEVC" },
	{ V4L2_PIX_FMT_FWHT,	"V4L2_PIX_FMT_FWHT" },
	{ V4L2_PIX_FMT_FWHT_STATELESS,	"V4L2_PIX_FMT_FWHT_STATELESS" },
	{ V4L2_PIX_FMT_H264_SLICE,	"V4L2_PIX_FMT_H264_SLICE" },
	{ V4L2_PIX_FMT_HEVC_SLICE,	"V4L2_PIX_FMT_HEVC_SLICE" },
	{ V4L2_PIX_FMT_AV1_FRAME,	"V4L2_PIX_FMT_AV1_FRAME" },
	{ V4L2_PIX_FMT_SPK,	"V4L2_PIX_FMT_SPK" },
	{ V4L2_PIX_FMT_RV30,	"V4L2_PIX_FMT_RV30" },
	{ V4L2_PIX_FMT_RV40,	"V4L2_PIX_FMT_RV40" },
	{ V4L2_PIX_FMT_CPIA1,	"V4L2_PIX_FMT_CPIA1" },
	{ V4L2_PIX_FMT_WNVA,	"V4L2_PIX_FMT_WNVA" },
	{ V4L2_PIX_FMT_SN9C10X,	"V4L2_PIX_FMT_SN9C10X" },
	{ V4L2_PIX_FMT_SN9C20X_I420,	"V4L2_PIX_FMT_SN9C20X_I420" },
	{ V4L2_PIX_FMT_PWC1,	"V4L2_PIX_FMT_PWC1" },
	{ V4L2_PIX_FMT_PWC2,	"V4L2_PIX_FMT_PWC2" },
	{ V4L2_PIX_FMT_ET61X251,	"V4L2_PIX_FMT_ET61X251" },
	{ V4L2_PIX_FMT_SPCA501,	"V4L2_PIX_FMT_SPCA501" },
	{ V4L2_PIX_FMT_SPCA505,	"V4L2_PIX_FMT_SPCA505" },
	{ V4L2_PIX_FMT_SPCA508,	"V4L2_PIX_FMT_SPCA508" },
	{ V4L2_PIX_FMT_SPCA561,	"V4L2_PIX_FMT_SPCA561" },
	{ V4L2_PIX_FMT_PAC207,	"V4L2_PIX_FMT_PAC207" },
	{ V4L2_PIX_FMT_MR97310A,	"V4L2_PIX_FMT_MR97310A" },
	{ V4L2_PIX_FMT_JL2005BCD,	"V4L2_PIX_FMT_JL2005BCD" },
	{ V4L2_PIX_FMT_SN9C2028,	"V4L2_PIX_FMT_SN9C2028" },
	{ V4L2_PIX_FMT_SQ905C,	"V4L2_PIX_FMT_SQ905C" },
	{ V4L2_PIX_FMT_PJPG,	"V4L2_PIX_FMT_PJPG" },
	{ V4L2_PIX_FMT_OV511,	"V4L2_PIX_FMT_OV511" },
	{ V4L2_PIX_FMT_OV518,	"V4L2_PIX_FMT_OV518" },
	{ V4L2_PIX_FMT_STV0680,	"V4L2_PIX_FMT_STV0680" },
	{ V4L2_PIX_FMT_TM6000,	"V4L2_PIX_FMT_TM6000" },
	{ V4L2_PIX_FMT_CIT_YYVYUY,	"V4L2_PIX_FMT_CIT_YYVYUY" },
	{ V4L2_PIX_FMT_KONICA420,	"V4L2_PIX_FMT_KONICA420" },
	{ V4L2_PIX_FMT_JPGL,	"V4L2_PIX_FMT_JPGL" },
	{ V4L2_PIX_FMT_SE401,	"V4L2_PIX_FMT_SE401" },
	{ V4L2_PIX_FMT_S5C_UYVY_JPG,	"V4L2_PIX_FMT_S5C_UYVY_JPG" },
	{ V4L2_PIX_FMT_Y8I,	"V4L2_PIX_FMT_Y8I" },
	{ V4L2_PIX_FMT_Y12I,	"V4L2_PIX_FMT_Y12I" },
	{ V4L2_PIX_FMT_Z16,	"V4L2_PIX_FMT_Z16" },
	{ V4L2_PIX_FMT_MT21C,	"V4L2_PIX_FMT_MT21C" },
	{ V4L2_PIX_FMT_MM21,	"V4L2_PIX_FMT_MM21" },
	{ V4L2_PIX_FMT_MT2110T,	"V4L2_PIX_FMT_MT2110T" },
	{ V4L2_PIX_FMT_MT2110R,	"V4L2_PIX_FMT_MT2110R" },
	{ V4L2_PIX_FMT_INZI,	"V4L2_PIX_FMT_INZI" },
	{ V4L2_PIX_FMT_CNF4,	"V4L2_PIX_FMT_CNF4" },
	{ V4L2_PIX_FMT_HI240,	"V4L2_PIX_FMT_HI240" },
	{ V4L2_PIX_FMT_QC08C,	"V4L2_PIX_FMT_QC08C" },
	{ V4L2_PIX_FMT_QC10C,	"V4L2_PIX_FMT_QC10C" },
	{ V4L2_PIX_FMT_AJPG,	"V4L2_PIX_FMT_AJPG" },
	{ V4L2_PIX_FMT_HEXTILE,	"V4L2_PIX_FMT_HEXTILE" },
	{ V4L2_PIX_FMT_IPU3_SBGGR10,	"V4L2_PIX_FMT_IPU3_SBGGR10" },
	{ V4L2_PIX_FMT_IPU3_SGBRG10,	"V4L2_PIX_FMT_IPU3_SGBRG10" },
	{ V4L2_PIX_FMT_IPU3_SGRBG10,	"V4L2_PIX_FMT_IPU3_SGRBG10" },
	{ V4L2_PIX_FMT_IPU3_SRGGB10,	"V4L2_PIX_FMT_IPU3_SRGGB10" },
	{ -1, "" }
};

constexpr flag_def v4l2_pix_fmt_flag_def[] = {
	{ V4L2_PIX_FMT_FLAG_PREMUL_ALPHA, "V4L2_PIX_FMT_FLAG_PREMUL_ALPHA" },
	{ V4L2_PIX_FMT_FLAG_SET_CSC, "V4L2_PIX_FMT_FLAG_SET_CSC" },
	{ 0, "" }
};

constexpr flag_def v4l2_fmt_flag_def[] = {
	{ V4L2_FMT_FLAG_COMPRESSED, "V4L2_FMT_FLAG_COMPRESSED" },
	{ V4L2_FMT_FLAG_EMULATED, "V4L2_FMT_FLAG_EMULATED" },
	{ V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM, "V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM" },
	{ V4L2_FMT_FLAG_DYN_RESOLUTION, "V4L2_FMT_FLAG_DYN_RESOLUTION" },
	{ V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL, "V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL" },
	{ V4L2_FMT_FLAG_CSC_COLORSPACE, "V4L2_FMT_FLAG_CSC_COLORSPACE" },
	{ V4L2_FMT_FLAG_CSC_XFER_FUNC, "V4L2_FMT_FLAG_CSC_XFER_FUNC" },
	{ V4L2_FMT_FLAG_CSC_YCBCR_ENC, "V4L2_FMT_FLAG_CSC_YCBCR_ENC" },
	{ V4L2_FMT_FLAG_CSC_HSV_ENC, "V4L2_FMT_FLAG_CSC_HSV_ENC" },
	{ V4L2_FMT_FLAG_CSC_QUANTIZATION, "V4L2_FMT_FLAG_CSC_QUANTIZATION" },
	{ V4L2_FMT_FLAG_META_LINE_BASED, "V4L2_FMT_FLAG_META_LINE_BASED" },
	{ 0, "" }
};

constexpr val_def v4l2_frmsizetypes_val_def[] = {
	{ V4L2_FRMSIZE_TYPE_DISCRETE,	"V4L2_FRMSIZE_TYPE_DISCRETE" },
	{ V4L2_FRMSIZE_TYPE_CONTINUOUS,	"V4L2_FRMSIZE_TYPE_CONTINUOUS" },
	{ V4L2_FRMSIZE_TYPE_STEPWISE,	"V4L2_FRMSIZE_TYPE_STEPWISE" },
	{ -1, "" }
};

constexpr val_def v4l2_frmivaltypes_val_def[] = {
	{ V4L2_FRMIVAL_TYPE_DISCRETE,	"V4L2_FRMIVAL_TYPE_DISCRETE" },
	{ V4L2_FRMIVAL_TYPE_CONTINUOUS,	"V4L2_FRMIVAL_TYPE_CONTINUOUS" },
	{ V4L2_FRMIVAL_TYPE_STEPWISE,	"V4L2_FRMIVAL_TYPE_STEPWISE" },
	{ -1, "" }
};

constexpr flag_def v4l2_tc_flag_def[] = {
	{ V4L2_TC_FLAG_DROPFRAME, "V4L2_TC_FLAG_DROPFRAME" },
	{ V4L2_TC_FLAG_COLORFRAME, "V4L2_TC_FLAG_COLORFRAME" },
	{ 0, "" }
};

constexpr flag_def v4l2_memory_flag_def[] = {
	{ V4L2_MEMORY_FLAG_NON_COHERENT, "V4L2_MEMORY_FLAG_NON_COHERENT" },
	{ 0, "" }
};

constexpr flag_def v4l2_buf_cap_flag_def[] = {
	{ V4L2_BUF_CAP_SUPPORTS_MMAP,	"V4L2_BUF_CAP_SUPPORTS_MMAP" },
	{ V4L2_BUF_CAP_SUPPORTS_USERPTR,	"V4L2_BUF_CAP_SUPPORTS_USERPTR" },
	{ V4L2_BUF_CAP_SUPPORTS_DMABUF,	"V4L2_BUF_CAP_SUPPORTS_DMABUF" },
	{ V4L2_BUF_CAP_SUPPORTS_REQUESTS,	"V4L2_BUF_CAP_SUPPORTS_REQUESTS" },
	{ V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS,	"V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS" },
	{ V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF,	"V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF" },
	{ V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS,	"V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS" },
	{ V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS,	"V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS" },
	{ 0, "" }
};

constexpr flag_def v4l2_buf_flag_def[] = {
	{ V4L2_BUF_FLAG_MAPPED, "V4L2_BUF_FLAG_MAPPED" },
	{ V4L2_BUF_FLAG_QUEUED, "V4L2_BUF_FLAG_QUEUED" },
	{ V4L2_BUF_FLAG_DONE, "V4L2_BUF_FLAG_DONE" },
	{ V4L2_BUF_FLAG_KEYFRAME, "V4L2_BUF_FLAG_KEYFRAME" },
	{ V4L2_BUF_FLAG_PFRAME, "V4L2_BUF_FLAG_PFRAME" },
	{ V4L2_BUF_FLAG_BFRAME, "V4L2_BUF_FLAG_BFRAME" },
	{ V4L2_BUF_FLAG_ERROR, "V4L2_BUF_FLAG_ERROR" },
	{ V4L2_BUF_FLAG_IN_REQUEST, "V4L2_BUF_FLAG_IN_REQUEST" },
	{ V4L2_BUF_FLAG_TIMECODE, "V4L2_BUF_FLAG_TIMECODE" },
	{ V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF, "V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF" },
	{ V4L2_BUF_FLAG_PREPARED, "V4L2_BUF_FLAG_PREPARED" },
	{ V4L2_BUF_FLAG_NO_CACHE_INVALIDATE, "V4L2_BUF_FLAG_NO_CACHE_INVALIDATE" },
	{ V4L2_BUF_FLAG_NO_CACHE_CLEAN, "V4L2_BUF_FLAG_NO_CACHE_CLEAN" },
	{ V4L2_BUF_FLAG_LAST, "V4L2_BUF_FLAG_LAST" },
	{ V4L2_BUF_FLAG_REQUEST_FD, "V4L2_BUF_FLAG_REQUEST_FD" },
	{ 0, "" }
};

constexpr flag_def v4l2_fbuf_flag_def[] = {
	{ V4L2_FBUF_FLAG_PRIMARY, "V4L2_FBUF_FLAG_PRIMARY" },
	{ V4L2_FBUF_FLAG_OVERLAY, "V4L2_FBUF_FLAG_OVERLAY" },
	{ V4L2_FBUF_FLAG_CHROMAKEY, "V4L2_FBUF_FLAG_CHROMAKEY" },
	{ V4L2_FBUF_FLAG_LOCAL_ALPHA, "V4L2_FBUF_FLAG_LOCAL_ALPHA" },
	{ V4L2_FBUF_FLAG_GLOBAL_ALPHA, "V4L2_FBUF_FLAG_GLOBAL_ALPHA" },
	{ V4L2_FBUF_FLAG_LOCAL_INV_ALPHA, "V4L2_FBUF_FLAG_LOCAL_INV_ALPHA" },
	{ V4L2_FBUF_FLAG_SRC_CHROMAKEY, "V4L2_FBUF_FLAG_SRC_CHROMAKEY" },
	{ 0, "" }
};

constexpr val_def streamparm_val_def[] = {
	{ V4L2_MODE_HIGHQUALITY,	"V4L2_MODE_HIGHQUALITY" },
	{ V4L2_CAP_TIMEPERFRAME,	"V4L2_CAP_TIMEPERFRAME" },
	{ -1, "" }
};

constexpr flag_def std_flag_def[] = {
	{ V4L2_STD_PAL_B,	"V4L2_STD_PAL_B" },
	{ V4L2_STD_PAL_B1,	"V4L2_STD_PAL_B1" },
	{ V4L2_STD_PAL_G,	"V4L2_STD_PAL_G" },
	{ V4L2_STD_PAL_H,	"V4L2_STD_PAL_H" },
	{ V4L2_STD_PAL_I,	"V4L2_STD_PAL_I" },
	{ V4L2_STD_PAL_D,	"V4L2_STD_PAL_D" },
	{ V4L2_STD_PAL_D1,	"V4L2_STD_PAL_D1" },
	{ V4L2_STD_PAL_K,	"V4L2_STD_PAL_K" },
	{ V4L2_STD_PAL_M,	"V4L2_STD_PAL_M" },
	{ V4L2_STD_PAL_N,	"V4L2_STD_PAL_N" },
	{ V4L2_STD_PAL_Nc,	"V4L2_STD_PAL_Nc" },
	{ V4L2_STD_PAL_60,	"V4L2_STD_PAL_60" },
	{ V4L2_STD_NTSC_M,	"V4L2_STD_NTSC_M" },
	{ V4L2_STD_NTSC_M_JP,	"V4L2_STD_NTSC_M_JP" },
	{ V4L2_STD_NTSC_443,	"V4L2_STD_NTSC_443" },
	{ V4L2_STD_NTSC_M_KR,	"V4L2_STD_NTSC_M_KR" },
	{ V4L2_STD_SECAM_B,	"V4L2_STD_SECAM_B" },
	{ V4L2_STD_SECAM_D,	"V4L2_STD_SECAM_D" },
	{ V4L2_STD_SECAM_G,	"V4L2_STD_SECAM_G" },
	{ V4L2_STD_SECAM_H,	"V4L2_STD_SECAM_H" },
	{ V4L2_STD_SECAM_K,	"V4L2_STD_SECAM_K" },
	{ V4L2_STD_SECAM_K1,	"V4L2_STD_SECAM_K1" },
	{ V4L2_STD_SECAM_L,	"V4L2_STD_SECAM_L" },
	{ V4L2_STD_SECAM_LC,	"V4L2_STD_SECAM_LC" },
	{ V4L2_STD_ATSC_8_VSB,	"V4L2_STD_ATSC_8_VSB" },
	{ V4L2_STD_ATSC_16_VSB,	"V4L2_STD_ATSC_16_VSB" },
	{ V4L2_STD_NTSC,	"V4L2_STD_NTSC" },
	{ V4L2_STD_SECAM_DK,	"V4L2_STD_SECAM_DK" },
	{ V4L2_STD_SECAM,	"V4L2_STD_SECAM" },
	{ V4L2_STD_PAL_BG,	"V4L2_STD_PAL_BG" },
	{ V4L2_STD_PAL_DK,	"V4L2_STD_PAL_DK" },
	{ V4L2_STD_PAL,	"V4L2_STD_PAL" },
	{ V4L2_STD_B,	"V4L2_STD_B" },
	{ V4L2_STD_G,	"V4L2_STD_G" },
	{ V4L2_STD_H,	"V4L2_STD_H" },
	{ V4L2_STD_L,	"V4L2_STD_L" },
	{ V4L2_STD_GH,	"V4L2_STD_GH" },
	{ V4L2_STD_DK,	"V4L2_STD_DK" },
	{ V4L2_STD_BG,	"V4L2_STD_BG" },
	{ V4L2_STD_MN,	"V4L2_STD_MN" },
	{ V4L2_STD_MTS,	"V4L2_STD_MTS" },
	{ V4L2_STD_525_60,	"V4L2_STD_525_60" },
	{ V4L2_STD_625_50,	"V4L2_STD_625_50" },
	{ V4L2_STD_ATSC,	"V4L2_STD_ATSC" },
	{ V4L2_STD_UNKNOWN,	"V4L2_STD_UNKNOWN" },
	{ V4L2_STD_ALL,	"V4L2_STD_ALL" },
	{ 0, "" }
};

constexpr flag_def v4l2_dv_flag_def[] = {
	{ V4L2_DV_FL_REDUCED_BLANKING, "V4L2_DV_FL_REDUCED_BLANKING" },
	{ V4L2_DV_FL_CAN_REDUCE_FPS, "V4L2_DV_FL_CAN_REDUCE_FPS" },
	{ V4L2_DV_FL_REDUCED_FPS, "V4L2_DV_FL_REDUCED_FPS" },
	{ V4L2_DV_FL_HALF_LINE, "V4L2_DV_FL_HALF_LINE" },
	{ V4L2_DV_FL_IS_CE_VIDEO, "V4L2_DV_FL_IS_CE_VIDEO" },
	{ V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE, "V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE" },
	{ V4L2_DV_FL_HAS_PICTURE_ASPECT, "V4L2_DV_FL_HAS_PICTURE_ASPECT" },
	{ V4L2_DV_FL_HAS_CEA861_VIC, "V4L2_DV_FL_HAS_CEA861_VIC" },
	{ V4L2_DV_FL_HAS_HDMI_VIC, "V4L2_DV_FL_HAS_HDMI_VIC" },
	{ V4L2_DV_FL_CAN_DETECT_REDUCED_FPS, "V4L2_DV_FL_CAN_DETECT_REDUCED_FPS" },
	{ 0, "" }
};

constexpr val_def input_type_val_def[] = {
	{ V4L2_INPUT_TYPE_TUNER,	"V4L2_INPUT_TYPE_TUNER" },
	{ V4L2_INPUT_TYPE_CAMERA,	"V4L2_INPUT_TYPE_CAMERA" },
	{ V4L2_INPUT_TYPE_TOUCH,	"V4L2_INPUT_TYPE_TOUCH" },
	{ -1, "" }
};

constexpr val_def input_field_val_def[] = {
	{ V4L2_IN_ST_NO_POWER,	"V4L2_IN_ST_NO_POWER" },
	{ V4L2_IN_ST_NO_SIGNAL,	"V4L2_IN_ST_NO_SIGNAL" },
	{ V4L2_IN_ST_NO_COLOR,	"V4L2_IN_ST_NO_COLOR" },
	{ V4L2_IN_ST_HFLIP,	"V4L2_IN_ST_HFLIP" },
	{ V4L2_IN_ST_VFLIP,	"V4L2_IN_ST_VFLIP" },
	{ V4L2_IN_ST_NO_H_LOCK,	"V4L2_IN_ST_NO_H_LOCK" },
	{ V4L2_IN_ST_COLOR_KILL,	"V4L2_IN_ST_COLOR_KILL" },
	{ V4L2_IN_ST_NO_V_LOCK,	"V4L2_IN_ST_NO_V_LOCK" },
	{ V4L2_IN_ST_NO_STD_LOCK,	"V4L2_IN_ST_NO_STD_LOCK" },
	{ V4L2_IN_ST_NO_SYNC,	"V4L2_IN_ST_NO_SYNC" },
	{ V4L2_IN_ST_NO_EQU,	"V4L2_IN_ST_NO_EQU" },
	{ V4L2_IN_ST_NO_CARRIER,	"V4L2_IN_ST_NO_CARRIER" },
	{ V4L2_IN_ST_MACROVISION,	"V4L2_IN_ST_MACROVISION" },
	{ V4L2_IN_ST_NO_ACCESS,	"V4L2_IN_ST_NO_ACCESS" },
	{ V4L2_IN_ST_VTR,	"V4L2_IN_ST_VTR" },
	{ -1, "" }
};

constexpr flag_def input_cap_flag_def[] = {
	{ V4L2_IN_CAP_DV_TIMINGS,	"V4L2_IN_CAP_DV_TIMINGS" },
	{ V4L2_IN_CAP_CUSTOM_TIMINGS,	"V4L2_IN_CAP_CUSTOM_TIMINGS" },
	{ V4L2_IN_CAP_STD,	"V4L2_IN_CAP_STD" },
	{ V4L2_IN_CAP_NATIVE_SIZE,	"V4L2_IN_CAP_NATIVE_SIZE" },
	{ 0, "" }
};

constexpr val_def output_type_val_def[] = {
	{ V4L2_OUTPUT_TYPE_MODULATOR,	"V4L2_OUTPUT_TYPE_MODULATOR" },
	{ V4L2_OUTPUT_TYPE_ANALOG,	"V4L2_OUTPUT_TYPE_ANALOG" },
	{ V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY,	"V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY" },
	{ -1, "" }
};

constexpr flag_def output_cap_flag_def[] = {
	{ V4L2_OUT_CAP_DV_TIMINGS,	"V4L2_OUT_CAP_DV_TIMINGS" },
	{ V4L2_OUT_CAP_CUSTOM_TIMINGS,	"V4L2_OUT_CAP_CUSTOM_TIMINGS" },
	{ V4L2_OUT_CAP_STD,	"V4L2_OUT_CAP_STD" },
	{ V4L2_OUT_CAP_NATIVE_SIZE,	"V4L2_OUT_CAP_NATIVE_SIZE" },
	{ 0, "" }
};

constexpr val_def v4l2_ctrl_type_val_def[] = {
	{ V4L2_CTRL_TYPE_INTEGER,	"V4L2_CTRL_TYPE_INTEGER" },
	{ V4L2_CTRL_TYPE_BOOLEAN,	"V4L2_CTRL_TYPE_BOOLEAN" },
	{ V4L2_CTRL_TYPE_MENU,	"V4L2_CTRL_TYPE_MENU" },
	{ V4L2_CTRL_TYPE_BUTTON,	"V4L2_CTRL_TYPE_BUTTON" },
	{ V4L2_CTRL_TYPE_INTEGER64,	"V4L2_CTRL_TYPE_INTEGER64" },
	{ V4L2_CTRL_TYPE_CTRL_CLASS,	"V4L2_CTRL_TYPE_CTRL_CLASS" },
	{ V4L2_CTRL_TYPE_STRING,	"V4L2_CTRL_TYPE_STRING" },
	{ V4L2_CTRL_TYPE_BITMASK,	"V4L2_CTRL_TYPE_BITMASK" },
	{ V4L2_CTRL_TYPE_INTEGER_MENU,	"V4L2_CTRL_TYPE_INTEGER_MENU" },
	{ V4L2_CTRL_COMPOUND_TYPES,	"V4L2_CTRL_COMPOUND_TYPES" },
	{ V4L2_CTRL_TYPE_U8,	"V4L2_CTRL_TYPE_U8" },
	{ V4L2_CTRL_TYPE_U16,	"V4L2_CTRL_TYPE_U16" },
	{ V4L2_CTRL_TYPE_U32,	"V4L2_CTRL_TYPE_U32" },
	{ V4L2_CTRL_TYPE_AREA,	"V4L2_CTRL_TYPE_AREA" },
	{ V4L2_CTRL_TYPE_HDR10_CLL_INFO,	"V4L2_CTRL_TYPE_HDR10_CLL_INFO" },
	{ V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY,	"V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY" },
	{ V4L2_CTRL_TYPE_H264_SPS,	"V4L2_CTRL_TYPE_H264_SPS" },
	{ V4L2_CTRL_TYPE_H264_PPS,	"V4L2_CTRL_TYPE_H264_PPS" },
	{ V4L2_CTRL_TYPE_H264_SCALING_MATRIX,	"V4L2_CTRL_TYPE_H264_SCALING_MATRIX" },
	{ V4L2_CTRL_TYPE_H264_SLICE_PARAMS,	"V4L2_CTRL_TYPE_H264_SLICE_PARAMS" },
	{ V4L2_CTRL_TYPE_H264_DECODE_PARAMS,	"V4L2_CTRL_TYPE_H264_DECODE_PARAMS" },
	{ V4L2_CTRL_TYPE_H264_PRED_WEIGHTS,	"V4L2_CTRL_TYPE_H264_PRED_WEIGHTS" },
	{ V4L2_CTRL_TYPE_FWHT_PARAMS,	"V4L2_CTRL_TYPE_FWHT_PARAMS" },
	{ V4L2_CTRL_TYPE_VP8_FRAME,	"V4L2_CTRL_TYPE_VP8_FRAME" },
	{ V4L2_CTRL_TYPE_MPEG2_QUANTISATION,	"V4L2_CTRL_TYPE_MPEG2_QUANTISATION" },
	{ V4L2_CTRL_TYPE_MPEG2_SEQUENCE,	"V4L2_CTRL_TYPE_MPEG2_SEQUENCE" },
	{ V4L2_CTRL_TYPE_MPEG2_PICTURE,	"V4L2_CTRL_TYPE_MPEG2_PICTURE" },
	{ V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR,	"V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR" },
	{ V4L2_CTRL_TYPE_VP9_FRAME,	"V4L2_CTRL_TYPE_VP9_FRAME" },
	{ V4L2_CTRL_TYPE_HEVC_SPS,	"V4L2_CTRL_TYPE_HEVC_SPS" },
	{ V4L2_CTRL_TYPE_HEVC_PPS,	"V4L2_CTRL_TYPE_HEVC_PPS" },
	{ V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS,	"V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS" },
	{ V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX,	"V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX" },
	{ V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS,	"V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS" },
	{ V4L2_CTRL_TYPE_AV1_SEQUENCE,	"V4L2_CTRL_TYPE_AV1_SEQUENCE" },
	{ V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY,	"V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY" },
	{ V4L2_CTRL_TYPE_AV1_FRAME,	"V4L2_CTRL_TYPE_AV1_FRAME" },
	{ V4L2_CTRL_TYPE_AV1_FILM_GRAIN,	"V4L2_CTRL_TYPE_AV1_FILM_GRAIN" },
	{ -1, "" }
};

constexpr flag_def v4l2_ctrl_flag_def[] = {
	{ V4L2_CTRL_FLAG_DISABLED, "V4L2_CTRL_FLAG_DISABLED" },
	{ V4L2_CTRL_FLAG_GRABBED, "V4L2_CTRL_FLAG_GRABBED" },
	{ V4L2_CTRL_FLAG_READ_ONLY, "V4L2_CTRL_FLAG_READ_ONLY" },
	{ V4L2_CTRL_FLAG_UPDATE, "V4L2_CTRL_FLAG_UPDATE" },
	{ V4L2_CTRL_FLAG_INACTIVE, "V4L2_CTRL_FLAG_INACTIVE" },
	{ V4L2_CTRL_FLAG_SLIDER, "V4L2_CTRL_FLAG_SLIDER" },
	{ V4L2_CTRL_FLAG_WRITE_ONLY, "V4L2_CTRL_FLAG_WRITE_ONLY" },
	{ V4L2_CTRL_FLAG_VOLATILE, "V4L2_CTRL_FLAG_VOLATILE" },
	{ V4L2_CTRL_FLAG_HAS_PAYLOAD, "V4L2_CTRL_FLAG_HAS_PAYLOAD" },
	{ V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, "V4L2_CTRL_FLAG_EXECUTE_ON_WRITE" },
	{ V4L2_CTRL_FLAG_MODIFY_LAYOUT, "V4L2_CTRL_FLAG_MODIFY_LAYOUT" },
	{ V4L2_CTRL_FLAG_DYNAMIC_ARRAY, "V4L2_CTRL_FLAG_DYNAMIC_ARRAY" },
	{ V4L2_CTRL_FLAG_NEXT_CTRL, "V4L2_CTRL_FLAG_NEXT_CTRL" },
	{ V4L2_CTRL_FLAG_NEXT_COMPOUND, "V4L2_CTRL_FLAG_NEXT_COMPOUND" },
	{ 0, "" }
};

constexpr flag_def tuner_cap_flag_def[] = {
	{ V4L2_TUNER_CAP_LOW,	"V4L2_TUNER_CAP_LOW" },
	{ V4L2_TUNER_CAP_NORM,	"V4L2_TUNER_CAP_NORM" },
	{ V4L2_TUNER_CAP_HWSEEK_BOUNDED,	"V4L2_TUNER_CAP_HWSEEK_BOUNDED" },
	{ V4L2_TUNER_CAP_HWSEEK_WRAP,	"V4L2_TUNER_CAP_HWSEEK_WRAP" },
	{ V4L2_TUNER_CAP_STEREO,	"V4L2_TUNER_CAP_STEREO" },
	{ V4L2_TUNER_CAP_LANG2,	"V4L2_TUNER_CAP_LANG2" },
	{ V4L2_TUNER_CAP_SAP,	"V4L2_TUNER_CAP_SAP" },
	{ V4L2_TUNER_CAP_LANG1,	"V4L2_TUNER_CAP_LANG1" },
	{ V4L2_TUNER_CAP_RDS,	"V4L2_TUNER_CAP_RDS" },
	{ V4L2_TUNER_CAP_RDS_BLOCK_IO,	"V4L2_TUNER_CAP_RDS_BLOCK_IO" },
	{ V4L2_TUNER_CAP_RDS_CONTROLS,	"V4L2_TUNER_CAP_RDS_CONTROLS" },
	{ V4L2_TUNER_CAP_FREQ_BANDS,	"V4L2_TUNER_CAP_FREQ_BANDS" },
	{ V4L2_TUNER_CAP_HWSEEK_PROG_LIM,	"V4L2_TUNER_CAP_HWSEEK_PROG_LIM" },
	{ V4L2_TUNER_CAP_1HZ,	"V4L2_TUNER_CAP_1HZ" },
	{ 0, "" }
};

constexpr flag_def tuner_rxsub_flag_def[] = {
	{ V4L2_TUNER_SUB_MONO,	"V4L2_TUNER_SUB_MONO" },
	{ V4L2_TUNER_SUB_STEREO,	"V4L2_TUNER_SUB_STEREO" },
	{ V4L2_TUNER_SUB_LANG2,	"V4L2_TUNER_SUB_LANG2" },
	{ V4L2_TUNER_SUB_SAP,	"V4L2_TUNER_SUB_SAP" },
	{ V4L2_TUNER_SUB_LANG1,	"V4L2_TUNER_SUB_LANG1" },
	{ V4L2_TUNER_SUB_RDS,	"V4L2_TUNER_SUB_RDS" },
	{ 0, "" }
};

constexpr val_def tuner_audmode_val_def[] = {
	{ V4L2_TUNER_MODE_MONO,	"V4L2_TUNER_MODE_MONO" },
	{ V4L2_TUNER_MODE_STEREO,	"V4L2_TUNER_MODE_STEREO" },
	{ V4L2_TUNER_MODE_LANG2,	"V4L2_TUNER_MODE_LANG2" },
	{ V4L2_TUNER_MODE_SAP,	"V4L2_TUNER_MODE_SAP" },
	{ V4L2_TUNER_MODE_LANG1,	"V4L2_TUNER_MODE_LANG1" },
	{ V4L2_TUNER_MODE_LANG1_LANG2,	"V4L2_TUNER_MODE_LANG1_LANG2" },
	{ -1, "" }
};

constexpr val_def encoder_cmd_val_def[] = {
	{ V4L2_ENC_CMD_START,	"V4L2_ENC_CMD_START" },
	{ V4L2_ENC_CMD_STOP,	"V4L2_ENC_CMD_STOP" },
	{ V4L2_ENC_CMD_PAUSE,	"V4L2_ENC_CMD_PAUSE" },
	{ V4L2_ENC_CMD_RESUME,	"V4L2_ENC_CMD_RESUME" },
	{ -1, "" }
};

constexpr val_def decoder_cmd_val_def[] = {
	{ V4L2_DEC_CMD_START,	"V4L2_DEC_CMD_START" },
	{ V4L2_DEC_CMD_STOP,	"V4L2_DEC_CMD_STOP" },
	{ V4L2_DEC_CMD_PAUSE,	"V4L2_DEC_CMD_PAUSE" },
	{ V4L2_DEC_CMD_RESUME,	"V4L2_DEC_CMD_RESUME" },
	{ V4L2_DEC_CMD_FLUSH,	"V4L2_DEC_CMD_FLUSH" },
	{ -1, "" }
};

constexpr flag_def v4l2_decoder_cmd_start_flag_def[] = {
	{ V4L2_DEC_CMD_START_MUTE_AUDIO,	"V4L2_DEC_CMD_START_MUTE_AUDIO" },
	{ 0, "" }
};

constexpr flag_def v4l2_decoder_cmd_pause_flag_def[] = {
	{ V4L2_DEC_CMD_PAUSE_TO_BLACK,	"V4L2_DEC_CMD_PAUSE_TO_BLACK" },
	{ 0, "" }
};

constexpr flag_def v4l2_decoder_cmd_stop_flag_def[] = {
	{ V4L2_DEC_CMD_STOP_TO_BLACK,	"V4L2_DEC_CMD_STOP_TO_BLACK" },
	{ V4L2_DEC_CMD_STOP_IMMEDIATELY,	"V4L2_DEC_CMD_STOP_IMMEDIATELY" },
	{ 0, "" }
};

constexpr val_def event_val_def[] = {
	{ V4L2_EVENT_ALL,	"V4L2_EVENT_ALL" },
	{ V4L2_EVENT_VSYNC,	"V4L2_EVENT_VSYNC" },
	{ V4L2_EVENT_EOS,	"V4L2_EVENT_EOS" },
	{ V4L2_EVENT_CTRL,	"V4L2_EVENT_CTRL" },
	{ V4L2_EVENT_FRAME_SYNC,	"V4L2_EVENT_FRAME_SYNC" },
	{ V4L2_EVENT_SOURCE_CHANGE,	"V4L2_EVENT_SOURCE_CHANGE" },
	{ V4L2_EVENT_MOTION_DET,	"V4L2_EVENT_MOTION_DET" },
	{ V4L2_EVENT_PRIVATE_START,	"V4L2_EVENT_PRIVATE_START" },
	{ -1, "" }
};

constexpr flag_def v4l2_event_ctrl_ch_flag_def[] = {
	{ V4L2_EVENT_CTRL_CH_VALUE,	"V4L2_EVENT_CTRL_CH_VALUE" },
	{ V4L2_EVENT_CTRL_CH_FLAGS,	"V4L2_EVENT_CTRL_CH_FLAGS" },
	{ V4L2_EVENT_CTRL_CH_RANGE,	"V4L2_EVENT_CTRL_CH_RANGE" },
	{ V4L2_EVENT_CTRL_CH_DIMENSIONS,	"V4L2_EVENT_CTRL_CH_DIMENSIONS" },
	{ 0, "" }
};

constexpr flag_def v4l2_event_md_flag_def[] = {
	{ V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ, "V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ" },
	{ 0, "" }
};

constexpr flag_def v4l2_event_sub_flag_def[] = {
	{ V4L2_EVENT_SUB_FL_SEND_INITIAL, "V4L2_EVENT_SUB_FL_SEND_INITIAL" },
	{ V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK, "V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK" },
	{ 0, "" }
};

constexpr flag_def v4l2_chip_flag_def[] = {
	{ V4L2_CHIP_FL_READABLE, "V4L2_CHIP_FL_READABLE" },
	{ V4L2_CHIP_FL_WRITABLE, "V4L2_CHIP_FL_WRITABLE" },
	{ 0, "" }
};

constexpr flag_def media_ent_flag_def[] = {
	{ MEDIA_ENT_FL_DEFAULT, "MEDIA_ENT_FL_DEFAULT" },
	{ MEDIA_ENT_FL_CONNECTOR, "MEDIA_ENT_FL_CONNECTOR" },
	{ 0, "" }
};

constexpr flag_def media_pad_flag_def[] = {
	{ MEDIA_PAD_FL_SINK, "MEDIA_PAD_FL_SINK" },
	{ MEDIA_PAD_FL_SOURCE, "MEDIA_PAD_FL_SOURCE" },
	{ MEDIA_PAD_FL_MUST_CONNECT, "MEDIA_PAD_FL_MUST_CONNECT" },
	{ 0, "" }
};

constexpr flag_def media_lnk_flag_def[] = {
	{ MEDIA_LNK_FL_ENABLED, "MEDIA_LNK_FL_ENABLED" },
	{ MEDIA_LNK_FL_IMMUTABLE, "MEDIA_LNK_FL_IMMUTABLE" },
	{ MEDIA_LNK_FL_DYNAMIC, "MEDIA_LNK_FL_DYNAMIC" },
	{ 0, "" }
};

constexpr val_def selection_target_val_def[] = {
	{ V4L2_SEL_TGT_CROP,	"V4L2_SEL_TGT_CROP" },
	{ V4L2_SEL_TGT_CROP_DEFAULT,	"V4L2_SEL_TGT_CROP_DEFAULT" },
	{ V4L2_SEL_TGT_CROP_BOUNDS,	"V4L2_SEL_TGT_CROP_BOUNDS" },
	{ V4L2_SEL_TGT_NATIVE_SIZE,	"V4L2_SEL_TGT_NATIVE_SIZE" },
	{ V4L2_SEL_TGT_COMPOSE,	"V4L2_SEL_TGT_COMPOSE" },
	{ V4L2_SEL_TGT_COMPOSE_DEFAULT,	"V4L2_SEL_TGT_COMPOSE_DEFAULT" },
	{ V4L2_SEL_TGT_COMPOSE_BOUNDS,	"V4L2_SEL_TGT_COMPOSE_BOUNDS" },
	{ V4L2_SEL_TGT_COMPOSE_PADDED,	"V4L2_SEL_TGT_COMPOSE_PADDED" },
	{ -1, "" }
};

constexpr flag_def v4l2_sel_flag_def[] = {
	{ V4L2_SEL_FLAG_GE, "V4L2_SEL_FLAG_GE" },
	{ V4L2_SEL_FLAG_LE, "V4L2_SEL_FLAG_LE" },
	{ V4L2_SEL_FLAG_KEEP_CONFIG, "V4L2_SEL_FLAG_KEEP_CONFIG" },
	{ 0, "" }
};

constexpr flag_def v4l2_subdev_sel_flag_def[] = {
	{ V4L2_SUBDEV_SEL_FLAG_SIZE_GE, "V4L2_SUBDEV_SEL_FLAG_SIZE_GE" },
	{ V4L2_SUBDEV_SEL_FLAG_SIZE_LE, "V4L2_SUBDEV_SEL_FLAG_SIZE_LE" },
	{ V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG, "V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG" },
	{ 0, "" }
};

constexpr val_def control_val_def[] = {
	{ V4L2_CID_USER_CLASS,	"V4L2_CID_USER_CLASS" },
	{ V4L2_CID_BRIGHTNESS,	"V4L2_CID_BRIGHTNESS" },
	{ V4L2_CID_CONTRAST,	"V4L2_CID_CONTRAST" },
	{ V4L2_CID_SATURATION,	"V4L2_CID_SATURATION" },
	{ V4L2_CID_HUE,	"V4L2_CID_HUE" },
	{ V4L2_CID_AUDIO_VOLUME,	"V4L2_CID_AUDIO_VOLUME" },
	{ V4L2_CID_AUDIO_BALANCE,	"V4L2_CID_AUDIO_BALANCE" },
	{ V4L2_CID_AUDIO_BASS,	"V4L2_CID_AUDIO_BASS" },
	{ V4L2_CID_AUDIO_TREBLE,	"V4L2_CID_AUDIO_TREBLE" },
	{ V4L2_CID_AUDIO_MUTE,	"V4L2_CID_AUDIO_MUTE" },
	{ V4L2_CID_AUDIO_LOUDNESS,	"V4L2_CID_AUDIO_LOUDNESS" },
	{ V4L2_CID_BLACK_LEVEL,	"V4L2_CID_BLACK_LEVEL" },
	{ V4L2_CID_AUTO_WHITE_BALANCE,	"V4L2_CID_AUTO_WHITE_BALANCE" },
	{ V4L2_CID_DO_WHITE_BALANCE,	"V4L2_CID_DO_WHITE_BALANCE" },
	{ V4L2_CID_RED_BALANCE,	"V4L2_CID_RED_BALANCE" },
	{ V4L2_CID_BLUE_BALANCE,	"V4L2_CID_BLUE_BALANCE" },
	{ V4L2_CID_GAMMA,	"V4L2_CID_GAMMA" },
	{ V4L2_CID_WHITENESS,	"V4L2_CID_WHITENESS" },
	{ V4L2_CID_EXPOSURE,	"V4L2_CID_EXPOSURE" },
	{ V4L2_CID_AUTOGAIN,	"V4L2_CID_AUTOGAIN" },
	{ V4L2_CID_GAIN,	"V4L2_CID_GAIN" },
	{ V4L2_CID_HFLIP,	"V4L2_CID_HFLIP" },
	{ V4L2_CID_VFLIP,	"V4L2_CID_VFLIP" },
	{ V4L2_CID_POWER_LINE_FREQUENCY,	"V4L2_CID_POWER_LINE_FREQUENCY" },
	{ V4L2_CID_HUE_AUTO,	"V4L2_CID_HUE_AUTO" },
	{ V4L2_CID_WHITE_BALANCE_TEMPERATURE,	"V4L2_CID_WHITE_BALANCE_TEMPERATURE" },
	{ V4L2_CID_SHARPNESS,	"V4L2_CID_SHARPNESS" },
	{ V4L2_CID_BACKLIGHT_COMPENSATION,	"V4L2_CID_BACKLIGHT_COMPENSATION" },
	{ V4L2_CID_CHROMA_AGC,	"V4L2_CID_CHROMA_AGC" },
	{ V4L2_CID_COLOR_KILLER,	"V4L2_CID_COLOR_KILLER" },
	{ V4L2_CID_COLORFX,	"V4L2_CID_COLORFX" },
	{ V4L2_CID_AUTOBRIGHTNESS,	"V4L2_CID_AUTOBRIGHTNESS" },
	{ V4L2_CID_BAND_STOP_FILTER,	"V4L2_CID_BAND_STOP_FILTER" },
	{ V4L2_CID_ROTATE,	"V4L2_CID_ROTATE" },
	{ V4L2_CID_BG_COLOR,	"V4L2_CID_BG_COLOR" },
	{ V4L2_CID_CHROMA_GAIN,	"V4L2_CID_CHROMA_GAIN" },
	{ V4L2_CID_ILLUMINATORS_1,	"V4L2_CID_ILLUMINATORS_1" },
	{ V4L2_CID_ILLUMINATORS_2,	"V4L2_CID_ILLUMINATORS_2" },
	{ V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,	"V4L2_CID_MIN_BUFFERS_FOR_CAPTURE" },
	{ V4L2_CID_MIN_BUFFERS_FOR_OUTPUT,	"V4L2_CID_MIN_BUFFERS_FOR_OUTPUT" },
	{ V4L2_CID_ALPHA_COMPONENT,	"V4L2_CID_ALPHA_COMPONENT" },
	{ V4L2_CID_COLORFX_CBCR,	"V4L2_CID_COLORFX_CBCR" },
	{ V4L2_CID_COLORFX_RGB,	"V4L2_CID_COLORFX_RGB" },
	{ V4L2_CID_LASTP1,	"V4L2_CID_LASTP1" },
	{ V4L2_CID_CODEC_CLASS,	"V4L2_CID_CODEC_CLASS" },
	{ V4L2_CID_MPEG_STREAM_TYPE,	"V4L2_CID_MPEG_STREAM_TYPE" },
	{ V4L2_CID_MPEG_STREAM_PID_PMT,	"V4L2_CID_MPEG_STREAM_PID_PMT" },
	{ V4L2_CID_MPEG_STREAM_PID_AUDIO,	"V4L2_CID_MPEG_STREAM_PID_AUDIO" },
	{ V4L2_CID_MPEG_STREAM_PID_VIDEO,	"V4L2_CID_MPEG_STREAM_PID_VIDEO" },
	{ V4L2_CID_MPEG_STREAM_PID_PCR,	"V4L2_CID_MPEG_STREAM_PID_PCR" },
	{ V4L2_CID_MPEG_STREAM_PES_ID_AUDIO,	"V4L2_CID_MPEG_STREAM_PES_ID_AUDIO" },
	{ V4L2_CID_MPEG_STREAM_PES_ID_VIDEO,	"V4L2_CID_MPEG_STREAM_PES_ID_VIDEO" },
	{ V4L2_CID_MPEG_STREAM_VBI_FMT,	"V4L2_CID_MPEG_STREAM_VBI_FMT" },
	{ V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,	"V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ" },
	{ V4L2_CID_MPEG_AUDIO_ENCODING,	"V4L2_CID_MPEG_AUDIO_ENCODING" },
	{ V4L2_CID_MPEG_AUDIO_L1_BITRATE,	"V4L2_CID_MPEG_AUDIO_L1_BITRATE" },
	{ V4L2_CID_MPEG_AUDIO_L2_BITRATE,	"V4L2_CID_MPEG_AUDIO_L2_BITRATE" },
	{ V4L2_CID_MPEG_AUDIO_L3_BITRATE,	"V4L2_CID_MPEG_AUDIO_L3_BITRATE" },
	{ V4L2_CID_MPEG_AUDIO_MODE,	"V4L2_CID_MPEG_AUDIO_MODE" },
	{ V4L2_CID_MPEG_AUDIO_MODE_EXTENSION,	"V4L2_CID_MPEG_AUDIO_MODE_EXTENSION" },
	{ V4L2_CID_MPEG_AUDIO_EMPHASIS,	"V4L2_CID_MPEG_AUDIO_EMPHASIS" },
	{ V4L2_CID_MPEG_AUDIO_CRC,	"V4L2_CID_MPEG_AUDIO_CRC" },
	{ V4L2_CID_MPEG_AUDIO_MUTE,	"V4L2_CID_MPEG_AUDIO_MUTE" },
	{ V4L2_CID_MPEG_AUDIO_AAC_BITRATE,	"V4L2_CID_MPEG_AUDIO_AAC_BITRATE" },
	{ V4L2_CID_MPEG_AUDIO_AC3_BITRATE,	"V4L2_CID_MPEG_AUDIO_AC3_BITRATE" },
	{ V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK,	"V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK" },
	{ V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK,	"V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK" },
	{ V4L2_CID_MPEG_VIDEO_ENCODING,	"V4L2_CID_MPEG_VIDEO_ENCODING" },
	{ V4L2_CID_MPEG_VIDEO_ASPECT,	"V4L2_CID_MPEG_VIDEO_ASPECT" },
	{ V4L2_CID_MPEG_VIDEO_B_FRAMES,	"V4L2_CID_MPEG_VIDEO_B_FRAMES" },
	{ V4L2_CID_MPEG_VIDEO_GOP_SIZE,	"V4L2_CID_MPEG_VIDEO_GOP_SIZE" },
	{ V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,	"V4L2_CID_MPEG_VIDEO_GOP_CLOSURE" },
	{ V4L2_CID_MPEG_VIDEO_PULLDOWN,	"V4L2_CID_MPEG_VIDEO_PULLDOWN" },
	{ V4L2_CID_MPEG_VIDEO_BITRATE_MODE,	"V4L2_CID_MPEG_VIDEO_BITRATE_MODE" },
	{ V4L2_CID_MPEG_VIDEO_BITRATE,	"V4L2_CID_MPEG_VIDEO_BITRATE" },
	{ V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,	"V4L2_CID_MPEG_VIDEO_BITRATE_PEAK" },
	{ V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION,	"V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION" },
	{ V4L2_CID_MPEG_VIDEO_MUTE,	"V4L2_CID_MPEG_VIDEO_MUTE" },
	{ V4L2_CID_MPEG_VIDEO_MUTE_YUV,	"V4L2_CID_MPEG_VIDEO_MUTE_YUV" },
	{ V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE,	"V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE" },
	{ V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER,	"V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER" },
	{ V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB,	"V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB" },
	{ V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE,	"V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE" },
	{ V4L2_CID_MPEG_VIDEO_HEADER_MODE,	"V4L2_CID_MPEG_VIDEO_HEADER_MODE" },
	{ V4L2_CID_MPEG_VIDEO_MAX_REF_PIC,	"V4L2_CID_MPEG_VIDEO_MAX_REF_PIC" },
	{ V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,	"V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE" },
	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES" },
	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB" },
	{ V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,	"V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE" },
	{ V4L2_CID_MPEG_VIDEO_VBV_SIZE,	"V4L2_CID_MPEG_VIDEO_VBV_SIZE" },
	{ V4L2_CID_MPEG_VIDEO_DEC_PTS,	"V4L2_CID_MPEG_VIDEO_DEC_PTS" },
	{ V4L2_CID_MPEG_VIDEO_DEC_FRAME,	"V4L2_CID_MPEG_VIDEO_DEC_FRAME" },
	{ V4L2_CID_MPEG_VIDEO_VBV_DELAY,	"V4L2_CID_MPEG_VIDEO_VBV_DELAY" },
	{ V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER,	"V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER" },
	{ V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE,	"V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE" },
	{ V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE,	"V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE" },
	{ V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,	"V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME" },
	{ V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID,	"V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID" },
	{ V4L2_CID_MPEG_VIDEO_AU_DELIMITER,	"V4L2_CID_MPEG_VIDEO_AU_DELIMITER" },
	{ V4L2_CID_MPEG_VIDEO_LTR_COUNT,	"V4L2_CID_MPEG_VIDEO_LTR_COUNT" },
	{ V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,	"V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX" },
	{ V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES,	"V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES" },
	{ V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR,	"V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR" },
	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD" },
	{ V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE,	"V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL,	"V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE,	"V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE" },
	{ V4L2_CID_FWHT_I_FRAME_QP,	"V4L2_CID_FWHT_I_FRAME_QP" },
	{ V4L2_CID_FWHT_P_FRAME_QP,	"V4L2_CID_FWHT_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H263_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H263_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_H263_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H263_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM,	"V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM" },
	{ V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE,	"V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE" },
	{ V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,	"V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE" },
	{ V4L2_CID_MPEG_VIDEO_H264_I_PERIOD,	"V4L2_CID_MPEG_VIDEO_H264_I_PERIOD" },
	{ V4L2_CID_MPEG_VIDEO_H264_LEVEL,	"V4L2_CID_MPEG_VIDEO_H264_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA" },
	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA" },
	{ V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,	"V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE" },
	{ V4L2_CID_MPEG_VIDEO_H264_PROFILE,	"V4L2_CID_MPEG_VIDEO_H264_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT,	"V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT" },
	{ V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH,	"V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH" },
	{ V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE,	"V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE" },
	{ V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC,	"V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC" },
	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING" },
	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0" },
	{ V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO,	"V4L2_CID_MPEG_VIDEO_H264_FMO" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP,	"V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION,	"V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE,	"V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE" },
	{ V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH,	"V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH" },
	{ V4L2_CID_MPEG_VIDEO_H264_ASO,	"V4L2_CID_MPEG_VIDEO_H264_ASO" },
	{ V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER,	"V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP,	"V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION,	"V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION" },
	{ V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET,	"V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET" },
	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR" },
	{ V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR,	"V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP,	"V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL,	"V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE,	"V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_MPEG4_QPEL,	"V4L2_CID_MPEG_VIDEO_MPEG4_QPEL" },
	{ V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS,	"V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS" },
	{ V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4,	"V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4" },
	{ V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES,	"V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES" },
	{ V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL,	"V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS,	"V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS" },
	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD" },
	{ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL,	"V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL" },
	{ V4L2_CID_MPEG_VIDEO_VPX_MIN_QP,	"V4L2_CID_MPEG_VIDEO_VPX_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_VPX_MAX_QP,	"V4L2_CID_MPEG_VIDEO_VPX_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_VP8_PROFILE,	"V4L2_CID_MPEG_VIDEO_VP8_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_VPX_PROFILE,	"V4L2_CID_MPEG_VIDEO_VPX_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_VP9_PROFILE,	"V4L2_CID_MPEG_VIDEO_VP9_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_VP9_LEVEL,	"V4L2_CID_MPEG_VIDEO_VP9_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,	"V4L2_CID_MPEG_VIDEO_HEVC_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_LEVEL,	"V4L2_CID_MPEG_VIDEO_HEVC_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION,	"V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_TIER,	"V4L2_CID_MPEG_VIDEO_HEVC_TIER" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE,	"V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2,	"V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2,	"V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE,	"V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD,	"V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU,	"V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED,	"V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT,	"V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB,	"V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID,	"V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING,	"V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1,	"V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT,	"V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION,	"V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE,	"V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD,	"V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR,	"V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR" },
	{ V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES,	"V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES" },
	{ V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR,	"V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR" },
	{ V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,	"V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY" },
	{ V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE,	"V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP" },
	{ V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP,	"V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP" },
	{ V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY,	"V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY" },
	{ V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE,	"V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE" },
	{ V4L2_CID_MPEG_VIDEO_AV1_PROFILE,	"V4L2_CID_MPEG_VIDEO_AV1_PROFILE" },
	{ V4L2_CID_MPEG_VIDEO_AV1_LEVEL,	"V4L2_CID_MPEG_VIDEO_AV1_LEVEL" },
	{ V4L2_CID_MPEG_VIDEO_AVERAGE_QP,	"V4L2_CID_MPEG_VIDEO_AVERAGE_QP" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE,	"V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER,	"V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE,	"V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER,	"V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE,	"V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP,	"V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM" },
	{ V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP,	"V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP" },
	{ V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS,	"V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY,	"V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE,	"V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE,	"V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE,	"V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_PADDING,	"V4L2_CID_MPEG_MFC51_VIDEO_PADDING" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV,	"V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT,	"V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF,	"V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC" },
	{ V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P,	"V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P" },
	{ V4L2_CID_CAMERA_CLASS,	"V4L2_CID_CAMERA_CLASS" },
	{ V4L2_CID_EXPOSURE_AUTO,	"V4L2_CID_EXPOSURE_AUTO" },
	{ V4L2_CID_EXPOSURE_ABSOLUTE,	"V4L2_CID_EXPOSURE_ABSOLUTE" },
	{ V4L2_CID_EXPOSURE_AUTO_PRIORITY,	"V4L2_CID_EXPOSURE_AUTO_PRIORITY" },
	{ V4L2_CID_PAN_RELATIVE,	"V4L2_CID_PAN_RELATIVE" },
	{ V4L2_CID_TILT_RELATIVE,	"V4L2_CID_TILT_RELATIVE" },
	{ V4L2_CID_PAN_RESET,	"V4L2_CID_PAN_RESET" },
	{ V4L2_CID_TILT_RESET,	"V4L2_CID_TILT_RESET" },
	{ V4L2_CID_PAN_ABSOLUTE,	"V4L2_CID_PAN_ABSOLUTE" },
	{ V4L2_CID_TILT_ABSOLUTE,	"V4L2_CID_TILT_ABSOLUTE" },
	{ V4L2_CID_FOCUS_ABSOLUTE,	"V4L2_CID_FOCUS_ABSOLUTE" },
	{ V4L2_CID_FOCUS_RELATIVE,	"V4L2_CID_FOCUS_RELATIVE" },
	{ V4L2_CID_FOCUS_AUTO,	"V4L2_CID_FOCUS_AUTO" },
	{ V4L2_CID_ZOOM_ABSOLUTE,	"V4L2_CID_ZOOM_ABSOLUTE" },
	{ V4L2_CID_ZOOM_RELATIVE,	"V4L2_CID_ZOOM_RELATIVE" },
	{ V4L2_CID_ZOOM_CONTINUOUS,	"V4L2_CID_ZOOM_CONTINUOUS" },
	{ V4L2_CID_PRIVACY,	"V4L2_CID_PRIVACY" },
	{ V4L2_CID_IRIS_ABSOLUTE,	"V4L2_CID_IRIS_ABSOLUTE" },
	{ V4L2_CID_IRIS_RELATIVE,	"V4L2_CID_IRIS_RELATIVE" },
	{ V4L2_CID_AUTO_EXPOSURE_BIAS,	"V4L2_CID_AUTO_EXPOSURE_BIAS" },
	{ V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,	"V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE" },
	{ V4L2_CID_WIDE_DYNAMIC_RANGE,	"V4L2_CID_WIDE_DYNAMIC_RANGE" },
	{ V4L2_CID_IMAGE_STABILIZATION,	"V4L2_CID_IMAGE_STABILIZATION" },
	{ V4L2_CID_ISO_SENSITIVITY,	"V4L2_CID_ISO_SENSITIVITY" },
	{ V4L2_CID_ISO_SENSITIVITY_AUTO,	"V4L2_CID_ISO_SENSITIVITY_AUTO" },
	{ V4L2_CID_EXPOSURE_METERING,	"V4L2_CID_EXPOSURE_METERING" },
	{ V4L2_CID_SCENE_MODE,	"V4L2_CID_SCENE_MODE" },
	{ V4L2_CID_3A_LOCK,	"V4L2_CID_3A_LOCK" },
	{ V4L2_CID_AUTO_FOCUS_START,	"V4L2_CID_AUTO_FOCUS_START" },
	{ V4L2_CID_AUTO_FOCUS_STOP,	"V4L2_CID_AUTO_FOCUS_STOP" },
	{ V4L2_CID_AUTO_FOCUS_STATUS,	"V4L2_CID_AUTO_FOCUS_STATUS" },
	{ V4L2_CID_AUTO_FOCUS_RANGE,	"V4L2_CID_AUTO_FOCUS_RANGE" },
	{ V4L2_CID_PAN_SPEED,	"V4L2_CID_PAN_SPEED" },
	{ V4L2_CID_TILT_SPEED,	"V4L2_CID_TILT_SPEED" },
	{ V4L2_CID_CAMERA_ORIENTATION,	"V4L2_CID_CAMERA_ORIENTATION" },
	{ V4L2_CID_CAMERA_SENSOR_ROTATION,	"V4L2_CID_CAMERA_SENSOR_ROTATION" },
	{ V4L2_CID_HDR_SENSOR_MODE,	"V4L2_CID_HDR_SENSOR_MODE" },
	{ V4L2_CID_FM_TX_CLASS,	"V4L2_CID_FM_TX_CLASS" },
	{ V4L2_CID_RDS_TX_DEVIATION,	"V4L2_CID_RDS_TX_DEVIATION" },
	{ V4L2_CID_RDS_TX_PI,	"V4L2_CID_RDS_TX_PI" },
	{ V4L2_CID_RDS_TX_PTY,	"V4L2_CID_RDS_TX_PTY" },
	{ V4L2_CID_RDS_TX_PS_NAME,	"V4L2_CID_RDS_TX_PS_NAME" },
	{ V4L2_CID_RDS_TX_RADIO_TEXT,	"V4L2_CID_RDS_TX_RADIO_TEXT" },
	{ V4L2_CID_RDS_TX_MONO_STEREO,	"V4L2_CID_RDS_TX_MONO_STEREO" },
	{ V4L2_CID_RDS_TX_ARTIFICIAL_HEAD,	"V4L2_CID_RDS_TX_ARTIFICIAL_HEAD" },
	{ V4L2_CID_RDS_TX_COMPRESSED,	"V4L2_CID_RDS_TX_COMPRESSED" },
	{ V4L2_CID_RDS_TX_DYNAMIC_PTY,	"V4L2_CID_RDS_TX_DYNAMIC_PTY" },
	{ V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT,	"V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT" },
	{ V4L2_CID_RDS_TX_TRAFFIC_PROGRAM,	"V4L2_CID_RDS_TX_TRAFFIC_PROGRAM" },
	{ V4L2_CID_RDS_TX_MUSIC_SPEECH,	"V4L2_CID_RDS_TX_MUSIC_SPEECH" },
	{ V4L2_CID_RDS_TX_ALT_FREQS_ENABLE,	"V4L2_CID_RDS_TX_ALT_FREQS_ENABLE" },
	{ V4L2_CID_RDS_TX_ALT_FREQS,	"V4L2_CID_RDS_TX_ALT_FREQS" },
	{ V4L2_CID_AUDIO_LIMITER_ENABLED,	"V4L2_CID_AUDIO_LIMITER_ENABLED" },
	{ V4L2_CID_AUDIO_LIMITER_RELEASE_TIME,	"V4L2_CID_AUDIO_LIMITER_RELEASE_TIME" },
	{ V4L2_CID_AUDIO_LIMITER_DEVIATION,	"V4L2_CID_AUDIO_LIMITER_DEVIATION" },
	{ V4L2_CID_AUDIO_COMPRESSION_ENABLED,	"V4L2_CID_AUDIO_COMPRESSION_ENABLED" },
	{ V4L2_CID_AUDIO_COMPRESSION_GAIN,	"V4L2_CID_AUDIO_COMPRESSION_GAIN" },
	{ V4L2_CID_AUDIO_COMPRESSION_THRESHOLD,	"V4L2_CID_AUDIO_COMPRESSION_THRESHOLD" },
	{ V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME,	"V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME" },
	{ V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME,	"V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME" },
	{ V4L2_CID_PILOT_TONE_ENABLED,	"V4L2_CID_PILOT_TONE_ENABLED" },
	{ V4L2_CID_PILOT_TONE_DEVIATION,	"V4L2_CID_PILOT_TONE_DEVIATION" },
	{ V4L2_CID_PILOT_TONE_FREQUENCY,	"V4L2_CID_PILOT_TONE_FREQUENCY" },
	{ V4L2_CID_TUNE_PREEMPHASIS,	"V4L2_CID_TUNE_PREEMPHASIS" },
	{ V4L2_CID_TUNE_POWER_LEVEL,	"V4L2_CID_TUNE_POWER_LEVEL" },
	{ V4L2_CID_TUNE_ANTENNA_CAPACITOR,	"V4L2_CID_TUNE_ANTENNA_CAPACITOR" },
	{ V4L2_CID_FLASH_CLASS,	"V4L2_CID_FLASH_CLASS" },
	{ V4L2_CID_FLASH_LED_MODE,	"V4L2_CID_FLASH_LED_MODE" },
	{ V4L2_CID_FLASH_STROBE_SOURCE,	"V4L2_CID_FLASH_STROBE_SOURCE" },
	{ V4L2_CID_FLASH_STROBE,	"V4L2_CID_FLASH_STROBE" },
	{ V4L2_CID_FLASH_STROBE_STOP,	"V4L2_CID_FLASH_STROBE_STOP" },
	{ V4L2_CID_FLASH_STROBE_STATUS,	"V4L2_CID_FLASH_STROBE_STATUS" },
	{ V4L2_CID_FLASH_TIMEOUT,	"V4L2_CID_FLASH_TIMEOUT" },
	{ V4L2_CID_FLASH_INTENSITY,	"V4L2_CID_FLASH_INTENSITY" },
	{ V4L2_CID_FLASH_TORCH_INTENSITY,	"V4L2_CID_FLASH_TORCH_INTENSITY" },
	{ V4L2_CID_FLASH_INDICATOR_INTENSITY,	"V4L2_CID_FLASH_INDICATOR_INTENSITY" },
	{ V4L2_CID_FLASH_FAULT,	"V4L2_CID_FLASH_FAULT" },
	{ V4L2_CID_FLASH_CHARGE,	"V4L2_CID_FLASH_CHARGE" },
	{ V4L2_CID_FLASH_READY,	"V4L2_CID_FLASH_READY" },
	{ V4L2_CID_JPEG_CLASS,	"V4L2_CID_JPEG_CLASS" },
	{ V4L2_CID_JPEG_CHROMA_SUBSAMPLING,	"V4L2_CID_JPEG_CHROMA_SUBSAMPLING" },
	{ V4L2_CID_JPEG_RESTART_INTERVAL,	"V4L2_CID_JPEG_RESTART_INTERVAL" },
	{ V4L2_CID_JPEG_COMPRESSION_QUALITY,	"V4L2_CID_JPEG_COMPRESSION_QUALITY" },
	{ V4L2_CID_JPEG_ACTIVE_MARKER,	"V4L2_CID_JPEG_ACTIVE_MARKER" },
	{ V4L2_CID_IMAGE_SOURCE_CLASS,	"V4L2_CID_IMAGE_SOURCE_CLASS" },
	{ V4L2_CID_VBLANK,	"V4L2_CID_VBLANK" },
	{ V4L2_CID_HBLANK,	"V4L2_CID_HBLANK" },
	{ V4L2_CID_ANALOGUE_GAIN,	"V4L2_CID_ANALOGUE_GAIN" },
	{ V4L2_CID_TEST_PATTERN_RED,	"V4L2_CID_TEST_PATTERN_RED" },
	{ V4L2_CID_TEST_PATTERN_GREENR,	"V4L2_CID_TEST_PATTERN_GREENR" },
	{ V4L2_CID_TEST_PATTERN_BLUE,	"V4L2_CID_TEST_PATTERN_BLUE" },
	{ V4L2_CID_TEST_PATTERN_GREENB,	"V4L2_CID_TEST_PATTERN_GREENB" },
	{ V4L2_CID_UNIT_CELL_SIZE,	"V4L2_CID_UNIT_CELL_SIZE" },
	{ V4L2_CID_NOTIFY_GAINS,	"V4L2_CID_NOTIFY_GAINS" },
	{ V4L2_CID_IMAGE_PROC_CLASS,	"V4L2_CID_IMAGE_PROC_CLASS" },
	{ V4L2_CID_LINK_FREQ,	"V4L2_CID_LINK_FREQ" },
	{ V4L2_CID_PIXEL_RATE,	"V4L2_CID_PIXEL_RATE" },
	{ V4L2_CID_TEST_PATTERN,	"V4L2_CID_TEST_PATTERN" },
	{ V4L2_CID_DEINTERLACING_MODE,	"V4L2_CID_DEINTERLACING_MODE" },
	{ V4L2_CID_DIGITAL_GAIN,	"V4L2_CID_DIGITAL_GAIN" },
	{ V4L2_CID_DV_CLASS,	"V4L2_CID_DV_CLASS" },
	{ V4L2_CID_DV_TX_HOTPLUG,	"V4L2_CID_DV_TX_HOTPLUG" },
	{ V4L2_CID_DV_TX_RXSENSE,	"V4L2_CID_DV_TX_RXSENSE" },
	{ V4L2_CID_DV_TX_EDID_PRESENT,	"V4L2_CID_DV_TX_EDID_PRESENT" },
	{ V4L2_CID_DV_TX_MODE,	"V4L2_CID_DV_TX_MODE" },
	{ V4L2_CID_DV_TX_RGB_RANGE,	"V4L2_CID_DV_TX_RGB_RANGE" },
	{ V4L2_CID_DV_TX_IT_CONTENT_TYPE,	"V4L2_CID_DV_TX_IT_CONTENT_TYPE" },
	{ V4L2_CID_DV_RX_POWER_PRESENT,	"V4L2_CID_DV_RX_POWER_PRESENT" },
	{ V4L2_CID_DV_RX_RGB_RANGE,	"V4L2_CID_DV_RX_RGB_RANGE" },
	{ V4L2_CID_DV_RX_IT_CONTENT_TYPE,	"V4L2_CID_DV_RX_IT_CONTENT_TYPE" },
	{ V4L2_CID_FM_RX_CLASS,	"V4L2_CID_FM_RX_CLASS" },
	{ V4L2_CID_TUNE_DEEMPHASIS,	"V4L2_CID_TUNE_DEEMPHASIS" },
	{ V4L2_CID_RDS_RECEPTION,	"V4L2_CID_RDS_RECEPTION" },
	{ V4L2_CID_RDS_RX_PTY,	"V4L2_CID_RDS_RX_PTY" },
	{ V4L2_CID_RDS_RX_PS_NAME,	"V4L2_CID_RDS_RX_PS_NAME" },
	{ V4L2_CID_RDS_RX_RADIO_TEXT,	"V4L2_CID_RDS_RX_RADIO_TEXT" },
	{ V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT,	"V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT" },
	{ V4L2_CID_RDS_RX_TRAFFIC_PROGRAM,	"V4L2_CID_RDS_RX_TRAFFIC_PROGRAM" },
	{ V4L2_CID_RDS_RX_MUSIC_SPEECH,	"V4L2_CID_RDS_RX_MUSIC_SPEECH" },
	{ V4L2_CID_RF_TUNER_CLASS,	"V4L2_CID_RF_TUNER_CLASS" },
	{ V4L2_CID_RF_TUNER_BANDWIDTH_AUTO,	"V4L2_CID_RF_TUNER_BANDWIDTH_AUTO" },
	{ V4L2_CID_RF_TUNER_BANDWIDTH,	"V4L2_CID_RF_TUNER_BANDWIDTH" },
	{ V4L2_CID_RF_TUNER_RF_GAIN,	"V4L2_CID_RF_TUNER_RF_GAIN" },
	{ V4L2_CID_RF_TUNER_LNA_GAIN_AUTO,	"V4L2_CID_RF_TUNER_LNA_GAIN_AUTO" },
	{ V4L2_CID_RF_TUNER_LNA_GAIN,	"V4L2_CID_RF_TUNER_LNA_GAIN" },
	{ V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO,	"V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO" },
	{ V4L2_CID_RF_TUNER_MIXER_GAIN,	"V4L2_CID_RF_TUNER_MIXER_GAIN" },
	{ V4L2_CID_RF_TUNER_IF_GAIN_AUTO,	"V4L2_CID_RF_TUNER_IF_GAIN_AUTO" },
	{ V4L2_CID_RF_TUNER_IF_GAIN,	"V4L2_CID_RF_TUNER_IF_GAIN" },
	{ V4L2_CID_RF_TUNER_PLL_LOCK,	"V4L2_CID_RF_TUNER_PLL_LOCK" },
	{ V4L2_CID_DETECT_CLASS,	"V4L2_CID_DETECT_CLASS" },
	{ V4L2_CID_DETECT_MD_MODE,	"V4L2_CID_DETECT_MD_MODE" },
	{ V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD,	"V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD" },
	{ V4L2_CID_DETECT_MD_THRESHOLD_GRID,	"V4L2_CID_DETECT_MD_THRESHOLD_GRID" },
	{ V4L2_CID_DETECT_MD_REGION_GRID,	"V4L2_CID_DETECT_MD_REGION_GRID" },
	{ V4L2_CID_CODEC_STATELESS_CLASS,	"V4L2_CID_CODEC_STATELESS_CLASS" },
	{ V4L2_CID_STATELESS_H264_DECODE_MODE,	"V4L2_CID_STATELESS_H264_DECODE_MODE" },
	{ V4L2_CID_STATELESS_H264_START_CODE,	"V4L2_CID_STATELESS_H264_START_CODE" },
	{ V4L2_CID_STATELESS_H264_SPS,	"V4L2_CID_STATELESS_H264_SPS" },
	{ V4L2_CID_STATELESS_H264_PPS,	"V4L2_CID_STATELESS_H264_PPS" },
	{ V4L2_CID_STATELESS_H264_SCALING_MATRIX,	"V4L2_CID_STATELESS_H264_SCALING_MATRIX" },
	{ V4L2_CID_STATELESS_H264_PRED_WEIGHTS,	"V4L2_CID_STATELESS_H264_PRED_WEIGHTS" },
	{ V4L2_CID_STATELESS_H264_SLICE_PARAMS,	"V4L2_CID_STATELESS_H264_SLICE_PARAMS" },
	{ V4L2_CID_STATELESS_H264_DECODE_PARAMS,	"V4L2_CID_STATELESS_H264_DECODE_PARAMS" },
	{ V4L2_CID_STATELESS_FWHT_PARAMS,	"V4L2_CID_STATELESS_FWHT_PARAMS" },
	{ V4L2_CID_STATELESS_VP8_FRAME,	"V4L2_CID_STATELESS_VP8_FRAME" },
	{ V4L2_CID_STATELESS_MPEG2_SEQUENCE,	"V4L2_CID_STATELESS_MPEG2_SEQUENCE" },
	{ V4L2_CID_STATELESS_MPEG2_PICTURE,	"V4L2_CID_STATELESS_MPEG2_PICTURE" },
	{ V4L2_CID_STATELESS_MPEG2_QUANTISATION,	"V4L2_CID_STATELESS_MPEG2_QUANTISATION" },
	{ V4L2_CID_STATELESS_HEVC_SPS,	"V4L2_CID_STATELESS_HEVC_SPS" },
	{ V4L2_CID_STATELESS_HEVC_PPS,	"V4L2_CID_STATELESS_HEVC_PPS" },
	{ V4L2_CID_STATELESS_HEVC_SLICE_PARAMS,	"V4L2_CID_STATELESS_HEVC_SLICE_PARAMS" },
	{ V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,	"V4L2_CID_STATELESS_HEVC_SCALING_MATRIX" },
	{ V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,	"V4L2_CID_STATELESS_HEVC_DECODE_PARAMS" },
	{ V4L2_CID_STATELESS_HEVC_DECODE_MODE,	"V4L2_CID_STATELESS_HEVC_DECODE_MODE" },
	{ V4L2_CID_STATELESS_HEVC_START_CODE,	"V4L2_CID_STATELESS_HEVC_START_CODE" },
	{ V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS,	"V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS" },
	{ V4L2_CID_COLORIMETRY_CLASS,	"V4L2_CID_COLORIMETRY_CLASS" },
	{ V4L2_CID_COLORIMETRY_HDR10_CLL_INFO,	"V4L2_CID_COLORIMETRY_HDR10_CLL_INFO" },
	{ V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY,	"V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY" },
	{ V4L2_CID_STATELESS_VP9_FRAME,	"V4L2_CID_STATELESS_VP9_FRAME" },
	{ V4L2_CID_STATELESS_VP9_COMPRESSED_HDR,	"V4L2_CID_STATELESS_VP9_COMPRESSED_HDR" },
	{ V4L2_CID_STATELESS_AV1_SEQUENCE,	"V4L2_CID_STATELESS_AV1_SEQUENCE" },
	{ V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY,	"V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY" },
	{ V4L2_CID_STATELESS_AV1_FRAME,	"V4L2_CID_STATELESS_AV1_FRAME" },
	{ V4L2_CID_STATELESS_AV1_FILM_GRAIN,	"V4L2_CID_STATELESS_AV1_FILM_GRAIN" },
	{ V4L2_CID_MPEG_CLASS,	"V4L2_CID_MPEG_CLASS" },
	{ V4L2_CID_MAX_CTRLS,	"V4L2_CID_MAX_CTRLS" },
	{ -1, "" }
};
constexpr val_def ioctl_val_def[] = {
	{ VIDIOC_QUERYCAP,	"VIDIOC_QUERYCAP" },
	{ VIDIOC_ENUM_FMT,	"VIDIOC_ENUM_FMT" },
	{ VIDIOC_G_FMT,	"VIDIOC_G_FMT" },
	{ VIDIOC_S_FMT,	"VIDIOC_S_FMT" },
	{ VIDIOC_REQBUFS,	"VIDIOC_REQBUFS" },
	{ VIDIOC_QUERYBUF,	"VIDIOC_QUERYBUF" },
	{ VIDIOC_G_FBUF,	"VIDIOC_G_FBUF" },
	{ VIDIOC_S_FBUF,	"VIDIOC_S_FBUF" },
	{ VIDIOC_OVERLAY,	"VIDIOC_OVERLAY" },
	{ VIDIOC_QBUF,	"VIDIOC_QBUF" },
	{ VIDIOC_EXPBUF,	"VIDIOC_EXPBUF" },
	{ VIDIOC_DQBUF,	"VIDIOC_DQBUF" },
	{ VIDIOC_STREAMON,	"VIDIOC_STREAMON" },
	{ VIDIOC_STREAMOFF,	"VIDIOC_STREAMOFF" },
	{ VIDIOC_G_PARM,	"VIDIOC_G_PARM" },
	{ VIDIOC_S_PARM,	"VIDIOC_S_PARM" },
	{ VIDIOC_G_STD,	"VIDIOC_G_STD" },
	{ VIDIOC_S_STD,	"VIDIOC_S_STD" },
	{ VIDIOC_ENUMSTD,	"VIDIOC_ENUMSTD" },
	{ VIDIOC_ENUMINPUT,	"VIDIOC_ENUMINPUT" },
	{ VIDIOC_G_CTRL,	"VIDIOC_G_CTRL" },
	{ VIDIOC_S_CTRL,	"VIDIOC_S_CTRL" },
	{ VIDIOC_G_TUNER,	"VIDIOC_G_TUNER" },
	{ VIDIOC_S_TUNER,	"VIDIOC_S_TUNER" },
	{ VIDIOC_G_AUDIO,	"VIDIOC_G_AUDIO" },
	{ VIDIOC_S_AUDIO,	"VIDIOC_S_AUDIO" },
	{ VIDIOC_QUERYCTRL,	"VIDIOC_QUERYCTRL" },
	{ VIDIOC_QUERYMENU,	"VIDIOC_QUERYMENU" },
	{ VIDIOC_G_INPUT,	"VIDIOC_G_INPUT" },
	{ VIDIOC_S_INPUT,	"VIDIOC_S_INPUT" },
	{ VIDIOC_G_EDID,	"VIDIOC_G_EDID" },
	{ VIDIOC_S_EDID,	"VIDIOC_S_EDID" },
	{ VIDIOC_G_OUTPUT,	"VIDIOC_G_OUTPUT" },
	{ VIDIOC_S_OUTPUT,	"VIDIOC_S_OUTPUT" },
	{ VIDIOC_ENUMOUTPUT,	"VIDIOC_ENUMOUTPUT" },
	{ VIDIOC_G_AUDOUT,	"VIDIOC_G_AUDOUT" },
	{ VIDIOC_S_AUDOUT,	"VIDIOC_S_AUDOUT" },
	{ VIDIOC_G_MODULATOR,	"VIDIOC_G_MODULATOR" },
	{ VIDIOC_S_MODULATOR,	"VIDIOC_S_MODULATOR" },
	{ VIDIOC_G_FREQUENCY,	"VIDIOC_G_FREQUENCY" },
	{ VIDIOC_S_FREQUENCY,	"VIDIOC_S_FREQUENCY" },
	{ VIDIOC_CROPCAP,	"VIDIOC_CROPCAP" },
	{ VIDIOC_G_CROP,	"VIDIOC_G_CROP" },
	{ VIDIOC_S_CROP,	"VIDIOC_S_CROP" },
	{ VIDIOC_G_JPEGCOMP,	"VIDIOC_G_JPEGCOMP" },
	{ VIDIOC_S_JPEGCOMP,	"VIDIOC_S_JPEGCOMP" },
	{ VIDIOC_QUERYSTD,	"VIDIOC_QUERYSTD" },
	{ VIDIOC_TRY_FMT,	"VIDIOC_TRY_FMT" },
	{ VIDIOC_ENUMAUDIO,	"VIDIOC_ENUMAUDIO" },
	{ VIDIOC_ENUMAUDOUT,	"VIDIOC_ENUMAUDOUT" },
	{ VIDIOC_G_PRIORITY,	"VIDIOC_G_PRIORITY" },
	{ VIDIOC_S_PRIORITY,	"VIDIOC_S_PRIORITY" },
	{ VIDIOC_G_SLICED_VBI_CAP,	"VIDIOC_G_SLICED_VBI_CAP" },
	{ VIDIOC_LOG_STATUS,	"VIDIOC_LOG_STATUS" },
	{ VIDIOC_G_EXT_CTRLS,	"VIDIOC_G_EXT_CTRLS" },
	{ VIDIOC_S_EXT_CTRLS,	"VIDIOC_S_EXT_CTRLS" },
	{ VIDIOC_TRY_EXT_CTRLS,	"VIDIOC_TRY_EXT_CTRLS" },
	{ VIDIOC_ENUM_FRAMESIZES,	"VIDIOC_ENUM_FRAMESIZES" },
	{ VIDIOC_ENUM_FRAMEINTERVALS,	"VIDIOC_ENUM_FRAMEINTERVALS" },
	{ VIDIOC_G_ENC_INDEX,	"VIDIOC_G_ENC_INDEX" },
	{ VIDIOC_ENCODER_CMD,	"VIDIOC_ENCODER_CMD" },
	{ VIDIOC_TRY_ENCODER_CMD,	"VIDIOC_TRY_ENCODER_CMD" },
	{ VIDIOC_DBG_S_REGISTER,	"VIDIOC_DBG_S_REGISTER" },
	{ VIDIOC_DBG_G_REGISTER,	"VIDIOC_DBG_G_REGISTER" },
	{ VIDIOC_S_HW_FREQ_SEEK,	"VIDIOC_S_HW_FREQ_SEEK" },
	{ VIDIOC_S_DV_TIMINGS,	"VIDIOC_S_DV_TIMINGS" },
	{ VIDIOC_G_DV_TIMINGS,	"VIDIOC_G_DV_TIMINGS" },
	{ VIDIOC_DQEVENT,	"VIDIOC_DQEVENT" },
	{ VIDIOC_SUBSCRIBE_EVENT,	"VIDIOC_SUBSCRIBE_EVENT" },
	{ VIDIOC_UNSUBSCRIBE_EVENT,	"VIDIOC_UNSUBSCRIBE_EVENT" },
	{ VIDIOC_CREATE_BUFS,	"VIDIOC_CREATE_BUFS" },
	{ VIDIOC_PREPARE_BUF,	"VIDIOC_PREPARE_BUF" },
	{ VIDIOC_G_SELECTION,	"VIDIOC_G_SELECTION" },
	{ VIDIOC_S_SELECTION,	"VIDIOC_S_SELECTION" },
	{ VIDIOC_DECODER_CMD,	"VIDIOC_DECODER_CMD" },
	{ VIDIOC_TRY_DECODER_CMD,	"VIDIOC_TRY_DECODER_CMD" },
	{ VIDIOC_ENUM_DV_TIMINGS,	"VIDIOC_ENUM_DV_TIMINGS" },
	{ VIDIOC_QUERY_DV_TIMINGS,	"VIDIOC_QUERY_DV_TIMINGS" },
	{ VIDIOC_DV_TIMINGS_CAP,	"VIDIOC_DV_TIMINGS_CAP" },
	{ VIDIOC_ENUM_FREQ_BANDS,	"VIDIOC_ENUM_FREQ_BANDS" },
	{ VIDIOC_DBG_G_CHIP_INFO,	"VIDIOC_DBG_G_CHIP_INFO" },
	{ VIDIOC_QUERY_EXT_CTRL,	"VIDIOC_QUERY_EXT_CTRL" },
	{ VIDIOC_REMOVE_BUFS,	"VIDIOC_REMOVE_BUFS" },
	{ MEDIA_IOC_DEVICE_INFO,	"MEDIA_IOC_DEVICE_INFO" },
	{ MEDIA_IOC_ENUM_ENTITIES,	"MEDIA_IOC_ENUM_ENTITIES" },
	{ MEDIA_IOC_ENUM_LINKS,	"MEDIA_IOC_ENUM_LINKS" },
	{ MEDIA_IOC_SETUP_LINK,	"MEDIA_IOC_SETUP_LINK" },
	{ MEDIA_IOC_G_TOPOLOGY,	"MEDIA_IOC_G_TOPOLOGY" },
	{ MEDIA_IOC_REQUEST_ALLOC,	"MEDIA_IOC_REQUEST_ALLOC" },
	{ MEDIA_REQUEST_IOC_QUEUE,	"MEDIA_REQUEST_IOC_QUEUE" },
	{ MEDIA_REQUEST_IOC_REINIT,	"MEDIA_REQUEST_IOC_REINIT" },
	{ -1, "" }
};

#endif
