blob: e5e387c44a51a2e4487355aa0e2b0f5027bdc48b [file] [log] [blame]
/* Examples of switch statements with many cases (with default values).
Adapted from Linux 5.9-rc1:drivers/media/v4l2-core/v4l2-ctrls.c. */
/* { dg-additional-options "-O1" } */
typedef unsigned int u32;
typedef long long s64;
typedef unsigned long long u64;
enum v4l2_ctrl_type {
V4L2_CTRL_TYPE_INTEGER = 1,
V4L2_CTRL_TYPE_BOOLEAN = 2,
V4L2_CTRL_TYPE_MENU = 3,
V4L2_CTRL_TYPE_BUTTON = 4,
V4L2_CTRL_TYPE_INTEGER64 = 5,
V4L2_CTRL_TYPE_CTRL_CLASS = 6,
V4L2_CTRL_TYPE_STRING = 7,
V4L2_CTRL_TYPE_BITMASK = 8,
V4L2_CTRL_TYPE_INTEGER_MENU = 9,
V4L2_CTRL_COMPOUND_TYPES = 0x0100,
V4L2_CTRL_TYPE_U8 = 0x0100,
V4L2_CTRL_TYPE_U16 = 0x0101,
V4L2_CTRL_TYPE_U32 = 0x0102,
V4L2_CTRL_TYPE_AREA = 0x0106,
};
const char *v4l2_ctrl_get_name(u32 id) {
switch (id) {
case (0x00980000 | 1):
return "User Controls";
case ((0x00980000 | 0x900) + 0):
return "Brightness";
case ((0x00980000 | 0x900) + 1):
return "Contrast";
case ((0x00980000 | 0x900) + 2):
return "Saturation";
case ((0x00980000 | 0x900) + 3):
return "Hue";
case ((0x00980000 | 0x900) + 5):
return "Volume";
case ((0x00980000 | 0x900) + 6):
return "Balance";
case ((0x00980000 | 0x900) + 7):
return "Bass";
case ((0x00980000 | 0x900) + 8):
return "Treble";
case ((0x00980000 | 0x900) + 9):
return "Mute";
case ((0x00980000 | 0x900) + 10):
return "Loudness";
case ((0x00980000 | 0x900) + 11):
return "Black Level";
case ((0x00980000 | 0x900) + 12):
return "White Balance, Automatic";
case ((0x00980000 | 0x900) + 13):
return "Do White Balance";
case ((0x00980000 | 0x900) + 14):
return "Red Balance";
case ((0x00980000 | 0x900) + 15):
return "Blue Balance";
case ((0x00980000 | 0x900) + 16):
return "Gamma";
case ((0x00980000 | 0x900) + 17):
return "Exposure";
case ((0x00980000 | 0x900) + 18):
return "Gain, Automatic";
case ((0x00980000 | 0x900) + 19):
return "Gain";
case ((0x00980000 | 0x900) + 20):
return "Horizontal Flip";
case ((0x00980000 | 0x900) + 21):
return "Vertical Flip";
case ((0x00980000 | 0x900) + 24):
return "Power Line Frequency";
case ((0x00980000 | 0x900) + 25):
return "Hue, Automatic";
case ((0x00980000 | 0x900) + 26):
return "White Balance Temperature";
case ((0x00980000 | 0x900) + 27):
return "Sharpness";
case ((0x00980000 | 0x900) + 28):
return "Backlight Compensation";
case ((0x00980000 | 0x900) + 29):
return "Chroma AGC";
case ((0x00980000 | 0x900) + 30):
return "Color Killer";
case ((0x00980000 | 0x900) + 31):
return "Color Effects";
case ((0x00980000 | 0x900) + 32):
return "Brightness, Automatic";
case ((0x00980000 | 0x900) + 33):
return "Band-Stop Filter";
case ((0x00980000 | 0x900) + 34):
return "Rotate";
case ((0x00980000 | 0x900) + 35):
return "Background Color";
case ((0x00980000 | 0x900) + 36):
return "Chroma Gain";
case ((0x00980000 | 0x900) + 37):
return "Illuminator 1";
case ((0x00980000 | 0x900) + 38):
return "Illuminator 2";
case ((0x00980000 | 0x900) + 39):
return "Min Number of Capture Buffers";
case ((0x00980000 | 0x900) + 40):
return "Min Number of Output Buffers";
case ((0x00980000 | 0x900) + 41):
return "Alpha Component";
case ((0x00980000 | 0x900) + 42):
return "Color Effects, CbCr";
case (0x00990000 | 1):
return "Codec Controls";
case ((0x00990000 | 0x900) + 0):
return "Stream Type";
case ((0x00990000 | 0x900) + 1):
return "Stream PMT Program ID";
case ((0x00990000 | 0x900) + 2):
return "Stream Audio Program ID";
case ((0x00990000 | 0x900) + 3):
return "Stream Video Program ID";
case ((0x00990000 | 0x900) + 4):
return "Stream PCR Program ID";
case ((0x00990000 | 0x900) + 5):
return "Stream PES Audio ID";
case ((0x00990000 | 0x900) + 6):
return "Stream PES Video ID";
case ((0x00990000 | 0x900) + 7):
return "Stream VBI Format";
case ((0x00990000 | 0x900) + 100):
return "Audio Sampling Frequency";
case ((0x00990000 | 0x900) + 101):
return "Audio Encoding";
case ((0x00990000 | 0x900) + 102):
return "Audio Layer I Bitrate";
case ((0x00990000 | 0x900) + 103):
return "Audio Layer II Bitrate";
case ((0x00990000 | 0x900) + 104):
return "Audio Layer III Bitrate";
case ((0x00990000 | 0x900) + 105):
return "Audio Stereo Mode";
case ((0x00990000 | 0x900) + 106):
return "Audio Stereo Mode Extension";
case ((0x00990000 | 0x900) + 107):
return "Audio Emphasis";
case ((0x00990000 | 0x900) + 108):
return "Audio CRC";
case ((0x00990000 | 0x900) + 109):
return "Audio Mute";
case ((0x00990000 | 0x900) + 110):
return "Audio AAC Bitrate";
case ((0x00990000 | 0x900) + 111):
return "Audio AC-3 Bitrate";
case ((0x00990000 | 0x900) + 112):
return "Audio Playback";
case ((0x00990000 | 0x900) + 113):
return "Audio Multilingual Playback";
case ((0x00990000 | 0x900) + 200):
return "Video Encoding";
case ((0x00990000 | 0x900) + 201):
return "Video Aspect";
case ((0x00990000 | 0x900) + 202):
return "Video B Frames";
case ((0x00990000 | 0x900) + 203):
return "Video GOP Size";
case ((0x00990000 | 0x900) + 204):
return "Video GOP Closure";
case ((0x00990000 | 0x900) + 205):
return "Video Pulldown";
case ((0x00990000 | 0x900) + 206):
return "Video Bitrate Mode";
case ((0x00990000 | 0x900) + 207):
return "Video Bitrate";
case ((0x00990000 | 0x900) + 208):
return "Video Peak Bitrate";
case ((0x00990000 | 0x900) + 209):
return "Video Temporal Decimation";
case ((0x00990000 | 0x900) + 210):
return "Video Mute";
case ((0x00990000 | 0x900) + 211):
return "Video Mute YUV";
case ((0x00990000 | 0x900) + 212):
return "Decoder Slice Interface";
case ((0x00990000 | 0x900) + 213):
return "MPEG4 Loop Filter Enable";
case ((0x00990000 | 0x900) + 214):
return "Number of Intra Refresh MBs";
case ((0x00990000 | 0x900) + 215):
return "Frame Level Rate Control Enable";
case ((0x00990000 | 0x900) + 218):
return "H264 MB Level Rate Control";
case ((0x00990000 | 0x900) + 216):
return "Sequence Header Mode";
case ((0x00990000 | 0x900) + 217):
return "Max Number of Reference Pics";
case ((0x00990000 | 0x900) + 300):
return "H263 I-Frame QP Value";
case ((0x00990000 | 0x900) + 301):
return "H263 P-Frame QP Value";
case ((0x00990000 | 0x900) + 302):
return "H263 B-Frame QP Value";
case ((0x00990000 | 0x900) + 303):
return "H263 Minimum QP Value";
case ((0x00990000 | 0x900) + 304):
return "H263 Maximum QP Value";
case ((0x00990000 | 0x900) + 350):
return "H264 I-Frame QP Value";
case ((0x00990000 | 0x900) + 351):
return "H264 P-Frame QP Value";
case ((0x00990000 | 0x900) + 352):
return "H264 B-Frame QP Value";
case ((0x00990000 | 0x900) + 354):
return "H264 Maximum QP Value";
case ((0x00990000 | 0x900) + 353):
return "H264 Minimum QP Value";
case ((0x00990000 | 0x900) + 355):
return "H264 8x8 Transform Enable";
case ((0x00990000 | 0x900) + 356):
return "H264 CPB Buffer Size";
case ((0x00990000 | 0x900) + 357):
return "H264 Entropy Mode";
case ((0x00990000 | 0x900) + 358):
return "H264 I-Frame Period";
case ((0x00990000 | 0x900) + 359):
return "H264 Level";
case ((0x00990000 | 0x900) + 360):
return "H264 Loop Filter Alpha Offset";
case ((0x00990000 | 0x900) + 361):
return "H264 Loop Filter Beta Offset";
case ((0x00990000 | 0x900) + 362):
return "H264 Loop Filter Mode";
case ((0x00990000 | 0x900) + 363):
return "H264 Profile";
case ((0x00990000 | 0x900) + 364):
return "Vertical Size of SAR";
case ((0x00990000 | 0x900) + 365):
return "Horizontal Size of SAR";
case ((0x00990000 | 0x900) + 366):
return "Aspect Ratio VUI Enable";
case ((0x00990000 | 0x900) + 367):
return "VUI Aspect Ratio IDC";
case ((0x00990000 | 0x900) + 368):
return "H264 Enable Frame Packing SEI";
case ((0x00990000 | 0x900) + 369):
return "H264 Set Curr. Frame as Frame0";
case ((0x00990000 | 0x900) + 370):
return "H264 FP Arrangement Type";
case ((0x00990000 | 0x900) + 371):
return "H264 Flexible MB Ordering";
case ((0x00990000 | 0x900) + 372):
return "H264 Map Type for FMO";
case ((0x00990000 | 0x900) + 373):
return "H264 FMO Number of Slice Groups";
case ((0x00990000 | 0x900) + 374):
return "H264 FMO Direction of Change";
case ((0x00990000 | 0x900) + 375):
return "H264 FMO Size of 1st Slice Grp";
case ((0x00990000 | 0x900) + 376):
return "H264 FMO No. of Consecutive MBs";
case ((0x00990000 | 0x900) + 377):
return "H264 Arbitrary Slice Ordering";
case ((0x00990000 | 0x900) + 378):
return "H264 ASO Slice Order";
case ((0x00990000 | 0x900) + 379):
return "Enable H264 Hierarchical Coding";
case ((0x00990000 | 0x900) + 380):
return "H264 Hierarchical Coding Type";
case ((0x00990000 | 0x900) + 381):
return "H264 Number of HC Layers";
case ((0x00990000 | 0x900) + 382):
return "H264 Set QP Value for HC Layers";
case ((0x00990000 | 0x900) + 383):
return "H264 Constrained Intra Pred";
case ((0x00990000 | 0x900) + 384):
return "H264 Chroma QP Index Offset";
case ((0x00990000 | 0x900) + 385):
return "H264 I-Frame Minimum QP Value";
case ((0x00990000 | 0x900) + 386):
return "H264 I-Frame Maximum QP Value";
case ((0x00990000 | 0x900) + 387):
return "H264 P-Frame Minimum QP Value";
case ((0x00990000 | 0x900) + 388):
return "H264 P-Frame Maximum QP Value";
case ((0x00990000 | 0x900) + 1000):
return "H264 Sequence Parameter Set";
case ((0x00990000 | 0x900) + 1001):
return "H264 Picture Parameter Set";
case ((0x00990000 | 0x900) + 1002):
return "H264 Scaling Matrix";
case ((0x00990000 | 0x900) + 1003):
return "H264 Slice Parameters";
case ((0x00990000 | 0x900) + 1004):
return "H264 Decode Parameters";
case ((0x00990000 | 0x900) + 1005):
return "H264 Decode Mode";
case ((0x00990000 | 0x900) + 1006):
return "H264 Start Code";
case ((0x00990000 | 0x900) + 270):
return "MPEG2 Level";
case ((0x00990000 | 0x900) + 271):
return "MPEG2 Profile";
case ((0x00990000 | 0x900) + 400):
return "MPEG4 I-Frame QP Value";
case ((0x00990000 | 0x900) + 401):
return "MPEG4 P-Frame QP Value";
case ((0x00990000 | 0x900) + 402):
return "MPEG4 B-Frame QP Value";
case ((0x00990000 | 0x900) + 403):
return "MPEG4 Minimum QP Value";
case ((0x00990000 | 0x900) + 404):
return "MPEG4 Maximum QP Value";
case ((0x00990000 | 0x900) + 405):
return "MPEG4 Level";
case ((0x00990000 | 0x900) + 406):
return "MPEG4 Profile";
case ((0x00990000 | 0x900) + 407):
return "Quarter Pixel Search Enable";
case ((0x00990000 | 0x900) + 219):
return "Maximum Bytes in a Slice";
case ((0x00990000 | 0x900) + 220):
return "Number of MBs in a Slice";
case ((0x00990000 | 0x900) + 221):
return "Slice Partitioning Method";
case ((0x00990000 | 0x900) + 222):
return "VBV Buffer Size";
case ((0x00990000 | 0x900) + 223):
return "Video Decoder PTS";
case ((0x00990000 | 0x900) + 224):
return "Video Decoder Frame Count";
case ((0x00990000 | 0x900) + 225):
return "Initial Delay for VBV Control";
case ((0x00990000 | 0x900) + 227):
return "Horizontal MV Search Range";
case ((0x00990000 | 0x900) + 228):
return "Vertical MV Search Range";
case ((0x00990000 | 0x900) + 226):
return "Repeat Sequence Header";
case ((0x00990000 | 0x900) + 229):
return "Force Key Frame";
case ((0x00990000 | 0x900) + 250):
return "MPEG-2 Slice Parameters";
case ((0x00990000 | 0x900) + 251):
return "MPEG-2 Quantization Matrices";
case ((0x00990000 | 0x900) + 292):
return "FWHT Stateless Parameters";
case ((0x00990000 | 0x900) + 290):
return "FWHT I-Frame QP Value";
case ((0x00990000 | 0x900) + 291):
return "FWHT P-Frame QP Value";
case ((0x00990000 | 0x900) + 500):
return "VPX Number of Partitions";
case ((0x00990000 | 0x900) + 501):
return "VPX Intra Mode Decision Disable";
case ((0x00990000 | 0x900) + 502):
return "VPX No. of Refs for P Frame";
case ((0x00990000 | 0x900) + 503):
return "VPX Loop Filter Level Range";
case ((0x00990000 | 0x900) + 504):
return "VPX Deblocking Effect Control";
case ((0x00990000 | 0x900) + 505):
return "VPX Golden Frame Refresh Period";
case ((0x00990000 | 0x900) + 506):
return "VPX Golden Frame Indicator";
case ((0x00990000 | 0x900) + 507):
return "VPX Minimum QP Value";
case ((0x00990000 | 0x900) + 508):
return "VPX Maximum QP Value";
case ((0x00990000 | 0x900) + 509):
return "VPX I-Frame QP Value";
case ((0x00990000 | 0x900) + 510):
return "VPX P-Frame QP Value";
case ((0x00990000 | 0x900) + 511):
return "VP8 Profile";
case ((0x00990000 | 0x900) + 512):
return "VP9 Profile";
case ((0x00990000 | 0x900) + 2000):
return "VP8 Frame Header";
case ((0x00990000 | 0x900) + 602):
return "HEVC I-Frame QP Value";
case ((0x00990000 | 0x900) + 603):
return "HEVC P-Frame QP Value";
case ((0x00990000 | 0x900) + 604):
return "HEVC B-Frame QP Value";
case ((0x00990000 | 0x900) + 600):
return "HEVC Minimum QP Value";
case ((0x00990000 | 0x900) + 601):
return "HEVC Maximum QP Value";
case ((0x00990000 | 0x900) + 615):
return "HEVC Profile";
case ((0x00990000 | 0x900) + 616):
return "HEVC Level";
case ((0x00990000 | 0x900) + 618):
return "HEVC Tier";
case ((0x00990000 | 0x900) + 617):
return "HEVC Frame Rate Resolution";
case ((0x00990000 | 0x900) + 619):
return "HEVC Maximum Coding Unit Depth";
case ((0x00990000 | 0x900) + 623):
return "HEVC Refresh Type";
case ((0x00990000 | 0x900) + 626):
return "HEVC Constant Intra Prediction";
case ((0x00990000 | 0x900) + 625):
return "HEVC Lossless Encoding";
case ((0x00990000 | 0x900) + 627):
return "HEVC Wavefront";
case ((0x00990000 | 0x900) + 620):
return "HEVC Loop Filter";
case ((0x00990000 | 0x900) + 605):
return "HEVC QP Values";
case ((0x00990000 | 0x900) + 606):
return "HEVC Hierarchical Coding Type";
case ((0x00990000 | 0x900) + 607):
return "HEVC Hierarchical Coding Layer";
case ((0x00990000 | 0x900) + 608):
return "HEVC Hierarchical Layer 0 QP";
case ((0x00990000 | 0x900) + 609):
return "HEVC Hierarchical Layer 1 QP";
case ((0x00990000 | 0x900) + 610):
return "HEVC Hierarchical Layer 2 QP";
case ((0x00990000 | 0x900) + 611):
return "HEVC Hierarchical Layer 3 QP";
case ((0x00990000 | 0x900) + 612):
return "HEVC Hierarchical Layer 4 QP";
case ((0x00990000 | 0x900) + 613):
return "HEVC Hierarchical Layer 5 QP";
case ((0x00990000 | 0x900) + 614):
return "HEVC Hierarchical Layer 6 QP";
case ((0x00990000 | 0x900) + 636):
return "HEVC Hierarchical Lay 0 BitRate";
case ((0x00990000 | 0x900) + 637):
return "HEVC Hierarchical Lay 1 BitRate";
case ((0x00990000 | 0x900) + 638):
return "HEVC Hierarchical Lay 2 BitRate";
case ((0x00990000 | 0x900) + 639):
return "HEVC Hierarchical Lay 3 BitRate";
case ((0x00990000 | 0x900) + 640):
return "HEVC Hierarchical Lay 4 BitRate";
case ((0x00990000 | 0x900) + 641):
return "HEVC Hierarchical Lay 5 BitRate";
case ((0x00990000 | 0x900) + 642):
return "HEVC Hierarchical Lay 6 BitRate";
case ((0x00990000 | 0x900) + 628):
return "HEVC General PB";
case ((0x00990000 | 0x900) + 629):
return "HEVC Temporal ID";
case ((0x00990000 | 0x900) + 630):
return "HEVC Strong Intra Smoothing";
case ((0x00990000 | 0x900) + 632):
return "HEVC Intra PU Split";
case ((0x00990000 | 0x900) + 633):
return "HEVC TMV Prediction";
case ((0x00990000 | 0x900) + 631):
return "HEVC Max Num of Candidate MVs";
case ((0x00990000 | 0x900) + 634):
return "HEVC ENC Without Startcode";
case ((0x00990000 | 0x900) + 624):
return "HEVC Num of I-Frame b/w 2 IDR";
case ((0x00990000 | 0x900) + 621):
return "HEVC Loop Filter Beta Offset";
case ((0x00990000 | 0x900) + 622):
return "HEVC Loop Filter TC Offset";
case ((0x00990000 | 0x900) + 635):
return "HEVC Size of Length Field";
case ((0x00990000 | 0x900) + 643):
return "Reference Frames for a P-Frame";
case ((0x00990000 | 0x900) + 644):
return "Prepend SPS and PPS to IDR";
case ((0x00990000 | 0x900) + 1008):
return "HEVC Sequence Parameter Set";
case ((0x00990000 | 0x900) + 1009):
return "HEVC Picture Parameter Set";
case ((0x00990000 | 0x900) + 1010):
return "HEVC Slice Parameters";
case ((0x00990000 | 0x900) + 1015):
return "HEVC Decode Mode";
case ((0x00990000 | 0x900) + 1016):
return "HEVC Start Code";
case (0x009a0000 | 1):
return "Camera Controls";
case ((0x009a0000 | 0x900) + 1):
return "Auto Exposure";
case ((0x009a0000 | 0x900) + 2):
return "Exposure Time, Absolute";
case ((0x009a0000 | 0x900) + 3):
return "Exposure, Dynamic Framerate";
case ((0x009a0000 | 0x900) + 4):
return "Pan, Relative";
case ((0x009a0000 | 0x900) + 5):
return "Tilt, Relative";
case ((0x009a0000 | 0x900) + 6):
return "Pan, Reset";
case ((0x009a0000 | 0x900) + 7):
return "Tilt, Reset";
case ((0x009a0000 | 0x900) + 8):
return "Pan, Absolute";
case ((0x009a0000 | 0x900) + 9):
return "Tilt, Absolute";
case ((0x009a0000 | 0x900) + 10):
return "Focus, Absolute";
case ((0x009a0000 | 0x900) + 11):
return "Focus, Relative";
case ((0x009a0000 | 0x900) + 12):
return "Focus, Automatic Continuous";
case ((0x009a0000 | 0x900) + 13):
return "Zoom, Absolute";
case ((0x009a0000 | 0x900) + 14):
return "Zoom, Relative";
case ((0x009a0000 | 0x900) + 15):
return "Zoom, Continuous";
case ((0x009a0000 | 0x900) + 16):
return "Privacy";
case ((0x009a0000 | 0x900) + 17):
return "Iris, Absolute";
case ((0x009a0000 | 0x900) + 18):
return "Iris, Relative";
case ((0x009a0000 | 0x900) + 19):
return "Auto Exposure, Bias";
case ((0x009a0000 | 0x900) + 20):
return "White Balance, Auto & Preset";
case ((0x009a0000 | 0x900) + 21):
return "Wide Dynamic Range";
case ((0x009a0000 | 0x900) + 22):
return "Image Stabilization";
case ((0x009a0000 | 0x900) + 23):
return "ISO Sensitivity";
case ((0x009a0000 | 0x900) + 24):
return "ISO Sensitivity, Auto";
case ((0x009a0000 | 0x900) + 25):
return "Exposure, Metering Mode";
case ((0x009a0000 | 0x900) + 26):
return "Scene Mode";
case ((0x009a0000 | 0x900) + 27):
return "3A Lock";
case ((0x009a0000 | 0x900) + 28):
return "Auto Focus, Start";
case ((0x009a0000 | 0x900) + 29):
return "Auto Focus, Stop";
case ((0x009a0000 | 0x900) + 30):
return "Auto Focus, Status";
case ((0x009a0000 | 0x900) + 31):
return "Auto Focus, Range";
case ((0x009a0000 | 0x900) + 32):
return "Pan, Speed";
case ((0x009a0000 | 0x900) + 33):
return "Tilt, Speed";
case ((0x009e0000 | 0x900) + 8):
return "Unit Cell Size";
case ((0x009a0000 | 0x900) + 34):
return "Camera Orientation";
case ((0x009a0000 | 0x900) + 35):
return "Camera Sensor Rotation";
case (0x009b0000 | 1):
return "FM Radio Modulator Controls";
case ((0x009b0000 | 0x900) + 1):
return "RDS Signal Deviation";
case ((0x009b0000 | 0x900) + 2):
return "RDS Program ID";
case ((0x009b0000 | 0x900) + 3):
return "RDS Program Type";
case ((0x009b0000 | 0x900) + 5):
return "RDS PS Name";
case ((0x009b0000 | 0x900) + 6):
return "RDS Radio Text";
case ((0x009b0000 | 0x900) + 7):
return "RDS Stereo";
case ((0x009b0000 | 0x900) + 8):
return "RDS Artificial Head";
case ((0x009b0000 | 0x900) + 9):
return "RDS Compressed";
case ((0x009b0000 | 0x900) + 10):
return "RDS Dynamic PTY";
case ((0x009b0000 | 0x900) + 11):
return "RDS Traffic Announcement";
case ((0x009b0000 | 0x900) + 12):
return "RDS Traffic Program";
case ((0x009b0000 | 0x900) + 13):
return "RDS Music";
case ((0x009b0000 | 0x900) + 14):
return "RDS Enable Alt Frequencies";
case ((0x009b0000 | 0x900) + 15):
return "RDS Alternate Frequencies";
case ((0x009b0000 | 0x900) + 64):
return "Audio Limiter Feature Enabled";
case ((0x009b0000 | 0x900) + 65):
return "Audio Limiter Release Time";
case ((0x009b0000 | 0x900) + 66):
return "Audio Limiter Deviation";
case ((0x009b0000 | 0x900) + 80):
return "Audio Compression Enabled";
case ((0x009b0000 | 0x900) + 81):
return "Audio Compression Gain";
case ((0x009b0000 | 0x900) + 82):
return "Audio Compression Threshold";
case ((0x009b0000 | 0x900) + 83):
return "Audio Compression Attack Time";
case ((0x009b0000 | 0x900) + 84):
return "Audio Compression Release Time";
case ((0x009b0000 | 0x900) + 96):
return "Pilot Tone Feature Enabled";
case ((0x009b0000 | 0x900) + 97):
return "Pilot Tone Deviation";
case ((0x009b0000 | 0x900) + 98):
return "Pilot Tone Frequency";
case ((0x009b0000 | 0x900) + 112):
return "Pre-Emphasis";
case ((0x009b0000 | 0x900) + 113):
return "Tune Power Level";
case ((0x009b0000 | 0x900) + 114):
return "Tune Antenna Capacitor";
case (0x009c0000 | 1):
return "Flash Controls";
case ((0x009c0000 | 0x900) + 1):
return "LED Mode";
case ((0x009c0000 | 0x900) + 2):
return "Strobe Source";
case ((0x009c0000 | 0x900) + 3):
return "Strobe";
case ((0x009c0000 | 0x900) + 4):
return "Stop Strobe";
case ((0x009c0000 | 0x900) + 5):
return "Strobe Status";
case ((0x009c0000 | 0x900) + 6):
return "Strobe Timeout";
case ((0x009c0000 | 0x900) + 7):
return "Intensity, Flash Mode";
case ((0x009c0000 | 0x900) + 8):
return "Intensity, Torch Mode";
case ((0x009c0000 | 0x900) + 9):
return "Intensity, Indicator";
case ((0x009c0000 | 0x900) + 10):
return "Faults";
case ((0x009c0000 | 0x900) + 11):
return "Charge";
case ((0x009c0000 | 0x900) + 12):
return "Ready to Strobe";
case (0x009d0000 | 1):
return "JPEG Compression Controls";
case ((0x009d0000 | 0x900) + 1):
return "Chroma Subsampling";
case ((0x009d0000 | 0x900) + 2):
return "Restart Interval";
case ((0x009d0000 | 0x900) + 3):
return "Compression Quality";
case ((0x009d0000 | 0x900) + 4):
return "Active Markers";
case (0x009e0000 | 1):
return "Image Source Controls";
case ((0x009e0000 | 0x900) + 1):
return "Vertical Blanking";
case ((0x009e0000 | 0x900) + 2):
return "Horizontal Blanking";
case ((0x009e0000 | 0x900) + 3):
return "Analogue Gain";
case ((0x009e0000 | 0x900) + 4):
return "Red Pixel Value";
case ((0x009e0000 | 0x900) + 5):
return "Green (Red) Pixel Value";
case ((0x009e0000 | 0x900) + 6):
return "Blue Pixel Value";
case ((0x009e0000 | 0x900) + 7):
return "Green (Blue) Pixel Value";
case (0x009f0000 | 1):
return "Image Processing Controls";
case ((0x009f0000 | 0x900) + 1):
return "Link Frequency";
case ((0x009f0000 | 0x900) + 2):
return "Pixel Rate";
case ((0x009f0000 | 0x900) + 3):
return "Test Pattern";
case ((0x009f0000 | 0x900) + 4):
return "Deinterlacing Mode";
case ((0x009f0000 | 0x900) + 5):
return "Digital Gain";
case (0x00a00000 | 1):
return "Digital Video Controls";
case ((0x00a00000 | 0x900) + 1):
return "Hotplug Present";
case ((0x00a00000 | 0x900) + 2):
return "RxSense Present";
case ((0x00a00000 | 0x900) + 3):
return "EDID Present";
case ((0x00a00000 | 0x900) + 4):
return "Transmit Mode";
case ((0x00a00000 | 0x900) + 5):
return "Tx RGB Quantization Range";
case ((0x00a00000 | 0x900) + 6):
return "Tx IT Content Type";
case ((0x00a00000 | 0x900) + 100):
return "Power Present";
case ((0x00a00000 | 0x900) + 101):
return "Rx RGB Quantization Range";
case ((0x00a00000 | 0x900) + 102):
return "Rx IT Content Type";
case (0x00a10000 | 1):
return "FM Radio Receiver Controls";
case ((0x00a10000 | 0x900) + 1):
return "De-Emphasis";
case ((0x00a10000 | 0x900) + 2):
return "RDS Reception";
case (0x00a20000 | 1):
return "RF Tuner Controls";
case ((0x00a20000 | 0x900) + 32):
return "RF Gain";
case ((0x00a20000 | 0x900) + 41):
return "LNA Gain, Auto";
case ((0x00a20000 | 0x900) + 42):
return "LNA Gain";
case ((0x00a20000 | 0x900) + 51):
return "Mixer Gain, Auto";
case ((0x00a20000 | 0x900) + 52):
return "Mixer Gain";
case ((0x00a20000 | 0x900) + 61):
return "IF Gain, Auto";
case ((0x00a20000 | 0x900) + 62):
return "IF Gain";
case ((0x00a20000 | 0x900) + 11):
return "Bandwidth, Auto";
case ((0x00a20000 | 0x900) + 12):
return "Bandwidth";
case ((0x00a20000 | 0x900) + 91):
return "PLL Lock";
case ((0x00a10000 | 0x900) + 3):
return "RDS Program Type";
case ((0x00a10000 | 0x900) + 4):
return "RDS PS Name";
case ((0x00a10000 | 0x900) + 5):
return "RDS Radio Text";
case ((0x00a10000 | 0x900) + 6):
return "RDS Traffic Announcement";
case ((0x00a10000 | 0x900) + 7):
return "RDS Traffic Program";
case ((0x00a10000 | 0x900) + 8):
return "RDS Music";
case (0x00a30000 | 1):
return "Detection Controls";
case ((0x00a30000 | 0x900) + 1):
return "Motion Detection Mode";
case ((0x00a30000 | 0x900) + 2):
return "MD Global Threshold";
case ((0x00a30000 | 0x900) + 3):
return "MD Threshold Grid";
case ((0x00a30000 | 0x900) + 4):
return "MD Region Grid";
default:
return ((void *)0);
}
}
void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
s64 *min, s64 *max, u64 *step, s64 *def, u32 *flags) {
*name = v4l2_ctrl_get_name(id);
*flags = 0;
switch (id) {
case ((0x00980000 | 0x900) + 9):
case ((0x00980000 | 0x900) + 10):
case ((0x00980000 | 0x900) + 12):
case ((0x00980000 | 0x900) + 18):
case ((0x00980000 | 0x900) + 20):
case ((0x00980000 | 0x900) + 21):
case ((0x00980000 | 0x900) + 25):
case ((0x00980000 | 0x900) + 29):
case ((0x00980000 | 0x900) + 30):
case ((0x00980000 | 0x900) + 32):
case ((0x00990000 | 0x900) + 109):
case ((0x00990000 | 0x900) + 210):
case ((0x00990000 | 0x900) + 204):
case ((0x00990000 | 0x900) + 205):
case ((0x009a0000 | 0x900) + 3):
case ((0x009a0000 | 0x900) + 12):
case ((0x009a0000 | 0x900) + 16):
case ((0x009b0000 | 0x900) + 64):
case ((0x009b0000 | 0x900) + 80):
case ((0x009b0000 | 0x900) + 96):
case ((0x00980000 | 0x900) + 37):
case ((0x00980000 | 0x900) + 38):
case ((0x009c0000 | 0x900) + 5):
case ((0x009c0000 | 0x900) + 11):
case ((0x009c0000 | 0x900) + 12):
case ((0x00990000 | 0x900) + 213):
case ((0x00990000 | 0x900) + 212):
case ((0x00990000 | 0x900) + 215):
case ((0x00990000 | 0x900) + 218):
case ((0x00990000 | 0x900) + 355):
case ((0x00990000 | 0x900) + 366):
case ((0x00990000 | 0x900) + 407):
case ((0x00990000 | 0x900) + 226):
case ((0x009a0000 | 0x900) + 21):
case ((0x009a0000 | 0x900) + 22):
case ((0x00a10000 | 0x900) + 2):
case ((0x00a20000 | 0x900) + 41):
case ((0x00a20000 | 0x900) + 51):
case ((0x00a20000 | 0x900) + 61):
case ((0x00a20000 | 0x900) + 11):
case ((0x00a20000 | 0x900) + 91):
case ((0x009b0000 | 0x900) + 7):
case ((0x009b0000 | 0x900) + 8):
case ((0x009b0000 | 0x900) + 9):
case ((0x009b0000 | 0x900) + 10):
case ((0x009b0000 | 0x900) + 11):
case ((0x009b0000 | 0x900) + 12):
case ((0x009b0000 | 0x900) + 13):
case ((0x009b0000 | 0x900) + 14):
case ((0x00a10000 | 0x900) + 6):
case ((0x00a10000 | 0x900) + 7):
case ((0x00a10000 | 0x900) + 8):
*type = V4L2_CTRL_TYPE_BOOLEAN;
*min = 0;
*max = *step = 1;
break;
case ((0x00980000 | 0x900) + 34):
*type = V4L2_CTRL_TYPE_INTEGER;
*flags |= 0x0400;
break;
case ((0x00990000 | 0x900) + 227):
case ((0x00990000 | 0x900) + 228):
*type = V4L2_CTRL_TYPE_INTEGER;
break;
case ((0x00990000 | 0x900) + 229):
case ((0x009a0000 | 0x900) + 6):
case ((0x009a0000 | 0x900) + 7):
case ((0x009c0000 | 0x900) + 3):
case ((0x009c0000 | 0x900) + 4):
case ((0x009a0000 | 0x900) + 28):
case ((0x009a0000 | 0x900) + 29):
case ((0x00980000 | 0x900) + 13):
*type = V4L2_CTRL_TYPE_BUTTON;
*flags |= 0x0040 | 0x0200;
*min = *max = *step = *def = 0;
break;
case ((0x00980000 | 0x900) + 24):
case ((0x00990000 | 0x900) + 100):
case ((0x00990000 | 0x900) + 101):
case ((0x00990000 | 0x900) + 102):
case ((0x00990000 | 0x900) + 103):
case ((0x00990000 | 0x900) + 104):
case ((0x00990000 | 0x900) + 111):
case ((0x00990000 | 0x900) + 105):
case ((0x00990000 | 0x900) + 106):
case ((0x00990000 | 0x900) + 107):
case ((0x00990000 | 0x900) + 108):
case ((0x00990000 | 0x900) + 112):
case ((0x00990000 | 0x900) + 113):
case ((0x00990000 | 0x900) + 200):
case ((0x00990000 | 0x900) + 201):
case ((0x00990000 | 0x900) + 206):
case ((0x00990000 | 0x900) + 0):
case ((0x00990000 | 0x900) + 7):
case ((0x009a0000 | 0x900) + 1):
case ((0x009a0000 | 0x900) + 31):
case ((0x00980000 | 0x900) + 31):
case ((0x009a0000 | 0x900) + 20):
case ((0x009b0000 | 0x900) + 112):
case ((0x009c0000 | 0x900) + 1):
case ((0x009c0000 | 0x900) + 2):
case ((0x00990000 | 0x900) + 216):
case ((0x00990000 | 0x900) + 221):
case ((0x00990000 | 0x900) + 357):
case ((0x00990000 | 0x900) + 359):
case ((0x00990000 | 0x900) + 362):
case ((0x00990000 | 0x900) + 363):
case ((0x00990000 | 0x900) + 367):
case ((0x00990000 | 0x900) + 370):
case ((0x00990000 | 0x900) + 372):
case ((0x00990000 | 0x900) + 1005):
case ((0x00990000 | 0x900) + 1006):
case ((0x00990000 | 0x900) + 270):
case ((0x00990000 | 0x900) + 271):
case ((0x00990000 | 0x900) + 405):
case ((0x00990000 | 0x900) + 406):
case ((0x009d0000 | 0x900) + 1):
case ((0x009a0000 | 0x900) + 24):
case ((0x009a0000 | 0x900) + 25):
case ((0x009a0000 | 0x900) + 26):
case ((0x00a00000 | 0x900) + 4):
case ((0x00a00000 | 0x900) + 5):
case ((0x00a00000 | 0x900) + 6):
case ((0x00a00000 | 0x900) + 101):
case ((0x00a00000 | 0x900) + 102):
case ((0x009f0000 | 0x900) + 3):
case ((0x009f0000 | 0x900) + 4):
case ((0x00a10000 | 0x900) + 1):
case ((0x00990000 | 0x900) + 506):
case ((0x00990000 | 0x900) + 511):
case ((0x00990000 | 0x900) + 512):
case ((0x00a30000 | 0x900) + 1):
case ((0x00990000 | 0x900) + 615):
case ((0x00990000 | 0x900) + 616):
case ((0x00990000 | 0x900) + 606):
case ((0x00990000 | 0x900) + 623):
case ((0x00990000 | 0x900) + 635):
case ((0x00990000 | 0x900) + 618):
case ((0x00990000 | 0x900) + 620):
case ((0x00990000 | 0x900) + 1015):
case ((0x00990000 | 0x900) + 1016):
case ((0x009a0000 | 0x900) + 34):
*type = V4L2_CTRL_TYPE_MENU;
break;
case ((0x009f0000 | 0x900) + 1):
*type = V4L2_CTRL_TYPE_INTEGER_MENU;
break;
case ((0x009b0000 | 0x900) + 5):
case ((0x009b0000 | 0x900) + 6):
case ((0x00a10000 | 0x900) + 4):
case ((0x00a10000 | 0x900) + 5):
*type = V4L2_CTRL_TYPE_STRING;
break;
case ((0x009a0000 | 0x900) + 23):
case ((0x009a0000 | 0x900) + 19):
case ((0x00990000 | 0x900) + 500):
case ((0x00990000 | 0x900) + 502):
*type = V4L2_CTRL_TYPE_INTEGER_MENU;
break;
case (0x00980000 | 1):
case (0x009a0000 | 1):
case (0x00990000 | 1):
case (0x009b0000 | 1):
case (0x009c0000 | 1):
case (0x009d0000 | 1):
case (0x009e0000 | 1):
case (0x009f0000 | 1):
case (0x00a00000 | 1):
case (0x00a10000 | 1):
case (0x00a20000 | 1):
case (0x00a30000 | 1):
*type = V4L2_CTRL_TYPE_CTRL_CLASS;
*flags |= 0x0004 | 0x0040;
*min = *max = *step = *def = 0;
break;
case ((0x00980000 | 0x900) + 35):
*type = V4L2_CTRL_TYPE_INTEGER;
*step = 1;
*min = 0;
*max = 0xFFFFFF;
break;
case ((0x009c0000 | 0x900) + 10):
case ((0x009d0000 | 0x900) + 4):
case ((0x009a0000 | 0x900) + 27):
case ((0x009a0000 | 0x900) + 30):
case ((0x00a00000 | 0x900) + 1):
case ((0x00a00000 | 0x900) + 2):
case ((0x00a00000 | 0x900) + 3):
case ((0x00a00000 | 0x900) + 100):
*type = V4L2_CTRL_TYPE_BITMASK;
break;
case ((0x00980000 | 0x900) + 39):
case ((0x00980000 | 0x900) + 40):
*type = V4L2_CTRL_TYPE_INTEGER;
*flags |= 0x0004;
break;
case ((0x00990000 | 0x900) + 223):
*type = V4L2_CTRL_TYPE_INTEGER64;
*flags |= 0x0080 | 0x0004;
*min = *def = 0;
*max = 0x1ffffffffLL;
*step = 1;
break;
case ((0x00990000 | 0x900) + 224):
*type = V4L2_CTRL_TYPE_INTEGER64;
*flags |= 0x0080 | 0x0004;
*min = *def = 0;
*max = 0x7fffffffffffffffLL;
*step = 1;
break;
case ((0x009f0000 | 0x900) + 2):
*type = V4L2_CTRL_TYPE_INTEGER64;
*flags |= 0x0004;
break;
case ((0x00a30000 | 0x900) + 4):
*type = V4L2_CTRL_TYPE_U8;
break;
case ((0x00a30000 | 0x900) + 3):
*type = V4L2_CTRL_TYPE_U16;
break;
case ((0x009b0000 | 0x900) + 15):
*type = V4L2_CTRL_TYPE_U32;
break;
case ((0x00990000 | 0x900) + 250):
*type = 0x0103;
break;
case ((0x00990000 | 0x900) + 251):
*type = 0x0104;
break;
case ((0x00990000 | 0x900) + 292):
*type = 0x0105;
break;
case ((0x00990000 | 0x900) + 1000):
*type = 0x0110;
break;
case ((0x00990000 | 0x900) + 1001):
*type = 0x0111;
break;
case ((0x00990000 | 0x900) + 1002):
*type = 0x0112;
break;
case ((0x00990000 | 0x900) + 1003):
*type = 0x0113;
break;
case ((0x00990000 | 0x900) + 1004):
*type = 0x0114;
break;
case ((0x00990000 | 0x900) + 2000):
*type = 0x301;
break;
case ((0x00990000 | 0x900) + 1008):
*type = 0x0120;
break;
case ((0x00990000 | 0x900) + 1009):
*type = 0x0121;
break;
case ((0x00990000 | 0x900) + 1010):
*type = 0x0122;
break;
case ((0x009e0000 | 0x900) + 8):
*type = V4L2_CTRL_TYPE_AREA;
*flags |= 0x0004;
break;
default:
*type = V4L2_CTRL_TYPE_INTEGER;
break;
}
switch (id) {
case ((0x00990000 | 0x900) + 101):
case ((0x00990000 | 0x900) + 105):
case ((0x00990000 | 0x900) + 206):
case ((0x00990000 | 0x900) + 202):
case ((0x00990000 | 0x900) + 0):
*flags |= 0x0008;
break;
case ((0x00980000 | 0x900) + 5):
case ((0x00980000 | 0x900) + 6):
case ((0x00980000 | 0x900) + 7):
case ((0x00980000 | 0x900) + 8):
case ((0x00980000 | 0x900) + 0):
case ((0x00980000 | 0x900) + 1):
case ((0x00980000 | 0x900) + 2):
case ((0x00980000 | 0x900) + 3):
case ((0x00980000 | 0x900) + 14):
case ((0x00980000 | 0x900) + 15):
case ((0x00980000 | 0x900) + 16):
case ((0x00980000 | 0x900) + 27):
case ((0x00980000 | 0x900) + 36):
case ((0x009b0000 | 0x900) + 1):
case ((0x009b0000 | 0x900) + 65):
case ((0x009b0000 | 0x900) + 66):
case ((0x009b0000 | 0x900) + 81):
case ((0x009b0000 | 0x900) + 82):
case ((0x009b0000 | 0x900) + 83):
case ((0x009b0000 | 0x900) + 84):
case ((0x009b0000 | 0x900) + 97):
case ((0x009b0000 | 0x900) + 98):
case ((0x009b0000 | 0x900) + 113):
case ((0x009b0000 | 0x900) + 114):
case ((0x00a20000 | 0x900) + 32):
case ((0x00a20000 | 0x900) + 42):
case ((0x00a20000 | 0x900) + 52):
case ((0x00a20000 | 0x900) + 62):
case ((0x00a20000 | 0x900) + 12):
case ((0x00a30000 | 0x900) + 2):
*flags |= 0x0020;
break;
case ((0x009a0000 | 0x900) + 4):
case ((0x009a0000 | 0x900) + 5):
case ((0x009a0000 | 0x900) + 11):
case ((0x009a0000 | 0x900) + 18):
case ((0x009a0000 | 0x900) + 14):
*flags |= 0x0040 | 0x0200;
break;
case ((0x009c0000 | 0x900) + 5):
case ((0x009a0000 | 0x900) + 30):
case ((0x009c0000 | 0x900) + 12):
case ((0x00a00000 | 0x900) + 1):
case ((0x00a00000 | 0x900) + 2):
case ((0x00a00000 | 0x900) + 3):
case ((0x00a00000 | 0x900) + 100):
case ((0x00a00000 | 0x900) + 102):
case ((0x00a10000 | 0x900) + 3):
case ((0x00a10000 | 0x900) + 4):
case ((0x00a10000 | 0x900) + 5):
case ((0x00a10000 | 0x900) + 6):
case ((0x00a10000 | 0x900) + 7):
case ((0x00a10000 | 0x900) + 8):
case ((0x009a0000 | 0x900) + 34):
case ((0x009a0000 | 0x900) + 35):
*flags |= 0x0004;
break;
case ((0x00a20000 | 0x900) + 91):
*flags |= 0x0080;
break;
}
}