Commit | Line | Data |
---|---|---|
5689b288 SA |
1 | /* |
2 | * include/linux/v4l2-common.h | |
3 | * | |
4 | * Common V4L2 and V4L2 subdev definitions. | |
5 | * | |
6 | * Users are advised to #include this file either through videodev2.h | |
7 | * (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer | |
8 | * to this file directly. | |
9 | * | |
10 | * Copyright (C) 2012 Nokia Corporation | |
11 | * Contact: Sakari Ailus <sakari.ailus@iki.fi> | |
12 | * | |
13 | * This program is free software; you can redistribute it and/or | |
14 | * modify it under the terms of the GNU General Public License | |
15 | * version 2 as published by the Free Software Foundation. | |
16 | * | |
17 | * This program is distributed in the hope that it will be useful, but | |
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
20 | * General Public License for more details. | |
21 | * | |
22 | * You should have received a copy of the GNU General Public License | |
23 | * along with this program; if not, write to the Free Software | |
24 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | |
25 | * 02110-1301 USA | |
26 | * | |
27 | */ | |
28 | ||
29 | #ifndef __V4L2_COMMON__ | |
30 | #define __V4L2_COMMON__ | |
31 | ||
773bcf8c MCC |
32 | #include <linux/types.h> |
33 | ||
563df3d0 SA |
34 | /* |
35 | * | |
36 | * Selection interface definitions | |
37 | * | |
38 | */ | |
5689b288 SA |
39 | |
40 | /* Current cropping area */ | |
41 | #define V4L2_SEL_TGT_CROP 0x0000 | |
42 | /* Default cropping area */ | |
43 | #define V4L2_SEL_TGT_CROP_DEFAULT 0x0001 | |
44 | /* Cropping bounds */ | |
45 | #define V4L2_SEL_TGT_CROP_BOUNDS 0x0002 | |
46 | /* Current composing area */ | |
47 | #define V4L2_SEL_TGT_COMPOSE 0x0100 | |
48 | /* Default composing area */ | |
49 | #define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101 | |
50 | /* Composing bounds */ | |
51 | #define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102 | |
52 | /* Current composing area plus all padding pixels */ | |
53 | #define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103 | |
54 | ||
563df3d0 | 55 | /* Backward compatibility target definitions --- to be removed. */ |
5689b288 SA |
56 | #define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP |
57 | #define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE | |
660e22c7 SA |
58 | #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL V4L2_SEL_TGT_CROP |
59 | #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE | |
60 | #define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS V4L2_SEL_TGT_CROP_BOUNDS | |
61 | #define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS | |
5689b288 | 62 | |
563df3d0 SA |
63 | /* Selection flags */ |
64 | #define V4L2_SEL_FLAG_GE (1 << 0) | |
65 | #define V4L2_SEL_FLAG_LE (1 << 1) | |
66 | #define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2) | |
67 | ||
68 | /* Backward compatibility flag definitions --- to be removed. */ | |
69 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE | |
70 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE | |
71 | #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG | |
72 | ||
254a4777 HV |
73 | struct v4l2_edid { |
74 | __u32 pad; | |
75 | __u32 start_block; | |
76 | __u32 blocks; | |
77 | __u32 reserved[5]; | |
2dd477db | 78 | __u8 *edid; |
254a4777 HV |
79 | }; |
80 | ||
563df3d0 | 81 | #endif /* __V4L2_COMMON__ */ |