Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
video-controls.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 Linaro Limited.
3 * Copyright (c) 2024 tinyVision.ai Inc.
4 * Copyright 2025 NXP
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8#ifndef ZEPHYR_INCLUDE_VIDEO_CONTROLS_H_
9#define ZEPHYR_INCLUDE_VIDEO_CONTROLS_H_
10
16
32
33#include <stdint.h>
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
43#define VIDEO_CID_BASE 0x00980900
44
46#define VIDEO_CID_BRIGHTNESS (VIDEO_CID_BASE + 0)
47
49#define VIDEO_CID_CONTRAST (VIDEO_CID_BASE + 1)
50
52#define VIDEO_CID_SATURATION (VIDEO_CID_BASE + 2)
53
55#define VIDEO_CID_HUE (VIDEO_CID_BASE + 3)
56
58#define VIDEO_CID_AUTO_WHITE_BALANCE (VIDEO_CID_BASE + 12)
59
61#define VIDEO_CID_RED_BALANCE (VIDEO_CID_BASE + 14)
62
64#define VIDEO_CID_BLUE_BALANCE (VIDEO_CID_BASE + 15)
65
67#define VIDEO_CID_GAMMA (VIDEO_CID_BASE + 16)
68
70#define VIDEO_CID_EXPOSURE (VIDEO_CID_BASE + 17)
71
73#define VIDEO_CID_AUTOGAIN (VIDEO_CID_BASE + 18)
74
79#define VIDEO_CID_GAIN (VIDEO_CID_BASE + 19)
80
82#define VIDEO_CID_HFLIP (VIDEO_CID_BASE + 20)
83
85#define VIDEO_CID_VFLIP (VIDEO_CID_BASE + 21)
86
90#define VIDEO_CID_POWER_LINE_FREQUENCY (VIDEO_CID_BASE + 24)
91
101
106#define VIDEO_CID_HUE_AUTO (VIDEO_CID_BASE + 25)
107
111#define VIDEO_CID_WHITE_BALANCE_TEMPERATURE (VIDEO_CID_BASE + 26)
112
116#define VIDEO_CID_SHARPNESS (VIDEO_CID_BASE + 27)
117
121#define VIDEO_CID_BACKLIGHT_COMPENSATION (VIDEO_CID_BASE + 28)
122
124#define VIDEO_CID_COLORFX (VIDEO_CID_BASE + 31)
125
146
148#define VIDEO_CID_AUTOBRIGHTNESS (VIDEO_CID_BASE + 32)
149
153#define VIDEO_CID_BAND_STOP_FILTER (VIDEO_CID_BASE + 33)
154
160#define VIDEO_CID_ROTATE (VIDEO_CID_BASE + 34)
161
166#define VIDEO_CID_ALPHA_COMPONENT (VIDEO_CID_BASE + 41)
167
169#define VIDEO_CID_LASTP1 (VIDEO_CID_BASE + 44)
170
174
179#define VIDEO_CID_CODEC_CLASS_BASE 0x00990900
180
184
189#define VIDEO_CID_CAMERA_CLASS_BASE 0x009a0900
190
195#define VIDEO_CID_EXPOSURE_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 1)
196
206
212#define VIDEO_CID_EXPOSURE_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 2)
213
218#define VIDEO_CID_EXPOSURE_AUTO_PRIORITY (VIDEO_CID_CAMERA_CLASS_BASE + 3)
219
224#define VIDEO_CID_PAN_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 4)
225
230#define VIDEO_CID_TILT_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 5)
231
237#define VIDEO_CID_PAN_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 8)
238
243#define VIDEO_CID_TILT_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 9)
244
249#define VIDEO_CID_FOCUS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 10)
250
255#define VIDEO_CID_FOCUS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 11)
256
261#define VIDEO_CID_FOCUS_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 12)
262
266#define VIDEO_CID_ZOOM_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 13)
267
272#define VIDEO_CID_ZOOM_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 14)
273
281#define VIDEO_CID_ZOOM_CONTINUOUS (VIDEO_CID_CAMERA_CLASS_BASE + 15)
282
286#define VIDEO_CID_IRIS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 17)
287
292#define VIDEO_CID_IRIS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 18)
293
307#define VIDEO_CID_AUTO_EXPOSURE_BIAS (VIDEO_CID_CAMERA_CLASS_BASE + 19)
308
315#define VIDEO_CID_WIDE_DYNAMIC_RANGE (VIDEO_CID_CAMERA_CLASS_BASE + 21)
316
322#define VIDEO_CID_PAN_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 32)
323
328#define VIDEO_CID_TILT_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 33)
329
338#define VIDEO_CID_CAMERA_ORIENTATION (VIDEO_CID_CAMERA_CLASS_BASE + 34)
339
351
357#define VIDEO_CID_CAMERA_SENSOR_ROTATION (VIDEO_CID_CAMERA_CLASS_BASE + 35)
358
362
367#define VIDEO_CID_FLASH_CLASS_BASE 0x009c0900
368
372
377#define VIDEO_CID_JPEG_CLASS_BASE 0x009d0900
378
380#define VIDEO_CID_JPEG_COMPRESSION_QUALITY (VIDEO_CID_JPEG_CLASS_BASE + 3)
381
385
390#define VIDEO_CID_IMAGE_SOURCE_CLASS_BASE 0x009e0900
391
399#define VIDEO_CID_ANALOGUE_GAIN (VIDEO_CID_IMAGE_SOURCE_CLASS_BASE + 3)
400
404
409#define VIDEO_CID_IMAGE_PROC_CLASS_BASE 0x009f0900
410
412#define VIDEO_CID_LINK_FREQ (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 1)
413
415#define VIDEO_CID_PIXEL_RATE (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 2)
416
418#define VIDEO_CID_TEST_PATTERN (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 3)
419
429#define VIDEO_CID_DIGITAL_GAIN (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 5)
430
434
439#define VIDEO_CID_PRIVATE_BASE 0x08000000
440
444
449#define VIDEO_CTRL_FLAG_NEXT_CTRL 0x80000000
450
454
459
471 union {
474 };
475};
476
485 union {
488 };
490 union {
493 };
495 union {
498 };
502 union {
505 };
506};
507
516 const struct device *dev;
522 const char *name;
528 union {
529 const char *const *menu;
531 };
532};
533
537
538#ifdef __cplusplus
539}
540#endif
541
545
546#endif /* ZEPHYR_INCLUDE_VIDEO_H_ */
video_exposure_type
Video exposure type.
Definition video-controls.h:200
video_camera_orientation
Video camera orientation.
Definition video-controls.h:343
video_colorfx
Video color effects.
Definition video-controls.h:129
video_power_line_frequency
Video power line frequency.
Definition video-controls.h:95
@ VIDEO_EXPOSURE_MANUAL
Manual exposure.
Definition video-controls.h:202
@ VIDEO_EXPOSURE_APERTURE_PRIORITY
Aperture priority.
Definition video-controls.h:204
@ VIDEO_EXPOSURE_AUTO
Automatic exposure.
Definition video-controls.h:201
@ VIDEO_EXPOSURE_SHUTTER_PRIORITY
Shutter priority.
Definition video-controls.h:203
@ VIDEO_CAMERA_ORIENTATION_FRONT
Camera installed on the user-facing side of a phone/tablet/laptop device.
Definition video-controls.h:345
@ VIDEO_CAMERA_ORIENTATION_BACK
Camera installed on the opposite side of the user.
Definition video-controls.h:347
@ VIDEO_CAMERA_ORIENTATION_EXTERNAL
Camera sensors not directly attached to the device or that can move freely.
Definition video-controls.h:349
@ VIDEO_COLORFX_ART_FREEZE
Art freeze/stylized effect.
Definition video-controls.h:141
@ VIDEO_COLORFX_SKY_BLUE
Sky blue tint effect.
Definition video-controls.h:136
@ VIDEO_COLORFX_SILHOUETTE
Silhouette effect.
Definition video-controls.h:142
@ VIDEO_COLORFX_SOLARIZATION
Solarization effect.
Definition video-controls.h:143
@ VIDEO_COLORFX_SKIN_WHITEN
Skin whitening effect.
Definition video-controls.h:138
@ VIDEO_COLORFX_SEPIA
Sepia tone effect.
Definition video-controls.h:132
@ VIDEO_COLORFX_BW
Black and white effect.
Definition video-controls.h:131
@ VIDEO_COLORFX_VIVID
Vivid/bright color effect.
Definition video-controls.h:139
@ VIDEO_COLORFX_ANTIQUE
Antique/vintage effect.
Definition video-controls.h:144
@ VIDEO_COLORFX_SKETCH
Sketch/drawing effect.
Definition video-controls.h:135
@ VIDEO_COLORFX_NONE
No color effect.
Definition video-controls.h:130
@ VIDEO_COLORFX_EMBOSS
Emboss effect.
Definition video-controls.h:134
@ VIDEO_COLORFX_GRASS_GREEN
Grass green tint effect.
Definition video-controls.h:137
@ VIDEO_COLORFX_NEGATIVE
Negative image effect.
Definition video-controls.h:133
@ VIDEO_COLORFX_AQUA
Aqua (blue-green) effect.
Definition video-controls.h:140
@ VIDEO_CID_POWER_LINE_FREQUENCY_DISABLED
Power line frequency disabled.
Definition video-controls.h:96
@ VIDEO_CID_POWER_LINE_FREQUENCY_AUTO
Automatic power line frequency.
Definition video-controls.h:99
@ VIDEO_CID_POWER_LINE_FREQUENCY_60HZ
60 Hz power line frequency.
Definition video-controls.h:98
@ VIDEO_CID_POWER_LINE_FREQUENCY_50HZ
50 Hz power line frequency.
Definition video-controls.h:97
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__INT64_TYPE__ int64_t
Definition stdint.h:75
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
Video control structure.
Definition video-controls.h:467
int32_t val
Definition video-controls.h:472
uint32_t id
control id
Definition video-controls.h:469
int64_t val64
Definition video-controls.h:473
Definition video-controls.h:514
const char * name
control name
Definition video-controls.h:522
struct video_ctrl_range range
control range
Definition video-controls.h:526
const char *const * menu
Definition video-controls.h:529
uint32_t type
control type
Definition video-controls.h:520
uint32_t id
control id, application needs to set this field
Definition video-controls.h:518
const struct device * dev
device being queried, application needs to set this field
Definition video-controls.h:516
const int64_t * int_menu
Definition video-controls.h:530
uint32_t flags
control flags
Definition video-controls.h:524
Definition video-controls.h:483
int32_t min
Definition video-controls.h:486
int64_t min64
Definition video-controls.h:487
int32_t max
Definition video-controls.h:491
int64_t max64
Definition video-controls.h:492
int64_t step64
Definition video-controls.h:497
int64_t def64
Definition video-controls.h:504
int32_t step
Definition video-controls.h:496
int32_t def
Definition video-controls.h:503