@@ -17,17 +17,52 @@ 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 };
25-
2620 switch (id ) {
21+ /* User control menus */
2722 case VIDEO_CID_POWER_LINE_FREQUENCY :
28- return camera_power_line_frequency ;
23+ return (char const * const []){
24+ "Disabled" , "50 Hz" , "60 Hz" , "Auto" , NULL
25+ };
26+
27+ /* Camera control menus */
2928 case VIDEO_CID_EXPOSURE_AUTO :
30- return camera_exposure_auto ;
29+ return (char const * const []){
30+ "Auto Mode" , "Manual Mode" , "Shutter Priority Mode" ,
31+ "Aperture Priority Mode" , NULL
32+ };
33+ case VIDEO_CID_AUTO_FOCUS_RANGE :
34+ return (char const * const []){
35+ "Auto" , "Normal" , "Macro" , "Infinity" , NULL
36+ };
37+ case VIDEO_CID_COLORFX :
38+ return (char const * const []){
39+ "None" , "Black & White" , "Sepia" , "Negative" , "Emboss" , "Sketch" ,
40+ "Sky Blue" , "Grass Green" , "Skin Whiten" , "Vivid" , "Aqua" , "Art Freeze" ,
41+ "Silhouette" , "Solarization" , "Antique" , "Set Cb/Cr" , NULL
42+ };
43+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
44+ return (char const * const []){
45+ "Manual" , "Auto" , "Incandescent" , "Fluorescent" , "Fluorescent H" , "Horizon" ,
46+ "Daylight" , "Flash" , "Cloudy" , "Shade" , "Greyworld" , NULL
47+ };
48+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
49+ return (char const * const []){
50+ "Manual" , "Auto" , NULL
51+ };
52+ case VIDEO_CID_EXPOSURE_METERING :
53+ return (char const * const []){
54+ "Average" , "Center Weighted" , "Spot" , "Matrix" , NULL
55+ };
56+ case VIDEO_CID_SCENE_MODE :
57+ return (char const * const []){
58+ "None" , "Backlight" , "Beach/Snow" , "Candle Light" , "Dusk/Dawn" ,
59+ "Fall Colors" , "Fireworks" , "Landscape" , "Night" , "Party/Indoor" ,
60+ "Portrait" , "Sports" , "Sunset" , "Text" , NULL
61+ };
62+ case VIDEO_CID_CAMERA_ORIENTATION :
63+ return (char const * const []){
64+ "Front" , "Back" , "External" , NULL
65+ };
3166 default :
3267 return NULL ;
3368 }
@@ -69,12 +104,35 @@ static inline void set_type_flag(uint32_t id, enum video_ctrl_type *type, uint32
69104 * flags = 0 ;
70105
71106 switch (id ) {
107+ case VIDEO_CID_AUTO_WHITE_BALANCE :
108+ case VIDEO_CID_AUTOGAIN :
72109 case VIDEO_CID_HFLIP :
73110 case VIDEO_CID_VFLIP :
111+ case VIDEO_CID_HUE_AUTO :
112+ case VIDEO_CID_CHROMA_AGC :
113+ case VIDEO_CID_COLOR_KILLER :
114+ case VIDEO_CID_AUTOBRIGHTNESS :
115+ case VIDEO_CID_ILLUMINATORS_1 :
116+ case VIDEO_CID_ILLUMINATORS_2 :
117+ case VIDEO_CID_EXPOSURE_AUTO_PRIORITY :
118+ case VIDEO_CID_FOCUS_AUTO :
119+ case VIDEO_CID_PRIVACY :
120+ case VIDEO_CID_WIDE_DYNAMIC_RANGE :
121+ case VIDEO_CID_IMAGE_STABILIZATION :
74122 * type = VIDEO_CTRL_TYPE_BOOLEAN ;
75123 break ;
124+
76125 case VIDEO_CID_POWER_LINE_FREQUENCY :
126+ case VIDEO_CID_EXPOSURE_AUTO :
127+ case VIDEO_CID_AUTO_FOCUS_RANGE :
128+ case VIDEO_CID_COLORFX :
129+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
130+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
131+ case VIDEO_CID_EXPOSURE_METERING :
132+ case VIDEO_CID_SCENE_MODE :
77133 case VIDEO_CID_TEST_PATTERN :
134+ case VIDEO_CID_CAMERA_ORIENTATION :
135+ case VIDEO_CID_HDR_SENSOR_MODE :
78136 * type = VIDEO_CTRL_TYPE_MENU ;
79137 break ;
80138 case VIDEO_CID_PIXEL_RATE :
@@ -388,6 +446,16 @@ static inline const char *video_get_ctrl_name(uint32_t id)
388446 return "Saturation" ;
389447 case VIDEO_CID_HUE :
390448 return "Hue" ;
449+ case VIDEO_CID_AUTO_WHITE_BALANCE :
450+ return "White Balance, Automatic" ;
451+ case VIDEO_CID_DO_WHITE_BALANCE :
452+ return "Do White Balance" ;
453+ case VIDEO_CID_RED_BALANCE :
454+ return "Red Balance" ;
455+ case VIDEO_CID_BLUE_BALANCE :
456+ return "Blue Balance" ;
457+ case VIDEO_CID_GAMMA :
458+ return "Gamma" ;
391459 case VIDEO_CID_EXPOSURE :
392460 return "Exposure" ;
393461 case VIDEO_CID_AUTOGAIN :
@@ -402,10 +470,114 @@ static inline const char *video_get_ctrl_name(uint32_t id)
402470 return "Vertical Flip" ;
403471 case VIDEO_CID_POWER_LINE_FREQUENCY :
404472 return "Power Line Frequency" ;
473+ case VIDEO_CID_HUE_AUTO :
474+ return "Hue, Automatic" ;
475+ case VIDEO_CID_WHITE_BALANCE_TEMPERATURE :
476+ return "White Balance Temperature" ;
477+ case VIDEO_CID_SHARPNESS :
478+ return "Sharpness" ;
479+ case VIDEO_CID_BACKLIGHT_COMPENSATION :
480+ return "Backlight Compensation" ;
481+ case VIDEO_CID_CHROMA_AGC :
482+ return "Chroma AGC" ;
483+ case VIDEO_CID_COLOR_KILLER :
484+ return "Color Killer" ;
485+ case VIDEO_CID_COLORFX :
486+ return "Color Effects" ;
487+ case VIDEO_CID_AUTOBRIGHTNESS :
488+ return "Brightness, Automatic" ;
489+ case VIDEO_CID_BAND_STOP_FILTER :
490+ return "Band-Stop Filter" ;
491+ case VIDEO_CID_ROTATE :
492+ return "Rotate" ;
493+ case VIDEO_CID_BG_COLOR :
494+ return "Background Color" ;
495+ case VIDEO_CID_CHROMA_GAIN :
496+ return "Chroma Gain" ;
497+ case VIDEO_CID_ILLUMINATORS_1 :
498+ return "Illuminator 1" ;
499+ case VIDEO_CID_ILLUMINATORS_2 :
500+ return "Illuminator 2" ;
501+ case VIDEO_CID_ALPHA_COMPONENT :
502+ return "Alpha Component" ;
503+ case VIDEO_CID_COLORFX_CBCR :
504+ return "Color Effects, CbCr" ;
505+ case VIDEO_CID_COLORFX_RGB :
506+ return "Color Effects, RGB" ;
405507
406508 /* Camera controls */
509+ case VIDEO_CID_EXPOSURE_AUTO :
510+ return "Auto Exposure" ;
511+ case VIDEO_CID_EXPOSURE_ABSOLUTE :
512+ return "Exposure Time, Absolute" ;
513+ case VIDEO_CID_EXPOSURE_AUTO_PRIORITY :
514+ return "Exposure, Dynamic Framerate" ;
515+ case VIDEO_CID_PAN_RELATIVE :
516+ return "Pan, Relative" ;
517+ case VIDEO_CID_TILT_RELATIVE :
518+ return "Tilt, Relative" ;
519+ case VIDEO_CID_PAN_RESET :
520+ return "Pan, Reset" ;
521+ case VIDEO_CID_TILT_RESET :
522+ return "Tilt, Reset" ;
523+ case VIDEO_CID_PAN_ABSOLUTE :
524+ return "Pan, Absolute" ;
525+ case VIDEO_CID_TILT_ABSOLUTE :
526+ return "Tilt, Absolute" ;
527+ case VIDEO_CID_FOCUS_ABSOLUTE :
528+ return "Focus, Absolute" ;
529+ case VIDEO_CID_FOCUS_RELATIVE :
530+ return "Focus, Relative" ;
531+ case VIDEO_CID_FOCUS_AUTO :
532+ return "Focus, Automatic Continuous" ;
407533 case VIDEO_CID_ZOOM_ABSOLUTE :
408534 return "Zoom, Absolute" ;
535+ case VIDEO_CID_ZOOM_RELATIVE :
536+ return "Zoom, Relative" ;
537+ case VIDEO_CID_ZOOM_CONTINUOUS :
538+ return "Zoom, Continuous" ;
539+ case VIDEO_CID_PRIVACY :
540+ return "Privacy" ;
541+ case VIDEO_CID_IRIS_ABSOLUTE :
542+ return "Iris, Absolute" ;
543+ case VIDEO_CID_IRIS_RELATIVE :
544+ return "Iris, Relative" ;
545+ case VIDEO_CID_AUTO_EXPOSURE_BIAS :
546+ return "Auto Exposure, Bias" ;
547+ case VIDEO_CID_AUTO_N_PRESET_WHITE_BALANCE :
548+ return "White Balance, Auto & Preset" ;
549+ case VIDEO_CID_WIDE_DYNAMIC_RANGE :
550+ return "Wide Dynamic Range" ;
551+ case VIDEO_CID_IMAGE_STABILIZATION :
552+ return "Image Stabilization" ;
553+ case VIDEO_CID_ISO_SENSITIVITY :
554+ return "ISO Sensitivity" ;
555+ case VIDEO_CID_ISO_SENSITIVITY_AUTO :
556+ return "ISO Sensitivity, Auto" ;
557+ case VIDEO_CID_EXPOSURE_METERING :
558+ return "Exposure, Metering Mode" ;
559+ case VIDEO_CID_SCENE_MODE :
560+ return "Scene Mode" ;
561+ case VIDEO_CID_3A_LOCK :
562+ return "3A Lock" ;
563+ case VIDEO_CID_AUTO_FOCUS_START :
564+ return "Auto Focus, Start" ;
565+ case VIDEO_CID_AUTO_FOCUS_STOP :
566+ return "Auto Focus, Stop" ;
567+ case VIDEO_CID_AUTO_FOCUS_STATUS :
568+ return "Auto Focus, Status" ;
569+ case VIDEO_CID_AUTO_FOCUS_RANGE :
570+ return "Auto Focus, Range" ;
571+ case VIDEO_CID_PAN_SPEED :
572+ return "Pan, Speed" ;
573+ case VIDEO_CID_TILT_SPEED :
574+ return "Tilt, Speed" ;
575+ case VIDEO_CID_CAMERA_ORIENTATION :
576+ return "Camera Orientation" ;
577+ case VIDEO_CID_CAMERA_SENSOR_ROTATION :
578+ return "Camera Sensor Rotation" ;
579+ case VIDEO_CID_HDR_SENSOR_MODE :
580+ return "HDR Sensor Mode" ;
409581
410582 /* JPEG encoder controls */
411583 case VIDEO_CID_JPEG_COMPRESSION_QUALITY :
0 commit comments