@@ -17,17 +17,61 @@ LOG_MODULE_REGISTER(video_ctrls, CONFIG_VIDEO_LOG_LEVEL);
1717
1818static inline const char * const * video_get_std_menu_ctrl (uint32_t id )
1919{
20- static const char * const camera_power_line_frequency [] = {"Disabled" , "50 Hz" , "60 Hz" ,
21- "Auto" , NULL };
22- static const char * const camera_exposure_auto [] = {"Auto Mode" , "Manual Mode" ,
23- "Shutter Priority Mode" ,
24- "Aperture Priority Mode" , NULL };
20+ static char const * const power_line_frequency [] = {
21+ "Disabled" , "50 Hz" , "60 Hz" , "Auto" , NULL ,
22+ };
23+ static char const * const exposure_auto [] = {
24+ "Auto Mode" , "Manual Mode" , "Shutter Priority Mode" , "Aperture Priority Mode" , NULL ,
25+ };
26+ static char const * const auto_focus_range [] = {
27+ "Auto" , "Normal" , "Macro" , "Infinity" , NULL ,
28+ };
29+ static char const * const colorfx [] = {
30+ "None" , "Black & White" , "Sepia" , "Negative" , "Emboss" , "Sketch" , "Sky Blue" ,
31+ "Grass Green" , "Skin Whiten" , "Vivid" , "Aqua" , "Art Freeze" , "Silhouette" ,
32+ "Solarization" , "Antique" , "Set Cb/Cr" , NULL ,
33+ };
34+ static char const * const auto_n_preset_white_balance [] = {
35+ "Manual" , "Auto" , "Incandescent" , "Fluorescent" , "Fluorescent H" , "Horizon" ,
36+ "Daylight" , "Flash" , "Cloudy" , "Shade" , "Greyworld" , NULL ,
37+ };
38+ static char const * const iso_sensitivity_auto [] = {
39+ "Manual" , "Auto" , NULL ,
40+ };
41+ static char const * const exposure_metering [] = {
42+ "Average" , "Center Weighted" , "Spot" , "Matrix" , NULL ,
43+ };
44+ static char const * const scene_mode [] = {
45+ "None" , "Backlight" , "Beach/Snow" , "Candle Light" , "Dusk/Dawn" , "Fall Colors" ,
46+ "Fireworks" , "Landscape" , "Night" , "Party/Indoor" , "Portrait" , "Sports" , "Sunset" ,
47+ "Text" , NULL ,
48+ };
49+ static char const * const camera_orientation [] = {
50+ "Front" , "Back" , "External" , NULL ,
51+ };
2552
2653 switch (id ) {
54+ /* User control menus */
2755 case VIDEO_CID_POWER_LINE_FREQUENCY :
28- return camera_power_line_frequency ;
56+ return power_line_frequency ;
57+
58+ /* Camera control menus */
2959 case VIDEO_CID_EXPOSURE_AUTO :
30- return camera_exposure_auto ;
60+ return exposure_auto ;
61+ case VIDEO_CID_AUTO_FOCUS_RANGE :
62+ return auto_focus_range ;
63+ case VIDEO_CID_COLORFX :
64+ return colorfx ;
65+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
66+ return auto_n_preset_white_balance ;
67+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
68+ return iso_sensitivity_auto ;
69+ case VIDEO_CID_EXPOSURE_METERING :
70+ return exposure_metering ;
71+ case VIDEO_CID_SCENE_MODE :
72+ return scene_mode ;
73+ case VIDEO_CID_CAMERA_ORIENTATION :
74+ return camera_orientation ;
3175 default :
3276 return NULL ;
3377 }
@@ -69,12 +113,35 @@ static inline void set_type_flag(uint32_t id, enum video_ctrl_type *type, uint32
69113 * flags = 0 ;
70114
71115 switch (id ) {
116+ case VIDEO_CID_AUTO_WHITE_BALANCE :
117+ case VIDEO_CID_AUTOGAIN :
72118 case VIDEO_CID_HFLIP :
73119 case VIDEO_CID_VFLIP :
120+ case VIDEO_CID_HUE_AUTO :
121+ case VIDEO_CID_CHROMA_AGC :
122+ case VIDEO_CID_COLOR_KILLER :
123+ case VIDEO_CID_AUTOBRIGHTNESS :
124+ case VIDEO_CID_ILLUMINATORS_1 :
125+ case VIDEO_CID_ILLUMINATORS_2 :
126+ case VIDEO_CID_EXPOSURE_AUTO_PRIORITY :
127+ case VIDEO_CID_FOCUS_AUTO :
128+ case VIDEO_CID_PRIVACY :
129+ case VIDEO_CID_WIDE_DYNAMIC_RANGE :
130+ case VIDEO_CID_IMAGE_STABILIZATION :
74131 * type = VIDEO_CTRL_TYPE_BOOLEAN ;
75132 break ;
133+
76134 case VIDEO_CID_POWER_LINE_FREQUENCY :
135+ case VIDEO_CID_EXPOSURE_AUTO :
136+ case VIDEO_CID_AUTO_FOCUS_RANGE :
137+ case VIDEO_CID_COLORFX :
138+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
139+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
140+ case VIDEO_CID_EXPOSURE_METERING :
141+ case VIDEO_CID_SCENE_MODE :
77142 case VIDEO_CID_TEST_PATTERN :
143+ case VIDEO_CID_CAMERA_ORIENTATION :
144+ case VIDEO_CID_HDR_SENSOR_MODE :
78145 * type = VIDEO_CTRL_TYPE_MENU ;
79146 break ;
80147 case VIDEO_CID_PIXEL_RATE :
@@ -388,6 +455,16 @@ static inline const char *video_get_ctrl_name(uint32_t id)
388455 return "Saturation" ;
389456 case VIDEO_CID_HUE :
390457 return "Hue" ;
458+ case VIDEO_CID_AUTO_WHITE_BALANCE :
459+ return "White Balance, Automatic" ;
460+ case VIDEO_CID_DO_WHITE_BALANCE :
461+ return "Do White Balance" ;
462+ case VIDEO_CID_RED_BALANCE :
463+ return "Red Balance" ;
464+ case VIDEO_CID_BLUE_BALANCE :
465+ return "Blue Balance" ;
466+ case VIDEO_CID_GAMMA :
467+ return "Gamma" ;
391468 case VIDEO_CID_EXPOSURE :
392469 return "Exposure" ;
393470 case VIDEO_CID_AUTOGAIN :
@@ -402,10 +479,114 @@ static inline const char *video_get_ctrl_name(uint32_t id)
402479 return "Vertical Flip" ;
403480 case VIDEO_CID_POWER_LINE_FREQUENCY :
404481 return "Power Line Frequency" ;
482+ case VIDEO_CID_HUE_AUTO :
483+ return "Hue, Automatic" ;
484+ case VIDEO_CID_WHITE_BALANCE_TEMPERATURE :
485+ return "White Balance Temperature" ;
486+ case VIDEO_CID_SHARPNESS :
487+ return "Sharpness" ;
488+ case VIDEO_CID_BACKLIGHT_COMPENSATION :
489+ return "Backlight Compensation" ;
490+ case VIDEO_CID_CHROMA_AGC :
491+ return "Chroma AGC" ;
492+ case VIDEO_CID_COLOR_KILLER :
493+ return "Color Killer" ;
494+ case VIDEO_CID_COLORFX :
495+ return "Color Effects" ;
496+ case VIDEO_CID_AUTOBRIGHTNESS :
497+ return "Brightness, Automatic" ;
498+ case VIDEO_CID_BAND_STOP_FILTER :
499+ return "Band-Stop Filter" ;
500+ case VIDEO_CID_ROTATE :
501+ return "Rotate" ;
502+ case VIDEO_CID_BG_COLOR :
503+ return "Background Color" ;
504+ case VIDEO_CID_CHROMA_GAIN :
505+ return "Chroma Gain" ;
506+ case VIDEO_CID_ILLUMINATORS_1 :
507+ return "Illuminator 1" ;
508+ case VIDEO_CID_ILLUMINATORS_2 :
509+ return "Illuminator 2" ;
510+ case VIDEO_CID_ALPHA_COMPONENT :
511+ return "Alpha Component" ;
512+ case VIDEO_CID_COLORFX_CBCR :
513+ return "Color Effects, CbCr" ;
514+ case VIDEO_CID_COLORFX_RGB :
515+ return "Color Effects, RGB" ;
405516
406517 /* Camera controls */
518+ case VIDEO_CID_EXPOSURE_AUTO :
519+ return "Auto Exposure" ;
520+ case VIDEO_CID_EXPOSURE_ABSOLUTE :
521+ return "Exposure Time, Absolute" ;
522+ case VIDEO_CID_EXPOSURE_AUTO_PRIORITY :
523+ return "Exposure, Dynamic Framerate" ;
524+ case VIDEO_CID_PAN_RELATIVE :
525+ return "Pan, Relative" ;
526+ case VIDEO_CID_TILT_RELATIVE :
527+ return "Tilt, Relative" ;
528+ case VIDEO_CID_PAN_RESET :
529+ return "Pan, Reset" ;
530+ case VIDEO_CID_TILT_RESET :
531+ return "Tilt, Reset" ;
532+ case VIDEO_CID_PAN_ABSOLUTE :
533+ return "Pan, Absolute" ;
534+ case VIDEO_CID_TILT_ABSOLUTE :
535+ return "Tilt, Absolute" ;
536+ case VIDEO_CID_FOCUS_ABSOLUTE :
537+ return "Focus, Absolute" ;
538+ case VIDEO_CID_FOCUS_RELATIVE :
539+ return "Focus, Relative" ;
540+ case VIDEO_CID_FOCUS_AUTO :
541+ return "Focus, Automatic Continuous" ;
407542 case VIDEO_CID_ZOOM_ABSOLUTE :
408543 return "Zoom, Absolute" ;
544+ case VIDEO_CID_ZOOM_RELATIVE :
545+ return "Zoom, Relative" ;
546+ case VIDEO_CID_ZOOM_CONTINUOUS :
547+ return "Zoom, Continuous" ;
548+ case VIDEO_CID_PRIVACY :
549+ return "Privacy" ;
550+ case VIDEO_CID_IRIS_ABSOLUTE :
551+ return "Iris, Absolute" ;
552+ case VIDEO_CID_IRIS_RELATIVE :
553+ return "Iris, Relative" ;
554+ case VIDEO_CID_AUTO_EXPOSURE_BIAS :
555+ return "Auto Exposure, Bias" ;
556+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
557+ return "White Balance, Auto & Preset" ;
558+ case VIDEO_CID_WIDE_DYNAMIC_RANGE :
559+ return "Wide Dynamic Range" ;
560+ case VIDEO_CID_IMAGE_STABILIZATION :
561+ return "Image Stabilization" ;
562+ case VIDEO_CID_ISO_SENSITIVITY :
563+ return "ISO Sensitivity" ;
564+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
565+ return "ISO Sensitivity, Auto" ;
566+ case VIDEO_CID_EXPOSURE_METERING :
567+ return "Exposure, Metering Mode" ;
568+ case VIDEO_CID_SCENE_MODE :
569+ return "Scene Mode" ;
570+ case VIDEO_CID_3A_LOCK :
571+ return "3A Lock" ;
572+ case VIDEO_CID_AUTO_FOCUS_START :
573+ return "Auto Focus, Start" ;
574+ case VIDEO_CID_AUTO_FOCUS_STOP :
575+ return "Auto Focus, Stop" ;
576+ case VIDEO_CID_AUTO_FOCUS_STATUS :
577+ return "Auto Focus, Status" ;
578+ case VIDEO_CID_AUTO_FOCUS_RANGE :
579+ return "Auto Focus, Range" ;
580+ case VIDEO_CID_PAN_SPEED :
581+ return "Pan, Speed" ;
582+ case VIDEO_CID_TILT_SPEED :
583+ return "Tilt, Speed" ;
584+ case VIDEO_CID_CAMERA_ORIENTATION :
585+ return "Camera Orientation" ;
586+ case VIDEO_CID_CAMERA_SENSOR_ROTATION :
587+ return "Camera Sensor Rotation" ;
588+ case VIDEO_CID_HDR_SENSOR_MODE :
589+ return "HDR Sensor Mode" ;
409590
410591 /* JPEG encoder controls */
411592 case VIDEO_CID_JPEG_COMPRESSION_QUALITY :
0 commit comments