xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/v4l2-common.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
2*f80ad8b4SAndroid Build Coastguard Worker /*
3*f80ad8b4SAndroid Build Coastguard Worker  * include/linux/v4l2-common.h
4*f80ad8b4SAndroid Build Coastguard Worker  *
5*f80ad8b4SAndroid Build Coastguard Worker  * Common V4L2 and V4L2 subdev definitions.
6*f80ad8b4SAndroid Build Coastguard Worker  *
7*f80ad8b4SAndroid Build Coastguard Worker  * Users are advised to #include this file either through videodev2.h
8*f80ad8b4SAndroid Build Coastguard Worker  * (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer
9*f80ad8b4SAndroid Build Coastguard Worker  * to this file directly.
10*f80ad8b4SAndroid Build Coastguard Worker  *
11*f80ad8b4SAndroid Build Coastguard Worker  * Copyright (C) 2012 Nokia Corporation
12*f80ad8b4SAndroid Build Coastguard Worker  * Contact: Sakari Ailus <[email protected]>
13*f80ad8b4SAndroid Build Coastguard Worker  */
14*f80ad8b4SAndroid Build Coastguard Worker 
15*f80ad8b4SAndroid Build Coastguard Worker #ifndef __V4L2_COMMON__
16*f80ad8b4SAndroid Build Coastguard Worker #define __V4L2_COMMON__
17*f80ad8b4SAndroid Build Coastguard Worker 
18*f80ad8b4SAndroid Build Coastguard Worker #include <linux/types.h>
19*f80ad8b4SAndroid Build Coastguard Worker 
20*f80ad8b4SAndroid Build Coastguard Worker /*
21*f80ad8b4SAndroid Build Coastguard Worker  *
22*f80ad8b4SAndroid Build Coastguard Worker  * Selection interface definitions
23*f80ad8b4SAndroid Build Coastguard Worker  *
24*f80ad8b4SAndroid Build Coastguard Worker  */
25*f80ad8b4SAndroid Build Coastguard Worker 
26*f80ad8b4SAndroid Build Coastguard Worker /* Current cropping area */
27*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_CROP		0x0000
28*f80ad8b4SAndroid Build Coastguard Worker /* Default cropping area */
29*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
30*f80ad8b4SAndroid Build Coastguard Worker /* Cropping bounds */
31*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
32*f80ad8b4SAndroid Build Coastguard Worker /* Native frame size */
33*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
34*f80ad8b4SAndroid Build Coastguard Worker /* Current composing area */
35*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_COMPOSE		0x0100
36*f80ad8b4SAndroid Build Coastguard Worker /* Default composing area */
37*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_COMPOSE_DEFAULT	0x0101
38*f80ad8b4SAndroid Build Coastguard Worker /* Composing bounds */
39*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_COMPOSE_BOUNDS	0x0102
40*f80ad8b4SAndroid Build Coastguard Worker /* Current composing area plus all padding pixels */
41*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_COMPOSE_PADDED	0x0103
42*f80ad8b4SAndroid Build Coastguard Worker 
43*f80ad8b4SAndroid Build Coastguard Worker /* Selection flags */
44*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_FLAG_GE		(1 << 0)
45*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_FLAG_LE		(1 << 1)
46*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_FLAG_KEEP_CONFIG	(1 << 2)
47*f80ad8b4SAndroid Build Coastguard Worker 
48*f80ad8b4SAndroid Build Coastguard Worker struct v4l2_edid {
49*f80ad8b4SAndroid Build Coastguard Worker 	__u32 pad;
50*f80ad8b4SAndroid Build Coastguard Worker 	__u32 start_block;
51*f80ad8b4SAndroid Build Coastguard Worker 	__u32 blocks;
52*f80ad8b4SAndroid Build Coastguard Worker 	__u32 reserved[5];
53*f80ad8b4SAndroid Build Coastguard Worker 	__u8  *edid;
54*f80ad8b4SAndroid Build Coastguard Worker };
55*f80ad8b4SAndroid Build Coastguard Worker 
56*f80ad8b4SAndroid Build Coastguard Worker #ifndef __KERNEL__
57*f80ad8b4SAndroid Build Coastguard Worker /* Backward compatibility target definitions --- to be removed. */
58*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_CROP_ACTIVE	V4L2_SEL_TGT_CROP
59*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SEL_TGT_COMPOSE_ACTIVE	V4L2_SEL_TGT_COMPOSE
60*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL	V4L2_SEL_TGT_CROP
61*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE
62*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS	V4L2_SEL_TGT_CROP_BOUNDS
63*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS
64*f80ad8b4SAndroid Build Coastguard Worker 
65*f80ad8b4SAndroid Build Coastguard Worker /* Backward compatibility flag definitions --- to be removed. */
66*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_FLAG_SIZE_GE	V4L2_SEL_FLAG_GE
67*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE	V4L2_SEL_FLAG_LE
68*f80ad8b4SAndroid Build Coastguard Worker #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
69*f80ad8b4SAndroid Build Coastguard Worker #endif
70*f80ad8b4SAndroid Build Coastguard Worker 
71*f80ad8b4SAndroid Build Coastguard Worker #endif /* __V4L2_COMMON__ */
72