aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@iki.fi>2012-05-18 08:31:18 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-07-06 19:15:48 -0400
commit5689b28890f4a7c4e12290dbf2c29a9d23047335 (patch)
treea7df462fdb85c8d59dd1713a184a9d3f39e53e7e /include
parent1ec0ed083988ae433305d7f4158fda8c3a1a23b9 (diff)
[media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
Change the users of V4L2_SUBDEV_SEL_TGT_* targets to use V4L2_SEL_TGT_* instead. The common definitions are moved to a new header file, include/linux/v4l2-common.h. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/v4l2-common.h57
-rw-r--r--include/linux/v4l2-subdev.h19
-rw-r--r--include/linux/videodev2.h25
3 files changed, 63 insertions, 38 deletions
diff --git a/include/linux/v4l2-common.h b/include/linux/v4l2-common.h
new file mode 100644
index 000000000000..e85bf15b5994
--- /dev/null
+++ b/include/linux/v4l2-common.h
@@ -0,0 +1,57 @@
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
32/* Selection target definitions */
33
34/* Current cropping area */
35#define V4L2_SEL_TGT_CROP 0x0000
36/* Default cropping area */
37#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001
38/* Cropping bounds */
39#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002
40/* Current composing area */
41#define V4L2_SEL_TGT_COMPOSE 0x0100
42/* Default composing area */
43#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101
44/* Composing bounds */
45#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
46/* Current composing area plus all padding pixels */
47#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
48
49/* Backward compatibility definitions */
50#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
51#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
52#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
53 V4L2_SEL_TGT_CROP
54#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
55 V4L2_SEL_TGT_COMPOSE
56
57#endif /* __V4L2_COMMON__ */
diff --git a/include/linux/v4l2-subdev.h b/include/linux/v4l2-subdev.h
index 3cbe6889fcb5..1d7d45739260 100644
--- a/include/linux/v4l2-subdev.h
+++ b/include/linux/v4l2-subdev.h
@@ -25,6 +25,7 @@
25 25
26#include <linux/ioctl.h> 26#include <linux/ioctl.h>
27#include <linux/types.h> 27#include <linux/types.h>
28#include <linux/v4l2-common.h>
28#include <linux/v4l2-mediabus.h> 29#include <linux/v4l2-mediabus.h>
29 30
30/** 31/**
@@ -127,27 +128,13 @@ struct v4l2_subdev_frame_interval_enum {
127#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE (1 << 1) 128#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE (1 << 1)
128#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG (1 << 2) 129#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG (1 << 2)
129 130
130/* active cropping area */
131#define V4L2_SUBDEV_SEL_TGT_CROP 0x0000
132/* cropping bounds */
133#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS 0x0002
134/* current composing area */
135#define V4L2_SUBDEV_SEL_TGT_COMPOSE 0x0100
136/* composing bounds */
137#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS 0x0102
138
139/* backward compatibility definitions */
140#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
141 V4L2_SUBDEV_SEL_TGT_CROP
142#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
143 V4L2_SUBDEV_SEL_TGT_COMPOSE
144
145/** 131/**
146 * struct v4l2_subdev_selection - selection info 132 * struct v4l2_subdev_selection - selection info
147 * 133 *
148 * @which: either V4L2_SUBDEV_FORMAT_ACTIVE or V4L2_SUBDEV_FORMAT_TRY 134 * @which: either V4L2_SUBDEV_FORMAT_ACTIVE or V4L2_SUBDEV_FORMAT_TRY
149 * @pad: pad number, as reported by the media API 135 * @pad: pad number, as reported by the media API
150 * @target: selection target, used to choose one of possible rectangles 136 * @target: Selection target, used to choose one of possible rectangles,
137 * defined in v4l2-common.h; V4L2_SEL_TGT_* .
151 * @flags: constraint flags 138 * @flags: constraint flags
152 * @r: coordinates of the selection window 139 * @r: coordinates of the selection window
153 * @reserved: for future use, set to zero for now 140 * @reserved: for future use, set to zero for now
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index ac1ad33ba3e0..7fdb8710c831 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -64,6 +64,7 @@
64#include <linux/compiler.h> 64#include <linux/compiler.h>
65#include <linux/ioctl.h> 65#include <linux/ioctl.h>
66#include <linux/types.h> 66#include <linux/types.h>
67#include <linux/v4l2-common.h>
67 68
68/* 69/*
69 * Common stuff for both V4L1 and V4L2 70 * Common stuff for both V4L1 and V4L2
@@ -764,31 +765,11 @@ struct v4l2_crop {
764#define V4L2_SEL_FLAG_GE 0x00000001 765#define V4L2_SEL_FLAG_GE 0x00000001
765#define V4L2_SEL_FLAG_LE 0x00000002 766#define V4L2_SEL_FLAG_LE 0x00000002
766 767
767/* Selection targets */
768
769/* Current cropping area */
770#define V4L2_SEL_TGT_CROP 0x0000
771/* Default cropping area */
772#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001
773/* Cropping bounds */
774#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002
775/* Current composing area */
776#define V4L2_SEL_TGT_COMPOSE 0x0100
777/* Default composing area */
778#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101
779/* Composing bounds */
780#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
781/* Current composing area plus all padding pixels */
782#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
783
784/* Backward compatibility definitions */
785#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
786#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
787
788/** 768/**
789 * struct v4l2_selection - selection info 769 * struct v4l2_selection - selection info
790 * @type: buffer type (do not use *_MPLANE types) 770 * @type: buffer type (do not use *_MPLANE types)
791 * @target: selection target, used to choose one of possible rectangles 771 * @target: Selection target, used to choose one of possible rectangles;
772 * defined in v4l2-common.h; V4L2_SEL_TGT_* .
792 * @flags: constraints flags 773 * @flags: constraints flags
793 * @r: coordinates of selection window 774 * @r: coordinates of selection window
794 * @reserved: for future use, rounds structure size to 64 bytes, set to zero 775 * @reserved: for future use, rounds structure size to 64 bytes, set to zero