1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * V4L2 controls framework control definitions.
5 * Copyright (C) 2010-2021 Hans Verkuil <hverkuil-cisco@xs4all.nl>
8 #include <linux/export.h>
9 #include <media/v4l2-ctrls.h>
12 * Returns NULL or a character pointer array containing the menu for
13 * the given control ID. The pointer array ends with a NULL pointer.
14 * An empty string signifies a menu entry that is invalid. This allows
15 * drivers to disable certain options if it is not supported.
17 const char * const *v4l2_ctrl_get_menu(u32 id)
19 static const char * const mpeg_audio_sampling_freq[] = {
25 static const char * const mpeg_audio_encoding[] = {
33 static const char * const mpeg_audio_l1_bitrate[] = {
50 static const char * const mpeg_audio_l2_bitrate[] = {
67 static const char * const mpeg_audio_l3_bitrate[] = {
84 static const char * const mpeg_audio_ac3_bitrate[] = {
106 static const char * const mpeg_audio_mode[] = {
113 static const char * const mpeg_audio_mode_extension[] = {
120 static const char * const mpeg_audio_emphasis[] = {
126 static const char * const mpeg_audio_crc[] = {
131 static const char * const mpeg_audio_dec_playback[] = {
140 static const char * const mpeg_video_encoding[] = {
146 static const char * const mpeg_video_aspect[] = {
153 static const char * const mpeg_video_bitrate_mode[] = {
159 static const char * const mpeg_stream_type[] = {
160 "MPEG-2 Program Stream",
161 "MPEG-2 Transport Stream",
162 "MPEG-1 System Stream",
163 "MPEG-2 DVD-compatible Stream",
164 "MPEG-1 VCD-compatible Stream",
165 "MPEG-2 SVCD-compatible Stream",
168 static const char * const mpeg_stream_vbi_fmt[] = {
170 "Private Packet, IVTV Format",
173 static const char * const camera_power_line_frequency[] = {
180 static const char * const camera_exposure_auto[] = {
183 "Shutter Priority Mode",
184 "Aperture Priority Mode",
187 static const char * const camera_exposure_metering[] = {
194 static const char * const camera_auto_focus_range[] = {
201 static const char * const colorfx[] = {
220 static const char * const auto_n_preset_white_balance[] = {
234 static const char * const camera_iso_sensitivity_auto[] = {
239 static const char * const scene_mode[] = {
256 static const char * const tune_emphasis[] = {
262 static const char * const header_mode[] = {
264 "Joined With 1st Frame",
267 static const char * const multi_slice[] = {
273 static const char * const entropy_mode[] = {
278 static const char * const mpeg_h264_level[] = {
301 static const char * const h264_loop_filter[] = {
304 "Disabled at Slice Boundary",
307 static const char * const h264_profile[] = {
309 "Constrained Baseline",
315 "High 444 Predictive",
322 "Scalable High Intra",
328 static const char * const vui_sar_idc[] = {
349 static const char * const h264_fp_arrangement_type[] = {
358 static const char * const h264_fmo_map_type[] = {
359 "Interleaved Slices",
361 "Foreground with Leftover",
368 static const char * const h264_decode_mode[] = {
373 static const char * const h264_start_code[] = {
375 "Annex B Start Code",
378 static const char * const h264_hierarchical_coding_type[] = {
383 static const char * const mpeg_mpeg2_level[] = {
390 static const char * const mpeg2_profile[] = {
394 "Spatially Scalable",
398 static const char * const mpeg_mpeg4_level[] = {
409 static const char * const mpeg4_profile[] = {
414 "Advanced Coding Efficiency",
418 static const char * const vpx_golden_frame_sel[] = {
419 "Use Previous Frame",
420 "Use Previous Specific Frame",
423 static const char * const vp8_profile[] = {
430 static const char * const vp9_profile[] = {
437 static const char * const vp9_level[] = {
455 static const char * const flash_led_mode[] = {
461 static const char * const flash_strobe_source[] = {
467 static const char * const jpeg_chroma_subsampling[] = {
476 static const char * const dv_tx_mode[] = {
481 static const char * const dv_rgb_range[] = {
483 "RGB Limited Range (16-235)",
484 "RGB Full Range (0-255)",
487 static const char * const dv_it_content_type[] = {
495 static const char * const detect_md_mode[] = {
503 static const char * const hevc_profile[] = {
505 "Main Still Picture",
509 static const char * const hevc_level[] = {
525 static const char * const hevc_hierarchial_coding_type[] = {
530 static const char * const hevc_refresh_type[] = {
536 static const char * const hevc_size_of_length_field[] = {
543 static const char * const hevc_tier[] = {
548 static const char * const hevc_loop_filter_mode[] = {
551 "Disabled at slice boundary",
554 static const char * const hevc_decode_mode[] = {
559 static const char * const hevc_start_code[] = {
561 "Annex B Start Code",
564 static const char * const camera_orientation[] = {
570 static const char * const mpeg_video_frame_skip[] = {
578 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
579 return mpeg_audio_sampling_freq;
580 case V4L2_CID_MPEG_AUDIO_ENCODING:
581 return mpeg_audio_encoding;
582 case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
583 return mpeg_audio_l1_bitrate;
584 case V4L2_CID_MPEG_AUDIO_L2_BITRATE:
585 return mpeg_audio_l2_bitrate;
586 case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
587 return mpeg_audio_l3_bitrate;
588 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
589 return mpeg_audio_ac3_bitrate;
590 case V4L2_CID_MPEG_AUDIO_MODE:
591 return mpeg_audio_mode;
592 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
593 return mpeg_audio_mode_extension;
594 case V4L2_CID_MPEG_AUDIO_EMPHASIS:
595 return mpeg_audio_emphasis;
596 case V4L2_CID_MPEG_AUDIO_CRC:
597 return mpeg_audio_crc;
598 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
599 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
600 return mpeg_audio_dec_playback;
601 case V4L2_CID_MPEG_VIDEO_ENCODING:
602 return mpeg_video_encoding;
603 case V4L2_CID_MPEG_VIDEO_ASPECT:
604 return mpeg_video_aspect;
605 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
606 return mpeg_video_bitrate_mode;
607 case V4L2_CID_MPEG_STREAM_TYPE:
608 return mpeg_stream_type;
609 case V4L2_CID_MPEG_STREAM_VBI_FMT:
610 return mpeg_stream_vbi_fmt;
611 case V4L2_CID_POWER_LINE_FREQUENCY:
612 return camera_power_line_frequency;
613 case V4L2_CID_EXPOSURE_AUTO:
614 return camera_exposure_auto;
615 case V4L2_CID_EXPOSURE_METERING:
616 return camera_exposure_metering;
617 case V4L2_CID_AUTO_FOCUS_RANGE:
618 return camera_auto_focus_range;
619 case V4L2_CID_COLORFX:
621 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
622 return auto_n_preset_white_balance;
623 case V4L2_CID_ISO_SENSITIVITY_AUTO:
624 return camera_iso_sensitivity_auto;
625 case V4L2_CID_SCENE_MODE:
627 case V4L2_CID_TUNE_PREEMPHASIS:
628 return tune_emphasis;
629 case V4L2_CID_TUNE_DEEMPHASIS:
630 return tune_emphasis;
631 case V4L2_CID_FLASH_LED_MODE:
632 return flash_led_mode;
633 case V4L2_CID_FLASH_STROBE_SOURCE:
634 return flash_strobe_source;
635 case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
637 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE:
638 return mpeg_video_frame_skip;
639 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE:
641 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE:
643 case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
644 return mpeg_h264_level;
645 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE:
646 return h264_loop_filter;
647 case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
649 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC:
651 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE:
652 return h264_fp_arrangement_type;
653 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE:
654 return h264_fmo_map_type;
655 case V4L2_CID_STATELESS_H264_DECODE_MODE:
656 return h264_decode_mode;
657 case V4L2_CID_STATELESS_H264_START_CODE:
658 return h264_start_code;
659 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE:
660 return h264_hierarchical_coding_type;
661 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL:
662 return mpeg_mpeg2_level;
663 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE:
664 return mpeg2_profile;
665 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL:
666 return mpeg_mpeg4_level;
667 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE:
668 return mpeg4_profile;
669 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL:
670 return vpx_golden_frame_sel;
671 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE:
673 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE:
675 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL:
677 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING:
678 return jpeg_chroma_subsampling;
679 case V4L2_CID_DV_TX_MODE:
681 case V4L2_CID_DV_TX_RGB_RANGE:
682 case V4L2_CID_DV_RX_RGB_RANGE:
684 case V4L2_CID_DV_TX_IT_CONTENT_TYPE:
685 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
686 return dv_it_content_type;
687 case V4L2_CID_DETECT_MD_MODE:
688 return detect_md_mode;
689 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE:
691 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:
693 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE:
694 return hevc_hierarchial_coding_type;
695 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE:
696 return hevc_refresh_type;
697 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
698 return hevc_size_of_length_field;
699 case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
701 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
702 return hevc_loop_filter_mode;
703 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
704 return hevc_decode_mode;
705 case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
706 return hevc_start_code;
707 case V4L2_CID_CAMERA_ORIENTATION:
708 return camera_orientation;
713 EXPORT_SYMBOL(v4l2_ctrl_get_menu);
715 #define __v4l2_qmenu_int_len(arr, len) ({ *(len) = ARRAY_SIZE(arr); (arr); })
717 * Returns NULL or an s64 type array containing the menu for given
718 * control ID. The total number of the menu items is returned in @len.
720 const s64 *v4l2_ctrl_get_int_menu(u32 id, u32 *len)
722 static const s64 qmenu_int_vpx_num_partitions[] = {
726 static const s64 qmenu_int_vpx_num_ref_frames[] = {
731 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS:
732 return __v4l2_qmenu_int_len(qmenu_int_vpx_num_partitions, len);
733 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES:
734 return __v4l2_qmenu_int_len(qmenu_int_vpx_num_ref_frames, len);
740 EXPORT_SYMBOL(v4l2_ctrl_get_int_menu);
742 /* Return the control name. */
743 const char *v4l2_ctrl_get_name(u32 id)
747 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
748 case V4L2_CID_USER_CLASS: return "User Controls";
749 case V4L2_CID_BRIGHTNESS: return "Brightness";
750 case V4L2_CID_CONTRAST: return "Contrast";
751 case V4L2_CID_SATURATION: return "Saturation";
752 case V4L2_CID_HUE: return "Hue";
753 case V4L2_CID_AUDIO_VOLUME: return "Volume";
754 case V4L2_CID_AUDIO_BALANCE: return "Balance";
755 case V4L2_CID_AUDIO_BASS: return "Bass";
756 case V4L2_CID_AUDIO_TREBLE: return "Treble";
757 case V4L2_CID_AUDIO_MUTE: return "Mute";
758 case V4L2_CID_AUDIO_LOUDNESS: return "Loudness";
759 case V4L2_CID_BLACK_LEVEL: return "Black Level";
760 case V4L2_CID_AUTO_WHITE_BALANCE: return "White Balance, Automatic";
761 case V4L2_CID_DO_WHITE_BALANCE: return "Do White Balance";
762 case V4L2_CID_RED_BALANCE: return "Red Balance";
763 case V4L2_CID_BLUE_BALANCE: return "Blue Balance";
764 case V4L2_CID_GAMMA: return "Gamma";
765 case V4L2_CID_EXPOSURE: return "Exposure";
766 case V4L2_CID_AUTOGAIN: return "Gain, Automatic";
767 case V4L2_CID_GAIN: return "Gain";
768 case V4L2_CID_HFLIP: return "Horizontal Flip";
769 case V4L2_CID_VFLIP: return "Vertical Flip";
770 case V4L2_CID_POWER_LINE_FREQUENCY: return "Power Line Frequency";
771 case V4L2_CID_HUE_AUTO: return "Hue, Automatic";
772 case V4L2_CID_WHITE_BALANCE_TEMPERATURE: return "White Balance Temperature";
773 case V4L2_CID_SHARPNESS: return "Sharpness";
774 case V4L2_CID_BACKLIGHT_COMPENSATION: return "Backlight Compensation";
775 case V4L2_CID_CHROMA_AGC: return "Chroma AGC";
776 case V4L2_CID_COLOR_KILLER: return "Color Killer";
777 case V4L2_CID_COLORFX: return "Color Effects";
778 case V4L2_CID_AUTOBRIGHTNESS: return "Brightness, Automatic";
779 case V4L2_CID_BAND_STOP_FILTER: return "Band-Stop Filter";
780 case V4L2_CID_ROTATE: return "Rotate";
781 case V4L2_CID_BG_COLOR: return "Background Color";
782 case V4L2_CID_CHROMA_GAIN: return "Chroma Gain";
783 case V4L2_CID_ILLUMINATORS_1: return "Illuminator 1";
784 case V4L2_CID_ILLUMINATORS_2: return "Illuminator 2";
785 case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE: return "Min Number of Capture Buffers";
786 case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: return "Min Number of Output Buffers";
787 case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
788 case V4L2_CID_COLORFX_CBCR: return "Color Effects, CbCr";
793 * The MPEG controls are applicable to all codec controls
794 * and the 'MPEG' part of the define is historical.
796 * Keep the order of the 'case's the same as in videodev2.h!
798 case V4L2_CID_CODEC_CLASS: return "Codec Controls";
799 case V4L2_CID_MPEG_STREAM_TYPE: return "Stream Type";
800 case V4L2_CID_MPEG_STREAM_PID_PMT: return "Stream PMT Program ID";
801 case V4L2_CID_MPEG_STREAM_PID_AUDIO: return "Stream Audio Program ID";
802 case V4L2_CID_MPEG_STREAM_PID_VIDEO: return "Stream Video Program ID";
803 case V4L2_CID_MPEG_STREAM_PID_PCR: return "Stream PCR Program ID";
804 case V4L2_CID_MPEG_STREAM_PES_ID_AUDIO: return "Stream PES Audio ID";
805 case V4L2_CID_MPEG_STREAM_PES_ID_VIDEO: return "Stream PES Video ID";
806 case V4L2_CID_MPEG_STREAM_VBI_FMT: return "Stream VBI Format";
807 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: return "Audio Sampling Frequency";
808 case V4L2_CID_MPEG_AUDIO_ENCODING: return "Audio Encoding";
809 case V4L2_CID_MPEG_AUDIO_L1_BITRATE: return "Audio Layer I Bitrate";
810 case V4L2_CID_MPEG_AUDIO_L2_BITRATE: return "Audio Layer II Bitrate";
811 case V4L2_CID_MPEG_AUDIO_L3_BITRATE: return "Audio Layer III Bitrate";
812 case V4L2_CID_MPEG_AUDIO_MODE: return "Audio Stereo Mode";
813 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION: return "Audio Stereo Mode Extension";
814 case V4L2_CID_MPEG_AUDIO_EMPHASIS: return "Audio Emphasis";
815 case V4L2_CID_MPEG_AUDIO_CRC: return "Audio CRC";
816 case V4L2_CID_MPEG_AUDIO_MUTE: return "Audio Mute";
817 case V4L2_CID_MPEG_AUDIO_AAC_BITRATE: return "Audio AAC Bitrate";
818 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE: return "Audio AC-3 Bitrate";
819 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK: return "Audio Playback";
820 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK: return "Audio Multilingual Playback";
821 case V4L2_CID_MPEG_VIDEO_ENCODING: return "Video Encoding";
822 case V4L2_CID_MPEG_VIDEO_ASPECT: return "Video Aspect";
823 case V4L2_CID_MPEG_VIDEO_B_FRAMES: return "Video B Frames";
824 case V4L2_CID_MPEG_VIDEO_GOP_SIZE: return "Video GOP Size";
825 case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE: return "Video GOP Closure";
826 case V4L2_CID_MPEG_VIDEO_PULLDOWN: return "Video Pulldown";
827 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE: return "Video Bitrate Mode";
828 case V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY: return "Constant Quality";
829 case V4L2_CID_MPEG_VIDEO_BITRATE: return "Video Bitrate";
830 case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: return "Video Peak Bitrate";
831 case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: return "Video Temporal Decimation";
832 case V4L2_CID_MPEG_VIDEO_MUTE: return "Video Mute";
833 case V4L2_CID_MPEG_VIDEO_MUTE_YUV: return "Video Mute YUV";
834 case V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE: return "Decoder Slice Interface";
835 case V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER: return "MPEG4 Loop Filter Enable";
836 case V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB: return "Number of Intra Refresh MBs";
837 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD: return "Intra Refresh Period";
838 case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE: return "Frame Level Rate Control Enable";
839 case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE: return "H264 MB Level Rate Control";
840 case V4L2_CID_MPEG_VIDEO_HEADER_MODE: return "Sequence Header Mode";
841 case V4L2_CID_MPEG_VIDEO_MAX_REF_PIC: return "Max Number of Reference Pics";
842 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE: return "Frame Skip Mode";
843 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY: return "Display Delay";
844 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE: return "Display Delay Enable";
845 case V4L2_CID_MPEG_VIDEO_AU_DELIMITER: return "Generate Access Unit Delimiters";
846 case V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP: return "H263 I-Frame QP Value";
847 case V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP: return "H263 P-Frame QP Value";
848 case V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP: return "H263 B-Frame QP Value";
849 case V4L2_CID_MPEG_VIDEO_H263_MIN_QP: return "H263 Minimum QP Value";
850 case V4L2_CID_MPEG_VIDEO_H263_MAX_QP: return "H263 Maximum QP Value";
851 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP: return "H264 I-Frame QP Value";
852 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP: return "H264 P-Frame QP Value";
853 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP: return "H264 B-Frame QP Value";
854 case V4L2_CID_MPEG_VIDEO_H264_MAX_QP: return "H264 Maximum QP Value";
855 case V4L2_CID_MPEG_VIDEO_H264_MIN_QP: return "H264 Minimum QP Value";
856 case V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM: return "H264 8x8 Transform Enable";
857 case V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE: return "H264 CPB Buffer Size";
858 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE: return "H264 Entropy Mode";
859 case V4L2_CID_MPEG_VIDEO_H264_I_PERIOD: return "H264 I-Frame Period";
860 case V4L2_CID_MPEG_VIDEO_H264_LEVEL: return "H264 Level";
861 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA: return "H264 Loop Filter Alpha Offset";
862 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA: return "H264 Loop Filter Beta Offset";
863 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE: return "H264 Loop Filter Mode";
864 case V4L2_CID_MPEG_VIDEO_H264_PROFILE: return "H264 Profile";
865 case V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT: return "Vertical Size of SAR";
866 case V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH: return "Horizontal Size of SAR";
867 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE: return "Aspect Ratio VUI Enable";
868 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC: return "VUI Aspect Ratio IDC";
869 case V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING: return "H264 Enable Frame Packing SEI";
870 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0: return "H264 Set Curr. Frame as Frame0";
871 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE: return "H264 FP Arrangement Type";
872 case V4L2_CID_MPEG_VIDEO_H264_FMO: return "H264 Flexible MB Ordering";
873 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE: return "H264 Map Type for FMO";
874 case V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP: return "H264 FMO Number of Slice Groups";
875 case V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION: return "H264 FMO Direction of Change";
876 case V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE: return "H264 FMO Size of 1st Slice Grp";
877 case V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH: return "H264 FMO No. of Consecutive MBs";
878 case V4L2_CID_MPEG_VIDEO_H264_ASO: return "H264 Arbitrary Slice Ordering";
879 case V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER: return "H264 ASO Slice Order";
880 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING: return "Enable H264 Hierarchical Coding";
881 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE: return "H264 Hierarchical Coding Type";
882 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER:return "H264 Number of HC Layers";
883 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP:
884 return "H264 Set QP Value for HC Layers";
885 case V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION:
886 return "H264 Constrained Intra Pred";
887 case V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET: return "H264 Chroma QP Index Offset";
888 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP: return "H264 I-Frame Minimum QP Value";
889 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP: return "H264 I-Frame Maximum QP Value";
890 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP: return "H264 P-Frame Minimum QP Value";
891 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP: return "H264 P-Frame Maximum QP Value";
892 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP: return "H264 B-Frame Minimum QP Value";
893 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP: return "H264 B-Frame Maximum QP Value";
894 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR: return "H264 Hierarchical Lay 0 Bitrate";
895 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR: return "H264 Hierarchical Lay 1 Bitrate";
896 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR: return "H264 Hierarchical Lay 2 Bitrate";
897 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR: return "H264 Hierarchical Lay 3 Bitrate";
898 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR: return "H264 Hierarchical Lay 4 Bitrate";
899 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR: return "H264 Hierarchical Lay 5 Bitrate";
900 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR: return "H264 Hierarchical Lay 6 Bitrate";
901 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL: return "MPEG2 Level";
902 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE: return "MPEG2 Profile";
903 case V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP: return "MPEG4 I-Frame QP Value";
904 case V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP: return "MPEG4 P-Frame QP Value";
905 case V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP: return "MPEG4 B-Frame QP Value";
906 case V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP: return "MPEG4 Minimum QP Value";
907 case V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP: return "MPEG4 Maximum QP Value";
908 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL: return "MPEG4 Level";
909 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE: return "MPEG4 Profile";
910 case V4L2_CID_MPEG_VIDEO_MPEG4_QPEL: return "Quarter Pixel Search Enable";
911 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES: return "Maximum Bytes in a Slice";
912 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB: return "Number of MBs in a Slice";
913 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE: return "Slice Partitioning Method";
914 case V4L2_CID_MPEG_VIDEO_VBV_SIZE: return "VBV Buffer Size";
915 case V4L2_CID_MPEG_VIDEO_DEC_PTS: return "Video Decoder PTS";
916 case V4L2_CID_MPEG_VIDEO_DEC_FRAME: return "Video Decoder Frame Count";
917 case V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR: return "Video Decoder Conceal Color";
918 case V4L2_CID_MPEG_VIDEO_VBV_DELAY: return "Initial Delay for VBV Control";
919 case V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE: return "Horizontal MV Search Range";
920 case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE: return "Vertical MV Search Range";
921 case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER: return "Repeat Sequence Header";
922 case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: return "Force Key Frame";
923 case V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID: return "Base Layer Priority ID";
924 case V4L2_CID_MPEG_VIDEO_LTR_COUNT: return "LTR Count";
925 case V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX: return "Frame LTR Index";
926 case V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES: return "Use LTR Frames";
927 case V4L2_CID_FWHT_I_FRAME_QP: return "FWHT I-Frame QP Value";
928 case V4L2_CID_FWHT_P_FRAME_QP: return "FWHT P-Frame QP Value";
931 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: return "VPX Number of Partitions";
932 case V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4: return "VPX Intra Mode Decision Disable";
933 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES: return "VPX No. of Refs for P Frame";
934 case V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL: return "VPX Loop Filter Level Range";
935 case V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS: return "VPX Deblocking Effect Control";
936 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD: return "VPX Golden Frame Refresh Period";
937 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL: return "VPX Golden Frame Indicator";
938 case V4L2_CID_MPEG_VIDEO_VPX_MIN_QP: return "VPX Minimum QP Value";
939 case V4L2_CID_MPEG_VIDEO_VPX_MAX_QP: return "VPX Maximum QP Value";
940 case V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP: return "VPX I-Frame QP Value";
941 case V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP: return "VPX P-Frame QP Value";
942 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE: return "VP8 Profile";
943 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE: return "VP9 Profile";
944 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL: return "VP9 Level";
947 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP: return "HEVC I-Frame QP Value";
948 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP: return "HEVC P-Frame QP Value";
949 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP: return "HEVC B-Frame QP Value";
950 case V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP: return "HEVC Minimum QP Value";
951 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP: return "HEVC Maximum QP Value";
952 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP: return "HEVC I-Frame Minimum QP Value";
953 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP: return "HEVC I-Frame Maximum QP Value";
954 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP: return "HEVC P-Frame Minimum QP Value";
955 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP: return "HEVC P-Frame Maximum QP Value";
956 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP: return "HEVC B-Frame Minimum QP Value";
957 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP: return "HEVC B-Frame Maximum QP Value";
958 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE: return "HEVC Profile";
959 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL: return "HEVC Level";
960 case V4L2_CID_MPEG_VIDEO_HEVC_TIER: return "HEVC Tier";
961 case V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION: return "HEVC Frame Rate Resolution";
962 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH: return "HEVC Maximum Coding Unit Depth";
963 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE: return "HEVC Refresh Type";
964 case V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED: return "HEVC Constant Intra Prediction";
965 case V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU: return "HEVC Lossless Encoding";
966 case V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT: return "HEVC Wavefront";
967 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE: return "HEVC Loop Filter";
968 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP: return "HEVC QP Values";
969 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE: return "HEVC Hierarchical Coding Type";
970 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER: return "HEVC Hierarchical Coding Layer";
971 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP: return "HEVC Hierarchical Layer 0 QP";
972 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP: return "HEVC Hierarchical Layer 1 QP";
973 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP: return "HEVC Hierarchical Layer 2 QP";
974 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP: return "HEVC Hierarchical Layer 3 QP";
975 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP: return "HEVC Hierarchical Layer 4 QP";
976 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP: return "HEVC Hierarchical Layer 5 QP";
977 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP: return "HEVC Hierarchical Layer 6 QP";
978 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR: return "HEVC Hierarchical Lay 0 BitRate";
979 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR: return "HEVC Hierarchical Lay 1 BitRate";
980 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR: return "HEVC Hierarchical Lay 2 BitRate";
981 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR: return "HEVC Hierarchical Lay 3 BitRate";
982 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR: return "HEVC Hierarchical Lay 4 BitRate";
983 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR: return "HEVC Hierarchical Lay 5 BitRate";
984 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR: return "HEVC Hierarchical Lay 6 BitRate";
985 case V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB: return "HEVC General PB";
986 case V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID: return "HEVC Temporal ID";
987 case V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING: return "HEVC Strong Intra Smoothing";
988 case V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT: return "HEVC Intra PU Split";
989 case V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION: return "HEVC TMV Prediction";
990 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1: return "HEVC Max Num of Candidate MVs";
991 case V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE: return "HEVC ENC Without Startcode";
992 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD: return "HEVC Num of I-Frame b/w 2 IDR";
993 case V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2: return "HEVC Loop Filter Beta Offset";
994 case V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2: return "HEVC Loop Filter TC Offset";
995 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD: return "HEVC Size of Length Field";
996 case V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES: return "Reference Frames for a P-Frame";
997 case V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR: return "Prepend SPS and PPS to IDR";
998 case V4L2_CID_MPEG_VIDEO_HEVC_SPS: return "HEVC Sequence Parameter Set";
999 case V4L2_CID_MPEG_VIDEO_HEVC_PPS: return "HEVC Picture Parameter Set";
1000 case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS: return "HEVC Slice Parameters";
1001 case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX: return "HEVC Scaling Matrix";
1002 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS: return "HEVC Decode Parameters";
1003 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE: return "HEVC Decode Mode";
1004 case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE: return "HEVC Start Code";
1006 /* CAMERA controls */
1007 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1008 case V4L2_CID_CAMERA_CLASS: return "Camera Controls";
1009 case V4L2_CID_EXPOSURE_AUTO: return "Auto Exposure";
1010 case V4L2_CID_EXPOSURE_ABSOLUTE: return "Exposure Time, Absolute";
1011 case V4L2_CID_EXPOSURE_AUTO_PRIORITY: return "Exposure, Dynamic Framerate";
1012 case V4L2_CID_PAN_RELATIVE: return "Pan, Relative";
1013 case V4L2_CID_TILT_RELATIVE: return "Tilt, Relative";
1014 case V4L2_CID_PAN_RESET: return "Pan, Reset";
1015 case V4L2_CID_TILT_RESET: return "Tilt, Reset";
1016 case V4L2_CID_PAN_ABSOLUTE: return "Pan, Absolute";
1017 case V4L2_CID_TILT_ABSOLUTE: return "Tilt, Absolute";
1018 case V4L2_CID_FOCUS_ABSOLUTE: return "Focus, Absolute";
1019 case V4L2_CID_FOCUS_RELATIVE: return "Focus, Relative";
1020 case V4L2_CID_FOCUS_AUTO: return "Focus, Automatic Continuous";
1021 case V4L2_CID_ZOOM_ABSOLUTE: return "Zoom, Absolute";
1022 case V4L2_CID_ZOOM_RELATIVE: return "Zoom, Relative";
1023 case V4L2_CID_ZOOM_CONTINUOUS: return "Zoom, Continuous";
1024 case V4L2_CID_PRIVACY: return "Privacy";
1025 case V4L2_CID_IRIS_ABSOLUTE: return "Iris, Absolute";
1026 case V4L2_CID_IRIS_RELATIVE: return "Iris, Relative";
1027 case V4L2_CID_AUTO_EXPOSURE_BIAS: return "Auto Exposure, Bias";
1028 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: return "White Balance, Auto & Preset";
1029 case V4L2_CID_WIDE_DYNAMIC_RANGE: return "Wide Dynamic Range";
1030 case V4L2_CID_IMAGE_STABILIZATION: return "Image Stabilization";
1031 case V4L2_CID_ISO_SENSITIVITY: return "ISO Sensitivity";
1032 case V4L2_CID_ISO_SENSITIVITY_AUTO: return "ISO Sensitivity, Auto";
1033 case V4L2_CID_EXPOSURE_METERING: return "Exposure, Metering Mode";
1034 case V4L2_CID_SCENE_MODE: return "Scene Mode";
1035 case V4L2_CID_3A_LOCK: return "3A Lock";
1036 case V4L2_CID_AUTO_FOCUS_START: return "Auto Focus, Start";
1037 case V4L2_CID_AUTO_FOCUS_STOP: return "Auto Focus, Stop";
1038 case V4L2_CID_AUTO_FOCUS_STATUS: return "Auto Focus, Status";
1039 case V4L2_CID_AUTO_FOCUS_RANGE: return "Auto Focus, Range";
1040 case V4L2_CID_PAN_SPEED: return "Pan, Speed";
1041 case V4L2_CID_TILT_SPEED: return "Tilt, Speed";
1042 case V4L2_CID_UNIT_CELL_SIZE: return "Unit Cell Size";
1043 case V4L2_CID_CAMERA_ORIENTATION: return "Camera Orientation";
1044 case V4L2_CID_CAMERA_SENSOR_ROTATION: return "Camera Sensor Rotation";
1046 /* FM Radio Modulator controls */
1047 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1048 case V4L2_CID_FM_TX_CLASS: return "FM Radio Modulator Controls";
1049 case V4L2_CID_RDS_TX_DEVIATION: return "RDS Signal Deviation";
1050 case V4L2_CID_RDS_TX_PI: return "RDS Program ID";
1051 case V4L2_CID_RDS_TX_PTY: return "RDS Program Type";
1052 case V4L2_CID_RDS_TX_PS_NAME: return "RDS PS Name";
1053 case V4L2_CID_RDS_TX_RADIO_TEXT: return "RDS Radio Text";
1054 case V4L2_CID_RDS_TX_MONO_STEREO: return "RDS Stereo";
1055 case V4L2_CID_RDS_TX_ARTIFICIAL_HEAD: return "RDS Artificial Head";
1056 case V4L2_CID_RDS_TX_COMPRESSED: return "RDS Compressed";
1057 case V4L2_CID_RDS_TX_DYNAMIC_PTY: return "RDS Dynamic PTY";
1058 case V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT: return "RDS Traffic Announcement";
1059 case V4L2_CID_RDS_TX_TRAFFIC_PROGRAM: return "RDS Traffic Program";
1060 case V4L2_CID_RDS_TX_MUSIC_SPEECH: return "RDS Music";
1061 case V4L2_CID_RDS_TX_ALT_FREQS_ENABLE: return "RDS Enable Alt Frequencies";
1062 case V4L2_CID_RDS_TX_ALT_FREQS: return "RDS Alternate Frequencies";
1063 case V4L2_CID_AUDIO_LIMITER_ENABLED: return "Audio Limiter Feature Enabled";
1064 case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: return "Audio Limiter Release Time";
1065 case V4L2_CID_AUDIO_LIMITER_DEVIATION: return "Audio Limiter Deviation";
1066 case V4L2_CID_AUDIO_COMPRESSION_ENABLED: return "Audio Compression Enabled";
1067 case V4L2_CID_AUDIO_COMPRESSION_GAIN: return "Audio Compression Gain";
1068 case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: return "Audio Compression Threshold";
1069 case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: return "Audio Compression Attack Time";
1070 case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: return "Audio Compression Release Time";
1071 case V4L2_CID_PILOT_TONE_ENABLED: return "Pilot Tone Feature Enabled";
1072 case V4L2_CID_PILOT_TONE_DEVIATION: return "Pilot Tone Deviation";
1073 case V4L2_CID_PILOT_TONE_FREQUENCY: return "Pilot Tone Frequency";
1074 case V4L2_CID_TUNE_PREEMPHASIS: return "Pre-Emphasis";
1075 case V4L2_CID_TUNE_POWER_LEVEL: return "Tune Power Level";
1076 case V4L2_CID_TUNE_ANTENNA_CAPACITOR: return "Tune Antenna Capacitor";
1078 /* Flash controls */
1079 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1080 case V4L2_CID_FLASH_CLASS: return "Flash Controls";
1081 case V4L2_CID_FLASH_LED_MODE: return "LED Mode";
1082 case V4L2_CID_FLASH_STROBE_SOURCE: return "Strobe Source";
1083 case V4L2_CID_FLASH_STROBE: return "Strobe";
1084 case V4L2_CID_FLASH_STROBE_STOP: return "Stop Strobe";
1085 case V4L2_CID_FLASH_STROBE_STATUS: return "Strobe Status";
1086 case V4L2_CID_FLASH_TIMEOUT: return "Strobe Timeout";
1087 case V4L2_CID_FLASH_INTENSITY: return "Intensity, Flash Mode";
1088 case V4L2_CID_FLASH_TORCH_INTENSITY: return "Intensity, Torch Mode";
1089 case V4L2_CID_FLASH_INDICATOR_INTENSITY: return "Intensity, Indicator";
1090 case V4L2_CID_FLASH_FAULT: return "Faults";
1091 case V4L2_CID_FLASH_CHARGE: return "Charge";
1092 case V4L2_CID_FLASH_READY: return "Ready to Strobe";
1094 /* JPEG encoder controls */
1095 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1096 case V4L2_CID_JPEG_CLASS: return "JPEG Compression Controls";
1097 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING: return "Chroma Subsampling";
1098 case V4L2_CID_JPEG_RESTART_INTERVAL: return "Restart Interval";
1099 case V4L2_CID_JPEG_COMPRESSION_QUALITY: return "Compression Quality";
1100 case V4L2_CID_JPEG_ACTIVE_MARKER: return "Active Markers";
1102 /* Image source controls */
1103 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1104 case V4L2_CID_IMAGE_SOURCE_CLASS: return "Image Source Controls";
1105 case V4L2_CID_VBLANK: return "Vertical Blanking";
1106 case V4L2_CID_HBLANK: return "Horizontal Blanking";
1107 case V4L2_CID_ANALOGUE_GAIN: return "Analogue Gain";
1108 case V4L2_CID_TEST_PATTERN_RED: return "Red Pixel Value";
1109 case V4L2_CID_TEST_PATTERN_GREENR: return "Green (Red) Pixel Value";
1110 case V4L2_CID_TEST_PATTERN_BLUE: return "Blue Pixel Value";
1111 case V4L2_CID_TEST_PATTERN_GREENB: return "Green (Blue) Pixel Value";
1112 case V4L2_CID_NOTIFY_GAINS: return "Notify Gains";
1114 /* Image processing controls */
1115 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1116 case V4L2_CID_IMAGE_PROC_CLASS: return "Image Processing Controls";
1117 case V4L2_CID_LINK_FREQ: return "Link Frequency";
1118 case V4L2_CID_PIXEL_RATE: return "Pixel Rate";
1119 case V4L2_CID_TEST_PATTERN: return "Test Pattern";
1120 case V4L2_CID_DEINTERLACING_MODE: return "Deinterlacing Mode";
1121 case V4L2_CID_DIGITAL_GAIN: return "Digital Gain";
1124 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1125 case V4L2_CID_DV_CLASS: return "Digital Video Controls";
1126 case V4L2_CID_DV_TX_HOTPLUG: return "Hotplug Present";
1127 case V4L2_CID_DV_TX_RXSENSE: return "RxSense Present";
1128 case V4L2_CID_DV_TX_EDID_PRESENT: return "EDID Present";
1129 case V4L2_CID_DV_TX_MODE: return "Transmit Mode";
1130 case V4L2_CID_DV_TX_RGB_RANGE: return "Tx RGB Quantization Range";
1131 case V4L2_CID_DV_TX_IT_CONTENT_TYPE: return "Tx IT Content Type";
1132 case V4L2_CID_DV_RX_POWER_PRESENT: return "Power Present";
1133 case V4L2_CID_DV_RX_RGB_RANGE: return "Rx RGB Quantization Range";
1134 case V4L2_CID_DV_RX_IT_CONTENT_TYPE: return "Rx IT Content Type";
1136 case V4L2_CID_FM_RX_CLASS: return "FM Radio Receiver Controls";
1137 case V4L2_CID_TUNE_DEEMPHASIS: return "De-Emphasis";
1138 case V4L2_CID_RDS_RECEPTION: return "RDS Reception";
1139 case V4L2_CID_RF_TUNER_CLASS: return "RF Tuner Controls";
1140 case V4L2_CID_RF_TUNER_RF_GAIN: return "RF Gain";
1141 case V4L2_CID_RF_TUNER_LNA_GAIN_AUTO: return "LNA Gain, Auto";
1142 case V4L2_CID_RF_TUNER_LNA_GAIN: return "LNA Gain";
1143 case V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO: return "Mixer Gain, Auto";
1144 case V4L2_CID_RF_TUNER_MIXER_GAIN: return "Mixer Gain";
1145 case V4L2_CID_RF_TUNER_IF_GAIN_AUTO: return "IF Gain, Auto";
1146 case V4L2_CID_RF_TUNER_IF_GAIN: return "IF Gain";
1147 case V4L2_CID_RF_TUNER_BANDWIDTH_AUTO: return "Bandwidth, Auto";
1148 case V4L2_CID_RF_TUNER_BANDWIDTH: return "Bandwidth";
1149 case V4L2_CID_RF_TUNER_PLL_LOCK: return "PLL Lock";
1150 case V4L2_CID_RDS_RX_PTY: return "RDS Program Type";
1151 case V4L2_CID_RDS_RX_PS_NAME: return "RDS PS Name";
1152 case V4L2_CID_RDS_RX_RADIO_TEXT: return "RDS Radio Text";
1153 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT: return "RDS Traffic Announcement";
1154 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM: return "RDS Traffic Program";
1155 case V4L2_CID_RDS_RX_MUSIC_SPEECH: return "RDS Music";
1157 /* Detection controls */
1158 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1159 case V4L2_CID_DETECT_CLASS: return "Detection Controls";
1160 case V4L2_CID_DETECT_MD_MODE: return "Motion Detection Mode";
1161 case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD: return "MD Global Threshold";
1162 case V4L2_CID_DETECT_MD_THRESHOLD_GRID: return "MD Threshold Grid";
1163 case V4L2_CID_DETECT_MD_REGION_GRID: return "MD Region Grid";
1165 /* Stateless Codec controls */
1166 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1167 case V4L2_CID_CODEC_STATELESS_CLASS: return "Stateless Codec Controls";
1168 case V4L2_CID_STATELESS_H264_DECODE_MODE: return "H264 Decode Mode";
1169 case V4L2_CID_STATELESS_H264_START_CODE: return "H264 Start Code";
1170 case V4L2_CID_STATELESS_H264_SPS: return "H264 Sequence Parameter Set";
1171 case V4L2_CID_STATELESS_H264_PPS: return "H264 Picture Parameter Set";
1172 case V4L2_CID_STATELESS_H264_SCALING_MATRIX: return "H264 Scaling Matrix";
1173 case V4L2_CID_STATELESS_H264_PRED_WEIGHTS: return "H264 Prediction Weight Table";
1174 case V4L2_CID_STATELESS_H264_SLICE_PARAMS: return "H264 Slice Parameters";
1175 case V4L2_CID_STATELESS_H264_DECODE_PARAMS: return "H264 Decode Parameters";
1176 case V4L2_CID_STATELESS_FWHT_PARAMS: return "FWHT Stateless Parameters";
1177 case V4L2_CID_STATELESS_VP8_FRAME: return "VP8 Frame Parameters";
1178 case V4L2_CID_STATELESS_MPEG2_SEQUENCE: return "MPEG-2 Sequence Header";
1179 case V4L2_CID_STATELESS_MPEG2_PICTURE: return "MPEG-2 Picture Header";
1180 case V4L2_CID_STATELESS_MPEG2_QUANTISATION: return "MPEG-2 Quantisation Matrices";
1182 /* Colorimetry controls */
1183 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1184 case V4L2_CID_COLORIMETRY_CLASS: return "Colorimetry Controls";
1185 case V4L2_CID_COLORIMETRY_HDR10_CLL_INFO: return "HDR10 Content Light Info";
1186 case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: return "HDR10 Mastering Display";
1191 EXPORT_SYMBOL(v4l2_ctrl_get_name);
1193 void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
1194 s64 *min, s64 *max, u64 *step, s64 *def, u32 *flags)
1196 *name = v4l2_ctrl_get_name(id);
1200 case V4L2_CID_AUDIO_MUTE:
1201 case V4L2_CID_AUDIO_LOUDNESS:
1202 case V4L2_CID_AUTO_WHITE_BALANCE:
1203 case V4L2_CID_AUTOGAIN:
1204 case V4L2_CID_HFLIP:
1205 case V4L2_CID_VFLIP:
1206 case V4L2_CID_HUE_AUTO:
1207 case V4L2_CID_CHROMA_AGC:
1208 case V4L2_CID_COLOR_KILLER:
1209 case V4L2_CID_AUTOBRIGHTNESS:
1210 case V4L2_CID_MPEG_AUDIO_MUTE:
1211 case V4L2_CID_MPEG_VIDEO_MUTE:
1212 case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE:
1213 case V4L2_CID_MPEG_VIDEO_PULLDOWN:
1214 case V4L2_CID_EXPOSURE_AUTO_PRIORITY:
1215 case V4L2_CID_FOCUS_AUTO:
1216 case V4L2_CID_PRIVACY:
1217 case V4L2_CID_AUDIO_LIMITER_ENABLED:
1218 case V4L2_CID_AUDIO_COMPRESSION_ENABLED:
1219 case V4L2_CID_PILOT_TONE_ENABLED:
1220 case V4L2_CID_ILLUMINATORS_1:
1221 case V4L2_CID_ILLUMINATORS_2:
1222 case V4L2_CID_FLASH_STROBE_STATUS:
1223 case V4L2_CID_FLASH_CHARGE:
1224 case V4L2_CID_FLASH_READY:
1225 case V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER:
1226 case V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE:
1227 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE:
1228 case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE:
1229 case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE:
1230 case V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM:
1231 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE:
1232 case V4L2_CID_MPEG_VIDEO_MPEG4_QPEL:
1233 case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER:
1234 case V4L2_CID_MPEG_VIDEO_AU_DELIMITER:
1235 case V4L2_CID_WIDE_DYNAMIC_RANGE:
1236 case V4L2_CID_IMAGE_STABILIZATION:
1237 case V4L2_CID_RDS_RECEPTION:
1238 case V4L2_CID_RF_TUNER_LNA_GAIN_AUTO:
1239 case V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO:
1240 case V4L2_CID_RF_TUNER_IF_GAIN_AUTO:
1241 case V4L2_CID_RF_TUNER_BANDWIDTH_AUTO:
1242 case V4L2_CID_RF_TUNER_PLL_LOCK:
1243 case V4L2_CID_RDS_TX_MONO_STEREO:
1244 case V4L2_CID_RDS_TX_ARTIFICIAL_HEAD:
1245 case V4L2_CID_RDS_TX_COMPRESSED:
1246 case V4L2_CID_RDS_TX_DYNAMIC_PTY:
1247 case V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT:
1248 case V4L2_CID_RDS_TX_TRAFFIC_PROGRAM:
1249 case V4L2_CID_RDS_TX_MUSIC_SPEECH:
1250 case V4L2_CID_RDS_TX_ALT_FREQS_ENABLE:
1251 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT:
1252 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM:
1253 case V4L2_CID_RDS_RX_MUSIC_SPEECH:
1254 *type = V4L2_CTRL_TYPE_BOOLEAN;
1258 case V4L2_CID_ROTATE:
1259 *type = V4L2_CTRL_TYPE_INTEGER;
1260 *flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
1262 case V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE:
1263 case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE:
1264 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY:
1265 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD:
1266 *type = V4L2_CTRL_TYPE_INTEGER;
1268 case V4L2_CID_MPEG_VIDEO_LTR_COUNT:
1269 *type = V4L2_CTRL_TYPE_INTEGER;
1271 case V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX:
1272 *type = V4L2_CTRL_TYPE_INTEGER;
1273 *flags |= V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1275 case V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES:
1276 *type = V4L2_CTRL_TYPE_BITMASK;
1277 *flags |= V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1279 case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME:
1280 case V4L2_CID_PAN_RESET:
1281 case V4L2_CID_TILT_RESET:
1282 case V4L2_CID_FLASH_STROBE:
1283 case V4L2_CID_FLASH_STROBE_STOP:
1284 case V4L2_CID_AUTO_FOCUS_START:
1285 case V4L2_CID_AUTO_FOCUS_STOP:
1286 case V4L2_CID_DO_WHITE_BALANCE:
1287 *type = V4L2_CTRL_TYPE_BUTTON;
1288 *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
1289 V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1290 *min = *max = *step = *def = 0;
1292 case V4L2_CID_POWER_LINE_FREQUENCY:
1293 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
1294 case V4L2_CID_MPEG_AUDIO_ENCODING:
1295 case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
1296 case V4L2_CID_MPEG_AUDIO_L2_BITRATE:
1297 case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
1298 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
1299 case V4L2_CID_MPEG_AUDIO_MODE:
1300 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
1301 case V4L2_CID_MPEG_AUDIO_EMPHASIS:
1302 case V4L2_CID_MPEG_AUDIO_CRC:
1303 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
1304 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
1305 case V4L2_CID_MPEG_VIDEO_ENCODING:
1306 case V4L2_CID_MPEG_VIDEO_ASPECT:
1307 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
1308 case V4L2_CID_MPEG_STREAM_TYPE:
1309 case V4L2_CID_MPEG_STREAM_VBI_FMT:
1310 case V4L2_CID_EXPOSURE_AUTO:
1311 case V4L2_CID_AUTO_FOCUS_RANGE:
1312 case V4L2_CID_COLORFX:
1313 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
1314 case V4L2_CID_TUNE_PREEMPHASIS:
1315 case V4L2_CID_FLASH_LED_MODE:
1316 case V4L2_CID_FLASH_STROBE_SOURCE:
1317 case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
1318 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE:
1319 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE:
1320 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE:
1321 case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
1322 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE:
1323 case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
1324 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC:
1325 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE:
1326 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE:
1327 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE:
1328 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL:
1329 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE:
1330 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL:
1331 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE:
1332 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING:
1333 case V4L2_CID_ISO_SENSITIVITY_AUTO:
1334 case V4L2_CID_EXPOSURE_METERING:
1335 case V4L2_CID_SCENE_MODE:
1336 case V4L2_CID_DV_TX_MODE:
1337 case V4L2_CID_DV_TX_RGB_RANGE:
1338 case V4L2_CID_DV_TX_IT_CONTENT_TYPE:
1339 case V4L2_CID_DV_RX_RGB_RANGE:
1340 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
1341 case V4L2_CID_TEST_PATTERN:
1342 case V4L2_CID_DEINTERLACING_MODE:
1343 case V4L2_CID_TUNE_DEEMPHASIS:
1344 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL:
1345 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE:
1346 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE:
1347 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL:
1348 case V4L2_CID_DETECT_MD_MODE:
1349 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE:
1350 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:
1351 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE:
1352 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE:
1353 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
1354 case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
1355 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
1356 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
1357 case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
1358 case V4L2_CID_STATELESS_H264_DECODE_MODE:
1359 case V4L2_CID_STATELESS_H264_START_CODE:
1360 case V4L2_CID_CAMERA_ORIENTATION:
1361 *type = V4L2_CTRL_TYPE_MENU;
1363 case V4L2_CID_LINK_FREQ:
1364 *type = V4L2_CTRL_TYPE_INTEGER_MENU;
1366 case V4L2_CID_RDS_TX_PS_NAME:
1367 case V4L2_CID_RDS_TX_RADIO_TEXT:
1368 case V4L2_CID_RDS_RX_PS_NAME:
1369 case V4L2_CID_RDS_RX_RADIO_TEXT:
1370 *type = V4L2_CTRL_TYPE_STRING;
1372 case V4L2_CID_ISO_SENSITIVITY:
1373 case V4L2_CID_AUTO_EXPOSURE_BIAS:
1374 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS:
1375 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES:
1376 *type = V4L2_CTRL_TYPE_INTEGER_MENU;
1378 case V4L2_CID_USER_CLASS:
1379 case V4L2_CID_CAMERA_CLASS:
1380 case V4L2_CID_CODEC_CLASS:
1381 case V4L2_CID_FM_TX_CLASS:
1382 case V4L2_CID_FLASH_CLASS:
1383 case V4L2_CID_JPEG_CLASS:
1384 case V4L2_CID_IMAGE_SOURCE_CLASS:
1385 case V4L2_CID_IMAGE_PROC_CLASS:
1386 case V4L2_CID_DV_CLASS:
1387 case V4L2_CID_FM_RX_CLASS:
1388 case V4L2_CID_RF_TUNER_CLASS:
1389 case V4L2_CID_DETECT_CLASS:
1390 case V4L2_CID_CODEC_STATELESS_CLASS:
1391 case V4L2_CID_COLORIMETRY_CLASS:
1392 *type = V4L2_CTRL_TYPE_CTRL_CLASS;
1393 /* You can neither read nor write these */
1394 *flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;
1395 *min = *max = *step = *def = 0;
1397 case V4L2_CID_BG_COLOR:
1398 *type = V4L2_CTRL_TYPE_INTEGER;
1401 /* Max is calculated as RGB888 that is 2^24 */
1404 case V4L2_CID_FLASH_FAULT:
1405 case V4L2_CID_JPEG_ACTIVE_MARKER:
1406 case V4L2_CID_3A_LOCK:
1407 case V4L2_CID_AUTO_FOCUS_STATUS:
1408 case V4L2_CID_DV_TX_HOTPLUG:
1409 case V4L2_CID_DV_TX_RXSENSE:
1410 case V4L2_CID_DV_TX_EDID_PRESENT:
1411 case V4L2_CID_DV_RX_POWER_PRESENT:
1412 *type = V4L2_CTRL_TYPE_BITMASK;
1414 case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE:
1415 case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT:
1416 *type = V4L2_CTRL_TYPE_INTEGER;
1417 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1419 case V4L2_CID_MPEG_VIDEO_DEC_PTS:
1420 *type = V4L2_CTRL_TYPE_INTEGER64;
1421 *flags |= V4L2_CTRL_FLAG_VOLATILE | V4L2_CTRL_FLAG_READ_ONLY;
1423 *max = 0x1ffffffffLL;
1426 case V4L2_CID_MPEG_VIDEO_DEC_FRAME:
1427 *type = V4L2_CTRL_TYPE_INTEGER64;
1428 *flags |= V4L2_CTRL_FLAG_VOLATILE | V4L2_CTRL_FLAG_READ_ONLY;
1430 *max = 0x7fffffffffffffffLL;
1433 case V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR:
1434 *type = V4L2_CTRL_TYPE_INTEGER64;
1436 /* default for 8 bit black, luma is 16, chroma is 128 */
1437 *def = 0x8000800010LL;
1438 *max = 0xffffffffffffLL;
1441 case V4L2_CID_PIXEL_RATE:
1442 *type = V4L2_CTRL_TYPE_INTEGER64;
1443 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1445 case V4L2_CID_DETECT_MD_REGION_GRID:
1446 *type = V4L2_CTRL_TYPE_U8;
1448 case V4L2_CID_DETECT_MD_THRESHOLD_GRID:
1449 *type = V4L2_CTRL_TYPE_U16;
1451 case V4L2_CID_RDS_TX_ALT_FREQS:
1452 *type = V4L2_CTRL_TYPE_U32;
1454 case V4L2_CID_STATELESS_MPEG2_SEQUENCE:
1455 *type = V4L2_CTRL_TYPE_MPEG2_SEQUENCE;
1457 case V4L2_CID_STATELESS_MPEG2_PICTURE:
1458 *type = V4L2_CTRL_TYPE_MPEG2_PICTURE;
1460 case V4L2_CID_STATELESS_MPEG2_QUANTISATION:
1461 *type = V4L2_CTRL_TYPE_MPEG2_QUANTISATION;
1463 case V4L2_CID_STATELESS_FWHT_PARAMS:
1464 *type = V4L2_CTRL_TYPE_FWHT_PARAMS;
1466 case V4L2_CID_STATELESS_H264_SPS:
1467 *type = V4L2_CTRL_TYPE_H264_SPS;
1469 case V4L2_CID_STATELESS_H264_PPS:
1470 *type = V4L2_CTRL_TYPE_H264_PPS;
1472 case V4L2_CID_STATELESS_H264_SCALING_MATRIX:
1473 *type = V4L2_CTRL_TYPE_H264_SCALING_MATRIX;
1475 case V4L2_CID_STATELESS_H264_SLICE_PARAMS:
1476 *type = V4L2_CTRL_TYPE_H264_SLICE_PARAMS;
1478 case V4L2_CID_STATELESS_H264_DECODE_PARAMS:
1479 *type = V4L2_CTRL_TYPE_H264_DECODE_PARAMS;
1481 case V4L2_CID_STATELESS_H264_PRED_WEIGHTS:
1482 *type = V4L2_CTRL_TYPE_H264_PRED_WEIGHTS;
1484 case V4L2_CID_STATELESS_VP8_FRAME:
1485 *type = V4L2_CTRL_TYPE_VP8_FRAME;
1487 case V4L2_CID_MPEG_VIDEO_HEVC_SPS:
1488 *type = V4L2_CTRL_TYPE_HEVC_SPS;
1490 case V4L2_CID_MPEG_VIDEO_HEVC_PPS:
1491 *type = V4L2_CTRL_TYPE_HEVC_PPS;
1493 case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS:
1494 *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS;
1496 case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX:
1497 *type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX;
1499 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS:
1500 *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS;
1502 case V4L2_CID_UNIT_CELL_SIZE:
1503 *type = V4L2_CTRL_TYPE_AREA;
1504 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1506 case V4L2_CID_COLORIMETRY_HDR10_CLL_INFO:
1507 *type = V4L2_CTRL_TYPE_HDR10_CLL_INFO;
1509 case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY:
1510 *type = V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY;
1513 *type = V4L2_CTRL_TYPE_INTEGER;
1517 case V4L2_CID_MPEG_AUDIO_ENCODING:
1518 case V4L2_CID_MPEG_AUDIO_MODE:
1519 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
1520 case V4L2_CID_MPEG_VIDEO_B_FRAMES:
1521 case V4L2_CID_MPEG_STREAM_TYPE:
1522 *flags |= V4L2_CTRL_FLAG_UPDATE;
1524 case V4L2_CID_AUDIO_VOLUME:
1525 case V4L2_CID_AUDIO_BALANCE:
1526 case V4L2_CID_AUDIO_BASS:
1527 case V4L2_CID_AUDIO_TREBLE:
1528 case V4L2_CID_BRIGHTNESS:
1529 case V4L2_CID_CONTRAST:
1530 case V4L2_CID_SATURATION:
1532 case V4L2_CID_RED_BALANCE:
1533 case V4L2_CID_BLUE_BALANCE:
1534 case V4L2_CID_GAMMA:
1535 case V4L2_CID_SHARPNESS:
1536 case V4L2_CID_CHROMA_GAIN:
1537 case V4L2_CID_RDS_TX_DEVIATION:
1538 case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME:
1539 case V4L2_CID_AUDIO_LIMITER_DEVIATION:
1540 case V4L2_CID_AUDIO_COMPRESSION_GAIN:
1541 case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD:
1542 case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME:
1543 case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME:
1544 case V4L2_CID_PILOT_TONE_DEVIATION:
1545 case V4L2_CID_PILOT_TONE_FREQUENCY:
1546 case V4L2_CID_TUNE_POWER_LEVEL:
1547 case V4L2_CID_TUNE_ANTENNA_CAPACITOR:
1548 case V4L2_CID_RF_TUNER_RF_GAIN:
1549 case V4L2_CID_RF_TUNER_LNA_GAIN:
1550 case V4L2_CID_RF_TUNER_MIXER_GAIN:
1551 case V4L2_CID_RF_TUNER_IF_GAIN:
1552 case V4L2_CID_RF_TUNER_BANDWIDTH:
1553 case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD:
1554 *flags |= V4L2_CTRL_FLAG_SLIDER;
1556 case V4L2_CID_PAN_RELATIVE:
1557 case V4L2_CID_TILT_RELATIVE:
1558 case V4L2_CID_FOCUS_RELATIVE:
1559 case V4L2_CID_IRIS_RELATIVE:
1560 case V4L2_CID_ZOOM_RELATIVE:
1561 *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
1562 V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1564 case V4L2_CID_FLASH_STROBE_STATUS:
1565 case V4L2_CID_AUTO_FOCUS_STATUS:
1566 case V4L2_CID_FLASH_READY:
1567 case V4L2_CID_DV_TX_HOTPLUG:
1568 case V4L2_CID_DV_TX_RXSENSE:
1569 case V4L2_CID_DV_TX_EDID_PRESENT:
1570 case V4L2_CID_DV_RX_POWER_PRESENT:
1571 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
1572 case V4L2_CID_RDS_RX_PTY:
1573 case V4L2_CID_RDS_RX_PS_NAME:
1574 case V4L2_CID_RDS_RX_RADIO_TEXT:
1575 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT:
1576 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM:
1577 case V4L2_CID_RDS_RX_MUSIC_SPEECH:
1578 case V4L2_CID_CAMERA_ORIENTATION:
1579 case V4L2_CID_CAMERA_SENSOR_ROTATION:
1580 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1582 case V4L2_CID_RF_TUNER_PLL_LOCK:
1583 *flags |= V4L2_CTRL_FLAG_VOLATILE;
1587 EXPORT_SYMBOL(v4l2_ctrl_fill);