Zephyr Project API 4.2.99
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
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
159#define VIDEO_CID_ALPHA_COMPONENT (VIDEO_CID_BASE + 41)
160
162#define VIDEO_CID_LASTP1 (VIDEO_CID_BASE + 44)
163
172#define VIDEO_CID_CODEC_CLASS_BASE 0x00990900
173
182#define VIDEO_CID_CAMERA_CLASS_BASE 0x009a0900
183
188#define VIDEO_CID_EXPOSURE_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 1)
189
199
205#define VIDEO_CID_EXPOSURE_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 2)
206
211#define VIDEO_CID_EXPOSURE_AUTO_PRIORITY (VIDEO_CID_CAMERA_CLASS_BASE + 3)
212
217#define VIDEO_CID_PAN_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 4)
218
223#define VIDEO_CID_TILT_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 5)
224
230#define VIDEO_CID_PAN_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 8)
231
236#define VIDEO_CID_TILT_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 9)
237
242#define VIDEO_CID_FOCUS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 10)
243
248#define VIDEO_CID_FOCUS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 11)
249
254#define VIDEO_CID_FOCUS_AUTO (VIDEO_CID_CAMERA_CLASS_BASE + 12)
255
259#define VIDEO_CID_ZOOM_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 13)
260
265#define VIDEO_CID_ZOOM_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 14)
266
274#define VIDEO_CID_ZOOM_CONTINUOUS (VIDEO_CID_CAMERA_CLASS_BASE + 15)
275
279#define VIDEO_CID_IRIS_ABSOLUTE (VIDEO_CID_CAMERA_CLASS_BASE + 17)
280
285#define VIDEO_CID_IRIS_RELATIVE (VIDEO_CID_CAMERA_CLASS_BASE + 18)
286
293#define VIDEO_CID_WIDE_DYNAMIC_RANGE (VIDEO_CID_CAMERA_CLASS_BASE + 21)
294
300#define VIDEO_CID_PAN_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 32)
301
306#define VIDEO_CID_TILT_SPEED (VIDEO_CID_CAMERA_CLASS_BASE + 33)
307
316#define VIDEO_CID_CAMERA_ORIENTATION (VIDEO_CID_CAMERA_CLASS_BASE + 34)
317
329
335#define VIDEO_CID_CAMERA_SENSOR_ROTATION (VIDEO_CID_CAMERA_CLASS_BASE + 35)
336
345#define VIDEO_CID_FLASH_CLASS_BASE 0x009c0900
346
355#define VIDEO_CID_JPEG_CLASS_BASE 0x009d0900
356
358#define VIDEO_CID_JPEG_COMPRESSION_QUALITY (VIDEO_CID_JPEG_CLASS_BASE + 3)
359
368#define VIDEO_CID_IMAGE_SOURCE_CLASS_BASE 0x009e0900
369
371#define VIDEO_CID_ANALOGUE_GAIN (VIDEO_CID_IMAGE_SOURCE_CLASS_BASE + 3)
372
381#define VIDEO_CID_IMAGE_PROC_CLASS_BASE 0x009f0900
382
384#define VIDEO_CID_LINK_FREQ (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 1)
385
387#define VIDEO_CID_PIXEL_RATE (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 2)
388
390#define VIDEO_CID_TEST_PATTERN (VIDEO_CID_IMAGE_PROC_CLASS_BASE + 3)
391
400#define VIDEO_CID_PRIVATE_BASE 0x08000000
401
410#define VIDEO_CTRL_FLAG_NEXT_CTRL 0x80000000
411
432 union {
435 };
436};
437
446 union {
449 };
451 union {
454 };
456 union {
459 };
463 union {
466 };
467};
468
477 const struct device *dev;
483 const char *name;
489 union {
490 const char *const *menu;
492 };
493};
494
499#ifdef __cplusplus
500}
501#endif
502
507#endif /* ZEPHYR_INCLUDE_VIDEO_H_ */
video_exposure_type
Video exposure type.
Definition video-controls.h:193
video_camera_orientation
Video camera orientation.
Definition video-controls.h:321
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:195
@ VIDEO_EXPOSURE_APERTURE_PRIORITY
Aperture priority.
Definition video-controls.h:197
@ VIDEO_EXPOSURE_AUTO
Automatic exposure.
Definition video-controls.h:194
@ VIDEO_EXPOSURE_SHUTTER_PRIORITY
Shutter priority.
Definition video-controls.h:196
@ VIDEO_CAMERA_ORIENTATION_FRONT
Camera installed on the user-facing side of a phone/tablet/laptop device.
Definition video-controls.h:323
@ VIDEO_CAMERA_ORIENTATION_BACK
Camera installed on the opposite side of the user.
Definition video-controls.h:325
@ VIDEO_CAMERA_ORIENTATION_EXTERNAL
Camera sensors not directly attached to the device or that can move freely.
Definition video-controls.h:327
@ 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:510
Video control structure.
Definition video-controls.h:428
int32_t val
Definition video-controls.h:433
uint32_t id
control id
Definition video-controls.h:430
int64_t val64
Definition video-controls.h:434
Definition video-controls.h:475
const char * name
control name
Definition video-controls.h:483
struct video_ctrl_range range
control range
Definition video-controls.h:487
const char *const * menu
Definition video-controls.h:490
uint32_t type
control type
Definition video-controls.h:481
uint32_t id
control id, application needs to set this field
Definition video-controls.h:479
const struct device * dev
device being queried, application needs to set this field
Definition video-controls.h:477
const int64_t * int_menu
Definition video-controls.h:491
uint32_t flags
control flags
Definition video-controls.h:485
Definition video-controls.h:444
int32_t min
Definition video-controls.h:447
int64_t min64
Definition video-controls.h:448
int32_t max
Definition video-controls.h:452
int64_t max64
Definition video-controls.h:453
int64_t step64
Definition video-controls.h:458
int64_t def64
Definition video-controls.h:465
int32_t step
Definition video-controls.h:457
int32_t def
Definition video-controls.h:464