@@ -17,17 +17,61 @@ LOG_MODULE_REGISTER(video_ctrls, CONFIG_VIDEO_LOG_LEVEL);
17
17
18
18
static inline const char * const * video_get_std_menu_ctrl (uint32_t id )
19
19
{
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
+ };
25
52
26
53
switch (id ) {
54
+ /* User control menus */
27
55
case VIDEO_CID_POWER_LINE_FREQUENCY :
28
- return camera_power_line_frequency ;
56
+ return power_line_frequency ;
57
+
58
+ /* Camera control menus */
29
59
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 ;
31
75
default :
32
76
return NULL ;
33
77
}
@@ -69,12 +113,35 @@ static inline void set_type_flag(uint32_t id, enum video_ctrl_type *type, uint32
69
113
* flags = 0 ;
70
114
71
115
switch (id ) {
116
+ case VIDEO_CID_AUTO_WHITE_BALANCE :
117
+ case VIDEO_CID_AUTOGAIN :
72
118
case VIDEO_CID_HFLIP :
73
119
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 :
74
131
* type = VIDEO_CTRL_TYPE_BOOLEAN ;
75
132
break ;
133
+
76
134
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 :
77
142
case VIDEO_CID_TEST_PATTERN :
143
+ case VIDEO_CID_CAMERA_ORIENTATION :
144
+ case VIDEO_CID_HDR_SENSOR_MODE :
78
145
* type = VIDEO_CTRL_TYPE_MENU ;
79
146
break ;
80
147
case VIDEO_CID_PIXEL_RATE :
@@ -388,6 +455,16 @@ static inline const char *video_get_ctrl_name(uint32_t id)
388
455
return "Saturation" ;
389
456
case VIDEO_CID_HUE :
390
457
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" ;
391
468
case VIDEO_CID_EXPOSURE :
392
469
return "Exposure" ;
393
470
case VIDEO_CID_AUTOGAIN :
@@ -402,10 +479,114 @@ static inline const char *video_get_ctrl_name(uint32_t id)
402
479
return "Vertical Flip" ;
403
480
case VIDEO_CID_POWER_LINE_FREQUENCY :
404
481
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" ;
405
516
406
517
/* 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" ;
407
542
case VIDEO_CID_ZOOM_ABSOLUTE :
408
543
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" ;
409
590
410
591
/* JPEG encoder controls */
411
592
case VIDEO_CID_JPEG_COMPRESSION_QUALITY :
0 commit comments