1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * V4L2 controls framework control definitions.
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[] = {
233 static const char * const camera_iso_sensitivity_auto[] = {
238 static const char * const scene_mode[] = {
255 static const char * const tune_emphasis[] = {
261 static const char * const header_mode[] = {
263 "Joined With 1st Frame",
266 static const char * const multi_slice[] = {
272 static const char * const entropy_mode[] = {
277 static const char * const mpeg_h264_level[] = {
300 static const char * const h264_loop_filter[] = {
303 "Disabled at Slice Boundary",
306 static const char * const h264_profile[] = {
308 "Constrained Baseline",
314 "High 444 Predictive",
321 "Scalable High Intra",
327 static const char * const vui_sar_idc[] = {
348 static const char * const h264_fp_arrangement_type[] = {
357 static const char * const h264_fmo_map_type[] = {
358 "Interleaved Slices",
360 "Foreground with Leftover",
367 static const char * const h264_decode_mode[] = {
372 static const char * const h264_start_code[] = {
374 "Annex B Start Code",
377 static const char * const h264_hierarchical_coding_type[] = {
382 static const char * const mpeg_mpeg2_level[] = {
389 static const char * const mpeg2_profile[] = {
393 "Spatially Scalable",
397 static const char * const mpeg_mpeg4_level[] = {
408 static const char * const mpeg4_profile[] = {
413 "Advanced Coding Efficiency",
417 static const char * const vpx_golden_frame_sel[] = {
418 "Use Previous Frame",
419 "Use Previous Specific Frame",
422 static const char * const vp8_profile[] = {
429 static const char * const vp9_profile[] = {
436 static const char * const vp9_level[] = {
454 static const char * const flash_led_mode[] = {
460 static const char * const flash_strobe_source[] = {
466 static const char * const jpeg_chroma_subsampling[] = {
475 static const char * const dv_tx_mode[] = {
480 static const char * const dv_rgb_range[] = {
482 "RGB Limited Range (16-235)",
483 "RGB Full Range (0-255)",
486 static const char * const dv_it_content_type[] = {
494 static const char * const detect_md_mode[] = {
502 static const char * const hevc_profile[] = {
504 "Main Still Picture",
508 static const char * const hevc_level[] = {
524 static const char * const hevc_hierarchial_coding_type[] = {
529 static const char * const hevc_refresh_type[] = {
535 static const char * const hevc_size_of_length_field[] = {
542 static const char * const hevc_tier[] = {
547 static const char * const hevc_loop_filter_mode[] = {
550 "Disabled at slice boundary",
553 static const char * const hevc_decode_mode[] = {
558 static const char * const hevc_start_code[] = {
560 "Annex B Start Code",
563 static const char * const camera_orientation[] = {
569 static const char * const mpeg_video_frame_skip[] = {
575 static const char * const intra_refresh_period_type[] = {
582 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
583 return mpeg_audio_sampling_freq;
584 case V4L2_CID_MPEG_AUDIO_ENCODING:
585 return mpeg_audio_encoding;
586 case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
587 return mpeg_audio_l1_bitrate;
588 case V4L2_CID_MPEG_AUDIO_L2_BITRATE:
589 return mpeg_audio_l2_bitrate;
590 case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
591 return mpeg_audio_l3_bitrate;
592 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
593 return mpeg_audio_ac3_bitrate;
594 case V4L2_CID_MPEG_AUDIO_MODE:
595 return mpeg_audio_mode;
596 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
597 return mpeg_audio_mode_extension;
598 case V4L2_CID_MPEG_AUDIO_EMPHASIS:
599 return mpeg_audio_emphasis;
600 case V4L2_CID_MPEG_AUDIO_CRC:
601 return mpeg_audio_crc;
602 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
603 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
604 return mpeg_audio_dec_playback;
605 case V4L2_CID_MPEG_VIDEO_ENCODING:
606 return mpeg_video_encoding;
607 case V4L2_CID_MPEG_VIDEO_ASPECT:
608 return mpeg_video_aspect;
609 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
610 return mpeg_video_bitrate_mode;
611 case V4L2_CID_MPEG_STREAM_TYPE:
612 return mpeg_stream_type;
613 case V4L2_CID_MPEG_STREAM_VBI_FMT:
614 return mpeg_stream_vbi_fmt;
615 case V4L2_CID_POWER_LINE_FREQUENCY:
616 return camera_power_line_frequency;
617 case V4L2_CID_EXPOSURE_AUTO:
618 return camera_exposure_auto;
619 case V4L2_CID_EXPOSURE_METERING:
620 return camera_exposure_metering;
621 case V4L2_CID_AUTO_FOCUS_RANGE:
622 return camera_auto_focus_range;
623 case V4L2_CID_COLORFX:
625 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
626 return auto_n_preset_white_balance;
627 case V4L2_CID_ISO_SENSITIVITY_AUTO:
628 return camera_iso_sensitivity_auto;
629 case V4L2_CID_SCENE_MODE:
631 case V4L2_CID_TUNE_PREEMPHASIS:
632 return tune_emphasis;
633 case V4L2_CID_TUNE_DEEMPHASIS:
634 return tune_emphasis;
635 case V4L2_CID_FLASH_LED_MODE:
636 return flash_led_mode;
637 case V4L2_CID_FLASH_STROBE_SOURCE:
638 return flash_strobe_source;
639 case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
641 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE:
642 return mpeg_video_frame_skip;
643 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE:
645 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE:
647 case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
648 return mpeg_h264_level;
649 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE:
650 return h264_loop_filter;
651 case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
653 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC:
655 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE:
656 return h264_fp_arrangement_type;
657 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE:
658 return h264_fmo_map_type;
659 case V4L2_CID_STATELESS_H264_DECODE_MODE:
660 return h264_decode_mode;
661 case V4L2_CID_STATELESS_H264_START_CODE:
662 return h264_start_code;
663 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE:
664 return h264_hierarchical_coding_type;
665 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL:
666 return mpeg_mpeg2_level;
667 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE:
668 return mpeg2_profile;
669 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL:
670 return mpeg_mpeg4_level;
671 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE:
672 return mpeg4_profile;
673 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL:
674 return vpx_golden_frame_sel;
675 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE:
677 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE:
679 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL:
681 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING:
682 return jpeg_chroma_subsampling;
683 case V4L2_CID_DV_TX_MODE:
685 case V4L2_CID_DV_TX_RGB_RANGE:
686 case V4L2_CID_DV_RX_RGB_RANGE:
688 case V4L2_CID_DV_TX_IT_CONTENT_TYPE:
689 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
690 return dv_it_content_type;
691 case V4L2_CID_DETECT_MD_MODE:
692 return detect_md_mode;
693 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE:
695 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:
697 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE:
698 return hevc_hierarchial_coding_type;
699 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE:
700 return hevc_refresh_type;
701 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
702 return hevc_size_of_length_field;
703 case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
705 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
706 return hevc_loop_filter_mode;
707 case V4L2_CID_STATELESS_HEVC_DECODE_MODE:
708 return hevc_decode_mode;
709 case V4L2_CID_STATELESS_HEVC_START_CODE:
710 return hevc_start_code;
711 case V4L2_CID_CAMERA_ORIENTATION:
712 return camera_orientation;
713 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE:
714 return intra_refresh_period_type;
719 EXPORT_SYMBOL(v4l2_ctrl_get_menu);
721 #define __v4l2_qmenu_int_len(arr, len) ({ *(len) = ARRAY_SIZE(arr); (arr); })
723 * Returns NULL or an s64 type array containing the menu for given
724 * control ID. The total number of the menu items is returned in @len.
726 const s64 *v4l2_ctrl_get_int_menu(u32 id, u32 *len)
728 static const s64 qmenu_int_vpx_num_partitions[] = {
732 static const s64 qmenu_int_vpx_num_ref_frames[] = {
737 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS:
738 return __v4l2_qmenu_int_len(qmenu_int_vpx_num_partitions, len);
739 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES:
740 return __v4l2_qmenu_int_len(qmenu_int_vpx_num_ref_frames, len);
746 EXPORT_SYMBOL(v4l2_ctrl_get_int_menu);
748 /* Return the control name. */
749 const char *v4l2_ctrl_get_name(u32 id)
753 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
754 case V4L2_CID_USER_CLASS: return "User Controls";
755 case V4L2_CID_BRIGHTNESS: return "Brightness";
756 case V4L2_CID_CONTRAST: return "Contrast";
757 case V4L2_CID_SATURATION: return "Saturation";
758 case V4L2_CID_HUE: return "Hue";
759 case V4L2_CID_AUDIO_VOLUME: return "Volume";
760 case V4L2_CID_AUDIO_BALANCE: return "Balance";
761 case V4L2_CID_AUDIO_BASS: return "Bass";
762 case V4L2_CID_AUDIO_TREBLE: return "Treble";
763 case V4L2_CID_AUDIO_MUTE: return "Mute";
764 case V4L2_CID_AUDIO_LOUDNESS: return "Loudness";
765 case V4L2_CID_BLACK_LEVEL: return "Black Level";
766 case V4L2_CID_AUTO_WHITE_BALANCE: return "White Balance, Automatic";
767 case V4L2_CID_DO_WHITE_BALANCE: return "Do White Balance";
768 case V4L2_CID_RED_BALANCE: return "Red Balance";
769 case V4L2_CID_BLUE_BALANCE: return "Blue Balance";
770 case V4L2_CID_GAMMA: return "Gamma";
771 case V4L2_CID_EXPOSURE: return "Exposure";
772 case V4L2_CID_AUTOGAIN: return "Gain, Automatic";
773 case V4L2_CID_GAIN: return "Gain";
774 case V4L2_CID_HFLIP: return "Horizontal Flip";
775 case V4L2_CID_VFLIP: return "Vertical Flip";
776 case V4L2_CID_POWER_LINE_FREQUENCY: return "Power Line Frequency";
777 case V4L2_CID_HUE_AUTO: return "Hue, Automatic";
778 case V4L2_CID_WHITE_BALANCE_TEMPERATURE: return "White Balance Temperature";
779 case V4L2_CID_SHARPNESS: return "Sharpness";
780 case V4L2_CID_BACKLIGHT_COMPENSATION: return "Backlight Compensation";
781 case V4L2_CID_CHROMA_AGC: return "Chroma AGC";
782 case V4L2_CID_COLOR_KILLER: return "Color Killer";
783 case V4L2_CID_COLORFX: return "Color Effects";
784 case V4L2_CID_AUTOBRIGHTNESS: return "Brightness, Automatic";
785 case V4L2_CID_BAND_STOP_FILTER: return "Band-Stop Filter";
786 case V4L2_CID_ROTATE: return "Rotate";
787 case V4L2_CID_BG_COLOR: return "Background Color";
788 case V4L2_CID_CHROMA_GAIN: return "Chroma Gain";
789 case V4L2_CID_ILLUMINATORS_1: return "Illuminator 1";
790 case V4L2_CID_ILLUMINATORS_2: return "Illuminator 2";
791 case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE: return "Min Number of Capture Buffers";
792 case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT: return "Min Number of Output Buffers";
793 case V4L2_CID_ALPHA_COMPONENT: return "Alpha Component";
794 case V4L2_CID_COLORFX_CBCR: return "Color Effects, CbCr";
795 case V4L2_CID_COLORFX_RGB: return "Color Effects, RGB";
800 * The MPEG controls are applicable to all codec controls
801 * and the 'MPEG' part of the define is historical.
803 * Keep the order of the 'case's the same as in videodev2.h!
805 case V4L2_CID_CODEC_CLASS: return "Codec Controls";
806 case V4L2_CID_MPEG_STREAM_TYPE: return "Stream Type";
807 case V4L2_CID_MPEG_STREAM_PID_PMT: return "Stream PMT Program ID";
808 case V4L2_CID_MPEG_STREAM_PID_AUDIO: return "Stream Audio Program ID";
809 case V4L2_CID_MPEG_STREAM_PID_VIDEO: return "Stream Video Program ID";
810 case V4L2_CID_MPEG_STREAM_PID_PCR: return "Stream PCR Program ID";
811 case V4L2_CID_MPEG_STREAM_PES_ID_AUDIO: return "Stream PES Audio ID";
812 case V4L2_CID_MPEG_STREAM_PES_ID_VIDEO: return "Stream PES Video ID";
813 case V4L2_CID_MPEG_STREAM_VBI_FMT: return "Stream VBI Format";
814 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ: return "Audio Sampling Frequency";
815 case V4L2_CID_MPEG_AUDIO_ENCODING: return "Audio Encoding";
816 case V4L2_CID_MPEG_AUDIO_L1_BITRATE: return "Audio Layer I Bitrate";
817 case V4L2_CID_MPEG_AUDIO_L2_BITRATE: return "Audio Layer II Bitrate";
818 case V4L2_CID_MPEG_AUDIO_L3_BITRATE: return "Audio Layer III Bitrate";
819 case V4L2_CID_MPEG_AUDIO_MODE: return "Audio Stereo Mode";
820 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION: return "Audio Stereo Mode Extension";
821 case V4L2_CID_MPEG_AUDIO_EMPHASIS: return "Audio Emphasis";
822 case V4L2_CID_MPEG_AUDIO_CRC: return "Audio CRC";
823 case V4L2_CID_MPEG_AUDIO_MUTE: return "Audio Mute";
824 case V4L2_CID_MPEG_AUDIO_AAC_BITRATE: return "Audio AAC Bitrate";
825 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE: return "Audio AC-3 Bitrate";
826 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK: return "Audio Playback";
827 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK: return "Audio Multilingual Playback";
828 case V4L2_CID_MPEG_VIDEO_ENCODING: return "Video Encoding";
829 case V4L2_CID_MPEG_VIDEO_ASPECT: return "Video Aspect";
830 case V4L2_CID_MPEG_VIDEO_B_FRAMES: return "Video B Frames";
831 case V4L2_CID_MPEG_VIDEO_GOP_SIZE: return "Video GOP Size";
832 case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE: return "Video GOP Closure";
833 case V4L2_CID_MPEG_VIDEO_PULLDOWN: return "Video Pulldown";
834 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE: return "Video Bitrate Mode";
835 case V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY: return "Constant Quality";
836 case V4L2_CID_MPEG_VIDEO_BITRATE: return "Video Bitrate";
837 case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: return "Video Peak Bitrate";
838 case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: return "Video Temporal Decimation";
839 case V4L2_CID_MPEG_VIDEO_MUTE: return "Video Mute";
840 case V4L2_CID_MPEG_VIDEO_MUTE_YUV: return "Video Mute YUV";
841 case V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE: return "Decoder Slice Interface";
842 case V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER: return "MPEG4 Loop Filter Enable";
843 case V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB: return "Number of Intra Refresh MBs";
844 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE: return "Intra Refresh Period Type";
845 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD: return "Intra Refresh Period";
846 case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE: return "Frame Level Rate Control Enable";
847 case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE: return "H264 MB Level Rate Control";
848 case V4L2_CID_MPEG_VIDEO_HEADER_MODE: return "Sequence Header Mode";
849 case V4L2_CID_MPEG_VIDEO_MAX_REF_PIC: return "Max Number of Reference Pics";
850 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE: return "Frame Skip Mode";
851 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY: return "Display Delay";
852 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE: return "Display Delay Enable";
853 case V4L2_CID_MPEG_VIDEO_AU_DELIMITER: return "Generate Access Unit Delimiters";
854 case V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP: return "H263 I-Frame QP Value";
855 case V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP: return "H263 P-Frame QP Value";
856 case V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP: return "H263 B-Frame QP Value";
857 case V4L2_CID_MPEG_VIDEO_H263_MIN_QP: return "H263 Minimum QP Value";
858 case V4L2_CID_MPEG_VIDEO_H263_MAX_QP: return "H263 Maximum QP Value";
859 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP: return "H264 I-Frame QP Value";
860 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP: return "H264 P-Frame QP Value";
861 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP: return "H264 B-Frame QP Value";
862 case V4L2_CID_MPEG_VIDEO_H264_MAX_QP: return "H264 Maximum QP Value";
863 case V4L2_CID_MPEG_VIDEO_H264_MIN_QP: return "H264 Minimum QP Value";
864 case V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM: return "H264 8x8 Transform Enable";
865 case V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE: return "H264 CPB Buffer Size";
866 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE: return "H264 Entropy Mode";
867 case V4L2_CID_MPEG_VIDEO_H264_I_PERIOD: return "H264 I-Frame Period";
868 case V4L2_CID_MPEG_VIDEO_H264_LEVEL: return "H264 Level";
869 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA: return "H264 Loop Filter Alpha Offset";
870 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA: return "H264 Loop Filter Beta Offset";
871 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE: return "H264 Loop Filter Mode";
872 case V4L2_CID_MPEG_VIDEO_H264_PROFILE: return "H264 Profile";
873 case V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT: return "Vertical Size of SAR";
874 case V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH: return "Horizontal Size of SAR";
875 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE: return "Aspect Ratio VUI Enable";
876 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC: return "VUI Aspect Ratio IDC";
877 case V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING: return "H264 Enable Frame Packing SEI";
878 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0: return "H264 Set Curr. Frame as Frame0";
879 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE: return "H264 FP Arrangement Type";
880 case V4L2_CID_MPEG_VIDEO_H264_FMO: return "H264 Flexible MB Ordering";
881 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE: return "H264 Map Type for FMO";
882 case V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP: return "H264 FMO Number of Slice Groups";
883 case V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION: return "H264 FMO Direction of Change";
884 case V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE: return "H264 FMO Size of 1st Slice Grp";
885 case V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH: return "H264 FMO No. of Consecutive MBs";
886 case V4L2_CID_MPEG_VIDEO_H264_ASO: return "H264 Arbitrary Slice Ordering";
887 case V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER: return "H264 ASO Slice Order";
888 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING: return "Enable H264 Hierarchical Coding";
889 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE: return "H264 Hierarchical Coding Type";
890 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER:return "H264 Number of HC Layers";
891 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP:
892 return "H264 Set QP Value for HC Layers";
893 case V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION:
894 return "H264 Constrained Intra Pred";
895 case V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET: return "H264 Chroma QP Index Offset";
896 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP: return "H264 I-Frame Minimum QP Value";
897 case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP: return "H264 I-Frame Maximum QP Value";
898 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP: return "H264 P-Frame Minimum QP Value";
899 case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP: return "H264 P-Frame Maximum QP Value";
900 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP: return "H264 B-Frame Minimum QP Value";
901 case V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP: return "H264 B-Frame Maximum QP Value";
902 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR: return "H264 Hierarchical Lay 0 Bitrate";
903 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR: return "H264 Hierarchical Lay 1 Bitrate";
904 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR: return "H264 Hierarchical Lay 2 Bitrate";
905 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR: return "H264 Hierarchical Lay 3 Bitrate";
906 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR: return "H264 Hierarchical Lay 4 Bitrate";
907 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR: return "H264 Hierarchical Lay 5 Bitrate";
908 case V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR: return "H264 Hierarchical Lay 6 Bitrate";
909 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL: return "MPEG2 Level";
910 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE: return "MPEG2 Profile";
911 case V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP: return "MPEG4 I-Frame QP Value";
912 case V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP: return "MPEG4 P-Frame QP Value";
913 case V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP: return "MPEG4 B-Frame QP Value";
914 case V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP: return "MPEG4 Minimum QP Value";
915 case V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP: return "MPEG4 Maximum QP Value";
916 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL: return "MPEG4 Level";
917 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE: return "MPEG4 Profile";
918 case V4L2_CID_MPEG_VIDEO_MPEG4_QPEL: return "Quarter Pixel Search Enable";
919 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES: return "Maximum Bytes in a Slice";
920 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB: return "Number of MBs in a Slice";
921 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE: return "Slice Partitioning Method";
922 case V4L2_CID_MPEG_VIDEO_VBV_SIZE: return "VBV Buffer Size";
923 case V4L2_CID_MPEG_VIDEO_DEC_PTS: return "Video Decoder PTS";
924 case V4L2_CID_MPEG_VIDEO_DEC_FRAME: return "Video Decoder Frame Count";
925 case V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR: return "Video Decoder Conceal Color";
926 case V4L2_CID_MPEG_VIDEO_VBV_DELAY: return "Initial Delay for VBV Control";
927 case V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE: return "Horizontal MV Search Range";
928 case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE: return "Vertical MV Search Range";
929 case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER: return "Repeat Sequence Header";
930 case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: return "Force Key Frame";
931 case V4L2_CID_MPEG_VIDEO_BASELAYER_PRIORITY_ID: return "Base Layer Priority ID";
932 case V4L2_CID_MPEG_VIDEO_LTR_COUNT: return "LTR Count";
933 case V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX: return "Frame LTR Index";
934 case V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES: return "Use LTR Frames";
935 case V4L2_CID_FWHT_I_FRAME_QP: return "FWHT I-Frame QP Value";
936 case V4L2_CID_FWHT_P_FRAME_QP: return "FWHT P-Frame QP Value";
939 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: return "VPX Number of Partitions";
940 case V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4: return "VPX Intra Mode Decision Disable";
941 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES: return "VPX No. of Refs for P Frame";
942 case V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL: return "VPX Loop Filter Level Range";
943 case V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS: return "VPX Deblocking Effect Control";
944 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD: return "VPX Golden Frame Refresh Period";
945 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL: return "VPX Golden Frame Indicator";
946 case V4L2_CID_MPEG_VIDEO_VPX_MIN_QP: return "VPX Minimum QP Value";
947 case V4L2_CID_MPEG_VIDEO_VPX_MAX_QP: return "VPX Maximum QP Value";
948 case V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP: return "VPX I-Frame QP Value";
949 case V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP: return "VPX P-Frame QP Value";
950 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE: return "VP8 Profile";
951 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE: return "VP9 Profile";
952 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL: return "VP9 Level";
955 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP: return "HEVC I-Frame QP Value";
956 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP: return "HEVC P-Frame QP Value";
957 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP: return "HEVC B-Frame QP Value";
958 case V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP: return "HEVC Minimum QP Value";
959 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP: return "HEVC Maximum QP Value";
960 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP: return "HEVC I-Frame Minimum QP Value";
961 case V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP: return "HEVC I-Frame Maximum QP Value";
962 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP: return "HEVC P-Frame Minimum QP Value";
963 case V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP: return "HEVC P-Frame Maximum QP Value";
964 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP: return "HEVC B-Frame Minimum QP Value";
965 case V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP: return "HEVC B-Frame Maximum QP Value";
966 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE: return "HEVC Profile";
967 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL: return "HEVC Level";
968 case V4L2_CID_MPEG_VIDEO_HEVC_TIER: return "HEVC Tier";
969 case V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION: return "HEVC Frame Rate Resolution";
970 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH: return "HEVC Maximum Coding Unit Depth";
971 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE: return "HEVC Refresh Type";
972 case V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED: return "HEVC Constant Intra Prediction";
973 case V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU: return "HEVC Lossless Encoding";
974 case V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT: return "HEVC Wavefront";
975 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE: return "HEVC Loop Filter";
976 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP: return "HEVC QP Values";
977 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE: return "HEVC Hierarchical Coding Type";
978 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER: return "HEVC Hierarchical Coding Layer";
979 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP: return "HEVC Hierarchical Layer 0 QP";
980 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP: return "HEVC Hierarchical Layer 1 QP";
981 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP: return "HEVC Hierarchical Layer 2 QP";
982 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP: return "HEVC Hierarchical Layer 3 QP";
983 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP: return "HEVC Hierarchical Layer 4 QP";
984 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP: return "HEVC Hierarchical Layer 5 QP";
985 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP: return "HEVC Hierarchical Layer 6 QP";
986 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR: return "HEVC Hierarchical Lay 0 BitRate";
987 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR: return "HEVC Hierarchical Lay 1 BitRate";
988 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR: return "HEVC Hierarchical Lay 2 BitRate";
989 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR: return "HEVC Hierarchical Lay 3 BitRate";
990 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR: return "HEVC Hierarchical Lay 4 BitRate";
991 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR: return "HEVC Hierarchical Lay 5 BitRate";
992 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR: return "HEVC Hierarchical Lay 6 BitRate";
993 case V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB: return "HEVC General PB";
994 case V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID: return "HEVC Temporal ID";
995 case V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING: return "HEVC Strong Intra Smoothing";
996 case V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT: return "HEVC Intra PU Split";
997 case V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION: return "HEVC TMV Prediction";
998 case V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1: return "HEVC Max Num of Candidate MVs";
999 case V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE: return "HEVC ENC Without Startcode";
1000 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD: return "HEVC Num of I-Frame b/w 2 IDR";
1001 case V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2: return "HEVC Loop Filter Beta Offset";
1002 case V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2: return "HEVC Loop Filter TC Offset";
1003 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD: return "HEVC Size of Length Field";
1004 case V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES: return "Reference Frames for a P-Frame";
1005 case V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR: return "Prepend SPS and PPS to IDR";
1007 /* CAMERA controls */
1008 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1009 case V4L2_CID_CAMERA_CLASS: return "Camera Controls";
1010 case V4L2_CID_EXPOSURE_AUTO: return "Auto Exposure";
1011 case V4L2_CID_EXPOSURE_ABSOLUTE: return "Exposure Time, Absolute";
1012 case V4L2_CID_EXPOSURE_AUTO_PRIORITY: return "Exposure, Dynamic Framerate";
1013 case V4L2_CID_PAN_RELATIVE: return "Pan, Relative";
1014 case V4L2_CID_TILT_RELATIVE: return "Tilt, Relative";
1015 case V4L2_CID_PAN_RESET: return "Pan, Reset";
1016 case V4L2_CID_TILT_RESET: return "Tilt, Reset";
1017 case V4L2_CID_PAN_ABSOLUTE: return "Pan, Absolute";
1018 case V4L2_CID_TILT_ABSOLUTE: return "Tilt, Absolute";
1019 case V4L2_CID_FOCUS_ABSOLUTE: return "Focus, Absolute";
1020 case V4L2_CID_FOCUS_RELATIVE: return "Focus, Relative";
1021 case V4L2_CID_FOCUS_AUTO: return "Focus, Automatic Continuous";
1022 case V4L2_CID_ZOOM_ABSOLUTE: return "Zoom, Absolute";
1023 case V4L2_CID_ZOOM_RELATIVE: return "Zoom, Relative";
1024 case V4L2_CID_ZOOM_CONTINUOUS: return "Zoom, Continuous";
1025 case V4L2_CID_PRIVACY: return "Privacy";
1026 case V4L2_CID_IRIS_ABSOLUTE: return "Iris, Absolute";
1027 case V4L2_CID_IRIS_RELATIVE: return "Iris, Relative";
1028 case V4L2_CID_AUTO_EXPOSURE_BIAS: return "Auto Exposure, Bias";
1029 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: return "White Balance, Auto & Preset";
1030 case V4L2_CID_WIDE_DYNAMIC_RANGE: return "Wide Dynamic Range";
1031 case V4L2_CID_IMAGE_STABILIZATION: return "Image Stabilization";
1032 case V4L2_CID_ISO_SENSITIVITY: return "ISO Sensitivity";
1033 case V4L2_CID_ISO_SENSITIVITY_AUTO: return "ISO Sensitivity, Auto";
1034 case V4L2_CID_EXPOSURE_METERING: return "Exposure, Metering Mode";
1035 case V4L2_CID_SCENE_MODE: return "Scene Mode";
1036 case V4L2_CID_3A_LOCK: return "3A Lock";
1037 case V4L2_CID_AUTO_FOCUS_START: return "Auto Focus, Start";
1038 case V4L2_CID_AUTO_FOCUS_STOP: return "Auto Focus, Stop";
1039 case V4L2_CID_AUTO_FOCUS_STATUS: return "Auto Focus, Status";
1040 case V4L2_CID_AUTO_FOCUS_RANGE: return "Auto Focus, Range";
1041 case V4L2_CID_PAN_SPEED: return "Pan, Speed";
1042 case V4L2_CID_TILT_SPEED: return "Tilt, Speed";
1043 case V4L2_CID_UNIT_CELL_SIZE: return "Unit Cell Size";
1044 case V4L2_CID_CAMERA_ORIENTATION: return "Camera Orientation";
1045 case V4L2_CID_CAMERA_SENSOR_ROTATION: return "Camera Sensor Rotation";
1047 /* FM Radio Modulator controls */
1048 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1049 case V4L2_CID_FM_TX_CLASS: return "FM Radio Modulator Controls";
1050 case V4L2_CID_RDS_TX_DEVIATION: return "RDS Signal Deviation";
1051 case V4L2_CID_RDS_TX_PI: return "RDS Program ID";
1052 case V4L2_CID_RDS_TX_PTY: return "RDS Program Type";
1053 case V4L2_CID_RDS_TX_PS_NAME: return "RDS PS Name";
1054 case V4L2_CID_RDS_TX_RADIO_TEXT: return "RDS Radio Text";
1055 case V4L2_CID_RDS_TX_MONO_STEREO: return "RDS Stereo";
1056 case V4L2_CID_RDS_TX_ARTIFICIAL_HEAD: return "RDS Artificial Head";
1057 case V4L2_CID_RDS_TX_COMPRESSED: return "RDS Compressed";
1058 case V4L2_CID_RDS_TX_DYNAMIC_PTY: return "RDS Dynamic PTY";
1059 case V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT: return "RDS Traffic Announcement";
1060 case V4L2_CID_RDS_TX_TRAFFIC_PROGRAM: return "RDS Traffic Program";
1061 case V4L2_CID_RDS_TX_MUSIC_SPEECH: return "RDS Music";
1062 case V4L2_CID_RDS_TX_ALT_FREQS_ENABLE: return "RDS Enable Alt Frequencies";
1063 case V4L2_CID_RDS_TX_ALT_FREQS: return "RDS Alternate Frequencies";
1064 case V4L2_CID_AUDIO_LIMITER_ENABLED: return "Audio Limiter Feature Enabled";
1065 case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: return "Audio Limiter Release Time";
1066 case V4L2_CID_AUDIO_LIMITER_DEVIATION: return "Audio Limiter Deviation";
1067 case V4L2_CID_AUDIO_COMPRESSION_ENABLED: return "Audio Compression Enabled";
1068 case V4L2_CID_AUDIO_COMPRESSION_GAIN: return "Audio Compression Gain";
1069 case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: return "Audio Compression Threshold";
1070 case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: return "Audio Compression Attack Time";
1071 case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: return "Audio Compression Release Time";
1072 case V4L2_CID_PILOT_TONE_ENABLED: return "Pilot Tone Feature Enabled";
1073 case V4L2_CID_PILOT_TONE_DEVIATION: return "Pilot Tone Deviation";
1074 case V4L2_CID_PILOT_TONE_FREQUENCY: return "Pilot Tone Frequency";
1075 case V4L2_CID_TUNE_PREEMPHASIS: return "Pre-Emphasis";
1076 case V4L2_CID_TUNE_POWER_LEVEL: return "Tune Power Level";
1077 case V4L2_CID_TUNE_ANTENNA_CAPACITOR: return "Tune Antenna Capacitor";
1079 /* Flash controls */
1080 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1081 case V4L2_CID_FLASH_CLASS: return "Flash Controls";
1082 case V4L2_CID_FLASH_LED_MODE: return "LED Mode";
1083 case V4L2_CID_FLASH_STROBE_SOURCE: return "Strobe Source";
1084 case V4L2_CID_FLASH_STROBE: return "Strobe";
1085 case V4L2_CID_FLASH_STROBE_STOP: return "Stop Strobe";
1086 case V4L2_CID_FLASH_STROBE_STATUS: return "Strobe Status";
1087 case V4L2_CID_FLASH_TIMEOUT: return "Strobe Timeout";
1088 case V4L2_CID_FLASH_INTENSITY: return "Intensity, Flash Mode";
1089 case V4L2_CID_FLASH_TORCH_INTENSITY: return "Intensity, Torch Mode";
1090 case V4L2_CID_FLASH_INDICATOR_INTENSITY: return "Intensity, Indicator";
1091 case V4L2_CID_FLASH_FAULT: return "Faults";
1092 case V4L2_CID_FLASH_CHARGE: return "Charge";
1093 case V4L2_CID_FLASH_READY: return "Ready to Strobe";
1095 /* JPEG encoder controls */
1096 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1097 case V4L2_CID_JPEG_CLASS: return "JPEG Compression Controls";
1098 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING: return "Chroma Subsampling";
1099 case V4L2_CID_JPEG_RESTART_INTERVAL: return "Restart Interval";
1100 case V4L2_CID_JPEG_COMPRESSION_QUALITY: return "Compression Quality";
1101 case V4L2_CID_JPEG_ACTIVE_MARKER: return "Active Markers";
1103 /* Image source controls */
1104 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1105 case V4L2_CID_IMAGE_SOURCE_CLASS: return "Image Source Controls";
1106 case V4L2_CID_VBLANK: return "Vertical Blanking";
1107 case V4L2_CID_HBLANK: return "Horizontal Blanking";
1108 case V4L2_CID_ANALOGUE_GAIN: return "Analogue Gain";
1109 case V4L2_CID_TEST_PATTERN_RED: return "Red Pixel Value";
1110 case V4L2_CID_TEST_PATTERN_GREENR: return "Green (Red) Pixel Value";
1111 case V4L2_CID_TEST_PATTERN_BLUE: return "Blue Pixel Value";
1112 case V4L2_CID_TEST_PATTERN_GREENB: return "Green (Blue) Pixel Value";
1113 case V4L2_CID_NOTIFY_GAINS: return "Notify Gains";
1115 /* Image processing controls */
1116 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1117 case V4L2_CID_IMAGE_PROC_CLASS: return "Image Processing Controls";
1118 case V4L2_CID_LINK_FREQ: return "Link Frequency";
1119 case V4L2_CID_PIXEL_RATE: return "Pixel Rate";
1120 case V4L2_CID_TEST_PATTERN: return "Test Pattern";
1121 case V4L2_CID_DEINTERLACING_MODE: return "Deinterlacing Mode";
1122 case V4L2_CID_DIGITAL_GAIN: return "Digital Gain";
1125 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1126 case V4L2_CID_DV_CLASS: return "Digital Video Controls";
1127 case V4L2_CID_DV_TX_HOTPLUG: return "Hotplug Present";
1128 case V4L2_CID_DV_TX_RXSENSE: return "RxSense Present";
1129 case V4L2_CID_DV_TX_EDID_PRESENT: return "EDID Present";
1130 case V4L2_CID_DV_TX_MODE: return "Transmit Mode";
1131 case V4L2_CID_DV_TX_RGB_RANGE: return "Tx RGB Quantization Range";
1132 case V4L2_CID_DV_TX_IT_CONTENT_TYPE: return "Tx IT Content Type";
1133 case V4L2_CID_DV_RX_POWER_PRESENT: return "Power Present";
1134 case V4L2_CID_DV_RX_RGB_RANGE: return "Rx RGB Quantization Range";
1135 case V4L2_CID_DV_RX_IT_CONTENT_TYPE: return "Rx IT Content Type";
1137 case V4L2_CID_FM_RX_CLASS: return "FM Radio Receiver Controls";
1138 case V4L2_CID_TUNE_DEEMPHASIS: return "De-Emphasis";
1139 case V4L2_CID_RDS_RECEPTION: return "RDS Reception";
1140 case V4L2_CID_RF_TUNER_CLASS: return "RF Tuner Controls";
1141 case V4L2_CID_RF_TUNER_RF_GAIN: return "RF Gain";
1142 case V4L2_CID_RF_TUNER_LNA_GAIN_AUTO: return "LNA Gain, Auto";
1143 case V4L2_CID_RF_TUNER_LNA_GAIN: return "LNA Gain";
1144 case V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO: return "Mixer Gain, Auto";
1145 case V4L2_CID_RF_TUNER_MIXER_GAIN: return "Mixer Gain";
1146 case V4L2_CID_RF_TUNER_IF_GAIN_AUTO: return "IF Gain, Auto";
1147 case V4L2_CID_RF_TUNER_IF_GAIN: return "IF Gain";
1148 case V4L2_CID_RF_TUNER_BANDWIDTH_AUTO: return "Bandwidth, Auto";
1149 case V4L2_CID_RF_TUNER_BANDWIDTH: return "Bandwidth";
1150 case V4L2_CID_RF_TUNER_PLL_LOCK: return "PLL Lock";
1151 case V4L2_CID_RDS_RX_PTY: return "RDS Program Type";
1152 case V4L2_CID_RDS_RX_PS_NAME: return "RDS PS Name";
1153 case V4L2_CID_RDS_RX_RADIO_TEXT: return "RDS Radio Text";
1154 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT: return "RDS Traffic Announcement";
1155 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM: return "RDS Traffic Program";
1156 case V4L2_CID_RDS_RX_MUSIC_SPEECH: return "RDS Music";
1158 /* Detection controls */
1159 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1160 case V4L2_CID_DETECT_CLASS: return "Detection Controls";
1161 case V4L2_CID_DETECT_MD_MODE: return "Motion Detection Mode";
1162 case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD: return "MD Global Threshold";
1163 case V4L2_CID_DETECT_MD_THRESHOLD_GRID: return "MD Threshold Grid";
1164 case V4L2_CID_DETECT_MD_REGION_GRID: return "MD Region Grid";
1166 /* Stateless Codec controls */
1167 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1168 case V4L2_CID_CODEC_STATELESS_CLASS: return "Stateless Codec Controls";
1169 case V4L2_CID_STATELESS_H264_DECODE_MODE: return "H264 Decode Mode";
1170 case V4L2_CID_STATELESS_H264_START_CODE: return "H264 Start Code";
1171 case V4L2_CID_STATELESS_H264_SPS: return "H264 Sequence Parameter Set";
1172 case V4L2_CID_STATELESS_H264_PPS: return "H264 Picture Parameter Set";
1173 case V4L2_CID_STATELESS_H264_SCALING_MATRIX: return "H264 Scaling Matrix";
1174 case V4L2_CID_STATELESS_H264_PRED_WEIGHTS: return "H264 Prediction Weight Table";
1175 case V4L2_CID_STATELESS_H264_SLICE_PARAMS: return "H264 Slice Parameters";
1176 case V4L2_CID_STATELESS_H264_DECODE_PARAMS: return "H264 Decode Parameters";
1177 case V4L2_CID_STATELESS_FWHT_PARAMS: return "FWHT Stateless Parameters";
1178 case V4L2_CID_STATELESS_VP8_FRAME: return "VP8 Frame Parameters";
1179 case V4L2_CID_STATELESS_MPEG2_SEQUENCE: return "MPEG-2 Sequence Header";
1180 case V4L2_CID_STATELESS_MPEG2_PICTURE: return "MPEG-2 Picture Header";
1181 case V4L2_CID_STATELESS_MPEG2_QUANTISATION: return "MPEG-2 Quantisation Matrices";
1182 case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR: return "VP9 Probabilities Updates";
1183 case V4L2_CID_STATELESS_VP9_FRAME: return "VP9 Frame Decode Parameters";
1184 case V4L2_CID_STATELESS_HEVC_SPS: return "HEVC Sequence Parameter Set";
1185 case V4L2_CID_STATELESS_HEVC_PPS: return "HEVC Picture Parameter Set";
1186 case V4L2_CID_STATELESS_HEVC_SLICE_PARAMS: return "HEVC Slice Parameters";
1187 case V4L2_CID_STATELESS_HEVC_SCALING_MATRIX: return "HEVC Scaling Matrix";
1188 case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS: return "HEVC Decode Parameters";
1189 case V4L2_CID_STATELESS_HEVC_DECODE_MODE: return "HEVC Decode Mode";
1190 case V4L2_CID_STATELESS_HEVC_START_CODE: return "HEVC Start Code";
1191 case V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS: return "HEVC Entry Point Offsets";
1193 /* Colorimetry controls */
1194 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
1195 case V4L2_CID_COLORIMETRY_CLASS: return "Colorimetry Controls";
1196 case V4L2_CID_COLORIMETRY_HDR10_CLL_INFO: return "HDR10 Content Light Info";
1197 case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: return "HDR10 Mastering Display";
1202 EXPORT_SYMBOL(v4l2_ctrl_get_name);
1204 void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
1205 s64 *min, s64 *max, u64 *step, s64 *def, u32 *flags)
1207 *name = v4l2_ctrl_get_name(id);
1211 case V4L2_CID_AUDIO_MUTE:
1212 case V4L2_CID_AUDIO_LOUDNESS:
1213 case V4L2_CID_AUTO_WHITE_BALANCE:
1214 case V4L2_CID_AUTOGAIN:
1215 case V4L2_CID_HFLIP:
1216 case V4L2_CID_VFLIP:
1217 case V4L2_CID_HUE_AUTO:
1218 case V4L2_CID_CHROMA_AGC:
1219 case V4L2_CID_COLOR_KILLER:
1220 case V4L2_CID_AUTOBRIGHTNESS:
1221 case V4L2_CID_MPEG_AUDIO_MUTE:
1222 case V4L2_CID_MPEG_VIDEO_MUTE:
1223 case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE:
1224 case V4L2_CID_MPEG_VIDEO_PULLDOWN:
1225 case V4L2_CID_EXPOSURE_AUTO_PRIORITY:
1226 case V4L2_CID_FOCUS_AUTO:
1227 case V4L2_CID_PRIVACY:
1228 case V4L2_CID_AUDIO_LIMITER_ENABLED:
1229 case V4L2_CID_AUDIO_COMPRESSION_ENABLED:
1230 case V4L2_CID_PILOT_TONE_ENABLED:
1231 case V4L2_CID_ILLUMINATORS_1:
1232 case V4L2_CID_ILLUMINATORS_2:
1233 case V4L2_CID_FLASH_STROBE_STATUS:
1234 case V4L2_CID_FLASH_CHARGE:
1235 case V4L2_CID_FLASH_READY:
1236 case V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER:
1237 case V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE:
1238 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE:
1239 case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE:
1240 case V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE:
1241 case V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM:
1242 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE:
1243 case V4L2_CID_MPEG_VIDEO_MPEG4_QPEL:
1244 case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER:
1245 case V4L2_CID_MPEG_VIDEO_AU_DELIMITER:
1246 case V4L2_CID_WIDE_DYNAMIC_RANGE:
1247 case V4L2_CID_IMAGE_STABILIZATION:
1248 case V4L2_CID_RDS_RECEPTION:
1249 case V4L2_CID_RF_TUNER_LNA_GAIN_AUTO:
1250 case V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO:
1251 case V4L2_CID_RF_TUNER_IF_GAIN_AUTO:
1252 case V4L2_CID_RF_TUNER_BANDWIDTH_AUTO:
1253 case V4L2_CID_RF_TUNER_PLL_LOCK:
1254 case V4L2_CID_RDS_TX_MONO_STEREO:
1255 case V4L2_CID_RDS_TX_ARTIFICIAL_HEAD:
1256 case V4L2_CID_RDS_TX_COMPRESSED:
1257 case V4L2_CID_RDS_TX_DYNAMIC_PTY:
1258 case V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT:
1259 case V4L2_CID_RDS_TX_TRAFFIC_PROGRAM:
1260 case V4L2_CID_RDS_TX_MUSIC_SPEECH:
1261 case V4L2_CID_RDS_TX_ALT_FREQS_ENABLE:
1262 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT:
1263 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM:
1264 case V4L2_CID_RDS_RX_MUSIC_SPEECH:
1265 *type = V4L2_CTRL_TYPE_BOOLEAN;
1269 case V4L2_CID_ROTATE:
1270 *type = V4L2_CTRL_TYPE_INTEGER;
1271 *flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
1273 case V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE:
1274 case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE:
1275 case V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY:
1276 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD:
1277 *type = V4L2_CTRL_TYPE_INTEGER;
1279 case V4L2_CID_MPEG_VIDEO_LTR_COUNT:
1280 *type = V4L2_CTRL_TYPE_INTEGER;
1282 case V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX:
1283 *type = V4L2_CTRL_TYPE_INTEGER;
1284 *flags |= V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1286 case V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES:
1287 *type = V4L2_CTRL_TYPE_BITMASK;
1288 *flags |= V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1290 case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME:
1291 case V4L2_CID_PAN_RESET:
1292 case V4L2_CID_TILT_RESET:
1293 case V4L2_CID_FLASH_STROBE:
1294 case V4L2_CID_FLASH_STROBE_STOP:
1295 case V4L2_CID_AUTO_FOCUS_START:
1296 case V4L2_CID_AUTO_FOCUS_STOP:
1297 case V4L2_CID_DO_WHITE_BALANCE:
1298 *type = V4L2_CTRL_TYPE_BUTTON;
1299 *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
1300 V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1301 *min = *max = *step = *def = 0;
1303 case V4L2_CID_POWER_LINE_FREQUENCY:
1304 case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
1305 case V4L2_CID_MPEG_AUDIO_ENCODING:
1306 case V4L2_CID_MPEG_AUDIO_L1_BITRATE:
1307 case V4L2_CID_MPEG_AUDIO_L2_BITRATE:
1308 case V4L2_CID_MPEG_AUDIO_L3_BITRATE:
1309 case V4L2_CID_MPEG_AUDIO_AC3_BITRATE:
1310 case V4L2_CID_MPEG_AUDIO_MODE:
1311 case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
1312 case V4L2_CID_MPEG_AUDIO_EMPHASIS:
1313 case V4L2_CID_MPEG_AUDIO_CRC:
1314 case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
1315 case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
1316 case V4L2_CID_MPEG_VIDEO_ENCODING:
1317 case V4L2_CID_MPEG_VIDEO_ASPECT:
1318 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
1319 case V4L2_CID_MPEG_STREAM_TYPE:
1320 case V4L2_CID_MPEG_STREAM_VBI_FMT:
1321 case V4L2_CID_EXPOSURE_AUTO:
1322 case V4L2_CID_AUTO_FOCUS_RANGE:
1323 case V4L2_CID_COLORFX:
1324 case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
1325 case V4L2_CID_TUNE_PREEMPHASIS:
1326 case V4L2_CID_FLASH_LED_MODE:
1327 case V4L2_CID_FLASH_STROBE_SOURCE:
1328 case V4L2_CID_MPEG_VIDEO_HEADER_MODE:
1329 case V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE:
1330 case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE:
1331 case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE:
1332 case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
1333 case V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE:
1334 case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
1335 case V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC:
1336 case V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE:
1337 case V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE:
1338 case V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE:
1339 case V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL:
1340 case V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE:
1341 case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL:
1342 case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE:
1343 case V4L2_CID_JPEG_CHROMA_SUBSAMPLING:
1344 case V4L2_CID_ISO_SENSITIVITY_AUTO:
1345 case V4L2_CID_EXPOSURE_METERING:
1346 case V4L2_CID_SCENE_MODE:
1347 case V4L2_CID_DV_TX_MODE:
1348 case V4L2_CID_DV_TX_RGB_RANGE:
1349 case V4L2_CID_DV_TX_IT_CONTENT_TYPE:
1350 case V4L2_CID_DV_RX_RGB_RANGE:
1351 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
1352 case V4L2_CID_TEST_PATTERN:
1353 case V4L2_CID_DEINTERLACING_MODE:
1354 case V4L2_CID_TUNE_DEEMPHASIS:
1355 case V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL:
1356 case V4L2_CID_MPEG_VIDEO_VP8_PROFILE:
1357 case V4L2_CID_MPEG_VIDEO_VP9_PROFILE:
1358 case V4L2_CID_MPEG_VIDEO_VP9_LEVEL:
1359 case V4L2_CID_DETECT_MD_MODE:
1360 case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE:
1361 case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:
1362 case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE:
1363 case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE:
1364 case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
1365 case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
1366 case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
1367 case V4L2_CID_STATELESS_HEVC_DECODE_MODE:
1368 case V4L2_CID_STATELESS_HEVC_START_CODE:
1369 case V4L2_CID_STATELESS_H264_DECODE_MODE:
1370 case V4L2_CID_STATELESS_H264_START_CODE:
1371 case V4L2_CID_CAMERA_ORIENTATION:
1372 case V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE:
1373 *type = V4L2_CTRL_TYPE_MENU;
1375 case V4L2_CID_LINK_FREQ:
1376 *type = V4L2_CTRL_TYPE_INTEGER_MENU;
1378 case V4L2_CID_RDS_TX_PS_NAME:
1379 case V4L2_CID_RDS_TX_RADIO_TEXT:
1380 case V4L2_CID_RDS_RX_PS_NAME:
1381 case V4L2_CID_RDS_RX_RADIO_TEXT:
1382 *type = V4L2_CTRL_TYPE_STRING;
1384 case V4L2_CID_ISO_SENSITIVITY:
1385 case V4L2_CID_AUTO_EXPOSURE_BIAS:
1386 case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS:
1387 case V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES:
1388 *type = V4L2_CTRL_TYPE_INTEGER_MENU;
1390 case V4L2_CID_USER_CLASS:
1391 case V4L2_CID_CAMERA_CLASS:
1392 case V4L2_CID_CODEC_CLASS:
1393 case V4L2_CID_FM_TX_CLASS:
1394 case V4L2_CID_FLASH_CLASS:
1395 case V4L2_CID_JPEG_CLASS:
1396 case V4L2_CID_IMAGE_SOURCE_CLASS:
1397 case V4L2_CID_IMAGE_PROC_CLASS:
1398 case V4L2_CID_DV_CLASS:
1399 case V4L2_CID_FM_RX_CLASS:
1400 case V4L2_CID_RF_TUNER_CLASS:
1401 case V4L2_CID_DETECT_CLASS:
1402 case V4L2_CID_CODEC_STATELESS_CLASS:
1403 case V4L2_CID_COLORIMETRY_CLASS:
1404 *type = V4L2_CTRL_TYPE_CTRL_CLASS;
1405 /* You can neither read nor write these */
1406 *flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;
1407 *min = *max = *step = *def = 0;
1409 case V4L2_CID_BG_COLOR:
1410 case V4L2_CID_COLORFX_RGB:
1411 *type = V4L2_CTRL_TYPE_INTEGER;
1414 /* Max is calculated as RGB888 that is 2^24 - 1 */
1417 case V4L2_CID_COLORFX_CBCR:
1418 *type = V4L2_CTRL_TYPE_INTEGER;
1423 case V4L2_CID_FLASH_FAULT:
1424 case V4L2_CID_JPEG_ACTIVE_MARKER:
1425 case V4L2_CID_3A_LOCK:
1426 case V4L2_CID_AUTO_FOCUS_STATUS:
1427 case V4L2_CID_DV_TX_HOTPLUG:
1428 case V4L2_CID_DV_TX_RXSENSE:
1429 case V4L2_CID_DV_TX_EDID_PRESENT:
1430 case V4L2_CID_DV_RX_POWER_PRESENT:
1431 *type = V4L2_CTRL_TYPE_BITMASK;
1433 case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE:
1434 case V4L2_CID_MIN_BUFFERS_FOR_OUTPUT:
1435 *type = V4L2_CTRL_TYPE_INTEGER;
1436 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1438 case V4L2_CID_MPEG_VIDEO_DEC_PTS:
1439 *type = V4L2_CTRL_TYPE_INTEGER64;
1440 *flags |= V4L2_CTRL_FLAG_VOLATILE | V4L2_CTRL_FLAG_READ_ONLY;
1442 *max = 0x1ffffffffLL;
1445 case V4L2_CID_MPEG_VIDEO_DEC_FRAME:
1446 *type = V4L2_CTRL_TYPE_INTEGER64;
1447 *flags |= V4L2_CTRL_FLAG_VOLATILE | V4L2_CTRL_FLAG_READ_ONLY;
1449 *max = 0x7fffffffffffffffLL;
1452 case V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR:
1453 *type = V4L2_CTRL_TYPE_INTEGER64;
1455 /* default for 8 bit black, luma is 16, chroma is 128 */
1456 *def = 0x8000800010LL;
1457 *max = 0xffffffffffffLL;
1460 case V4L2_CID_PIXEL_RATE:
1461 *type = V4L2_CTRL_TYPE_INTEGER64;
1462 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1464 case V4L2_CID_DETECT_MD_REGION_GRID:
1465 *type = V4L2_CTRL_TYPE_U8;
1467 case V4L2_CID_DETECT_MD_THRESHOLD_GRID:
1468 *type = V4L2_CTRL_TYPE_U16;
1470 case V4L2_CID_RDS_TX_ALT_FREQS:
1471 *type = V4L2_CTRL_TYPE_U32;
1473 case V4L2_CID_STATELESS_MPEG2_SEQUENCE:
1474 *type = V4L2_CTRL_TYPE_MPEG2_SEQUENCE;
1476 case V4L2_CID_STATELESS_MPEG2_PICTURE:
1477 *type = V4L2_CTRL_TYPE_MPEG2_PICTURE;
1479 case V4L2_CID_STATELESS_MPEG2_QUANTISATION:
1480 *type = V4L2_CTRL_TYPE_MPEG2_QUANTISATION;
1482 case V4L2_CID_STATELESS_FWHT_PARAMS:
1483 *type = V4L2_CTRL_TYPE_FWHT_PARAMS;
1485 case V4L2_CID_STATELESS_H264_SPS:
1486 *type = V4L2_CTRL_TYPE_H264_SPS;
1488 case V4L2_CID_STATELESS_H264_PPS:
1489 *type = V4L2_CTRL_TYPE_H264_PPS;
1491 case V4L2_CID_STATELESS_H264_SCALING_MATRIX:
1492 *type = V4L2_CTRL_TYPE_H264_SCALING_MATRIX;
1494 case V4L2_CID_STATELESS_H264_SLICE_PARAMS:
1495 *type = V4L2_CTRL_TYPE_H264_SLICE_PARAMS;
1497 case V4L2_CID_STATELESS_H264_DECODE_PARAMS:
1498 *type = V4L2_CTRL_TYPE_H264_DECODE_PARAMS;
1500 case V4L2_CID_STATELESS_H264_PRED_WEIGHTS:
1501 *type = V4L2_CTRL_TYPE_H264_PRED_WEIGHTS;
1503 case V4L2_CID_STATELESS_VP8_FRAME:
1504 *type = V4L2_CTRL_TYPE_VP8_FRAME;
1506 case V4L2_CID_STATELESS_HEVC_SPS:
1507 *type = V4L2_CTRL_TYPE_HEVC_SPS;
1509 case V4L2_CID_STATELESS_HEVC_PPS:
1510 *type = V4L2_CTRL_TYPE_HEVC_PPS;
1512 case V4L2_CID_STATELESS_HEVC_SLICE_PARAMS:
1513 *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS;
1514 *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY;
1516 case V4L2_CID_STATELESS_HEVC_SCALING_MATRIX:
1517 *type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX;
1519 case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS:
1520 *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS;
1522 case V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS:
1523 *type = V4L2_CTRL_TYPE_U32;
1524 *flags |= V4L2_CTRL_FLAG_DYNAMIC_ARRAY;
1526 case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR:
1527 *type = V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR;
1529 case V4L2_CID_STATELESS_VP9_FRAME:
1530 *type = V4L2_CTRL_TYPE_VP9_FRAME;
1532 case V4L2_CID_UNIT_CELL_SIZE:
1533 *type = V4L2_CTRL_TYPE_AREA;
1534 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1536 case V4L2_CID_COLORIMETRY_HDR10_CLL_INFO:
1537 *type = V4L2_CTRL_TYPE_HDR10_CLL_INFO;
1539 case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY:
1540 *type = V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY;
1543 *type = V4L2_CTRL_TYPE_INTEGER;
1547 case V4L2_CID_MPEG_AUDIO_ENCODING:
1548 case V4L2_CID_MPEG_AUDIO_MODE:
1549 case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
1550 case V4L2_CID_MPEG_VIDEO_B_FRAMES:
1551 case V4L2_CID_MPEG_STREAM_TYPE:
1552 *flags |= V4L2_CTRL_FLAG_UPDATE;
1554 case V4L2_CID_AUDIO_VOLUME:
1555 case V4L2_CID_AUDIO_BALANCE:
1556 case V4L2_CID_AUDIO_BASS:
1557 case V4L2_CID_AUDIO_TREBLE:
1558 case V4L2_CID_BRIGHTNESS:
1559 case V4L2_CID_CONTRAST:
1560 case V4L2_CID_SATURATION:
1562 case V4L2_CID_RED_BALANCE:
1563 case V4L2_CID_BLUE_BALANCE:
1564 case V4L2_CID_GAMMA:
1565 case V4L2_CID_SHARPNESS:
1566 case V4L2_CID_CHROMA_GAIN:
1567 case V4L2_CID_RDS_TX_DEVIATION:
1568 case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME:
1569 case V4L2_CID_AUDIO_LIMITER_DEVIATION:
1570 case V4L2_CID_AUDIO_COMPRESSION_GAIN:
1571 case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD:
1572 case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME:
1573 case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME:
1574 case V4L2_CID_PILOT_TONE_DEVIATION:
1575 case V4L2_CID_PILOT_TONE_FREQUENCY:
1576 case V4L2_CID_TUNE_POWER_LEVEL:
1577 case V4L2_CID_TUNE_ANTENNA_CAPACITOR:
1578 case V4L2_CID_RF_TUNER_RF_GAIN:
1579 case V4L2_CID_RF_TUNER_LNA_GAIN:
1580 case V4L2_CID_RF_TUNER_MIXER_GAIN:
1581 case V4L2_CID_RF_TUNER_IF_GAIN:
1582 case V4L2_CID_RF_TUNER_BANDWIDTH:
1583 case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD:
1584 *flags |= V4L2_CTRL_FLAG_SLIDER;
1586 case V4L2_CID_PAN_RELATIVE:
1587 case V4L2_CID_TILT_RELATIVE:
1588 case V4L2_CID_FOCUS_RELATIVE:
1589 case V4L2_CID_IRIS_RELATIVE:
1590 case V4L2_CID_ZOOM_RELATIVE:
1591 *flags |= V4L2_CTRL_FLAG_WRITE_ONLY |
1592 V4L2_CTRL_FLAG_EXECUTE_ON_WRITE;
1594 case V4L2_CID_FLASH_STROBE_STATUS:
1595 case V4L2_CID_AUTO_FOCUS_STATUS:
1596 case V4L2_CID_FLASH_READY:
1597 case V4L2_CID_DV_TX_HOTPLUG:
1598 case V4L2_CID_DV_TX_RXSENSE:
1599 case V4L2_CID_DV_TX_EDID_PRESENT:
1600 case V4L2_CID_DV_RX_POWER_PRESENT:
1601 case V4L2_CID_DV_RX_IT_CONTENT_TYPE:
1602 case V4L2_CID_RDS_RX_PTY:
1603 case V4L2_CID_RDS_RX_PS_NAME:
1604 case V4L2_CID_RDS_RX_RADIO_TEXT:
1605 case V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT:
1606 case V4L2_CID_RDS_RX_TRAFFIC_PROGRAM:
1607 case V4L2_CID_RDS_RX_MUSIC_SPEECH:
1608 case V4L2_CID_CAMERA_ORIENTATION:
1609 case V4L2_CID_CAMERA_SENSOR_ROTATION:
1610 *flags |= V4L2_CTRL_FLAG_READ_ONLY;
1612 case V4L2_CID_RF_TUNER_PLL_LOCK:
1613 *flags |= V4L2_CTRL_FLAG_VOLATILE;
1617 EXPORT_SYMBOL(v4l2_ctrl_fill);