diff options
author | Sakari Ailus <sakari.ailus@iki.fi> | 2012-06-13 15:01:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-07-06 19:17:46 -0400 |
commit | 563df3d0bc2ca103e5ddb76c8b7b3386ed2da0d6 (patch) | |
tree | bda561c54a3dd03a52bd8d714c8c354b146e8dc6 | |
parent | 64b9ce83a446277d3ffdb5e25e9aeb66442da2a9 (diff) |
[media] v4l: Unify selection flags
Unify flags on the selection interfaces on V4L2 and V4L2 subdev. Flags are
very similar to targets in this case: there are more similarities than
differences between the two interfaces.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/omap3isp/ispccdc.c | 2 | ||||
-rw-r--r-- | drivers/media/video/omap3isp/isppreview.c | 2 | ||||
-rw-r--r-- | drivers/media/video/smiapp/smiapp-core.c | 10 | ||||
-rw-r--r-- | include/linux/v4l2-common.h | 20 | ||||
-rw-r--r-- | include/linux/v4l2-subdev.h | 6 | ||||
-rw-r--r-- | include/linux/videodev2.h | 6 |
6 files changed, 26 insertions, 20 deletions
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c index 82df7a06dc36..f1220d3d4970 100644 --- a/drivers/media/video/omap3isp/ispccdc.c +++ b/drivers/media/video/omap3isp/ispccdc.c | |||
@@ -2064,7 +2064,7 @@ static int ccdc_set_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, | |||
2064 | * pad. If the KEEP_CONFIG flag is set, just return the current crop | 2064 | * pad. If the KEEP_CONFIG flag is set, just return the current crop |
2065 | * rectangle. | 2065 | * rectangle. |
2066 | */ | 2066 | */ |
2067 | if (sel->flags & V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG) { | 2067 | if (sel->flags & V4L2_SEL_FLAG_KEEP_CONFIG) { |
2068 | sel->r = *__ccdc_get_crop(ccdc, fh, sel->which); | 2068 | sel->r = *__ccdc_get_crop(ccdc, fh, sel->which); |
2069 | return 0; | 2069 | return 0; |
2070 | } | 2070 | } |
diff --git a/drivers/media/video/omap3isp/isppreview.c b/drivers/media/video/omap3isp/isppreview.c index 6fa70f4e8ea4..99d5cc4fd623 100644 --- a/drivers/media/video/omap3isp/isppreview.c +++ b/drivers/media/video/omap3isp/isppreview.c | |||
@@ -2000,7 +2000,7 @@ static int preview_set_selection(struct v4l2_subdev *sd, | |||
2000 | * pad. If the KEEP_CONFIG flag is set, just return the current crop | 2000 | * pad. If the KEEP_CONFIG flag is set, just return the current crop |
2001 | * rectangle. | 2001 | * rectangle. |
2002 | */ | 2002 | */ |
2003 | if (sel->flags & V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG) { | 2003 | if (sel->flags & V4L2_SEL_FLAG_KEEP_CONFIG) { |
2004 | sel->r = *__preview_get_crop(prev, fh, sel->which); | 2004 | sel->r = *__preview_get_crop(prev, fh, sel->which); |
2005 | return 0; | 2005 | return 0; |
2006 | } | 2006 | } |
diff --git a/drivers/media/video/smiapp/smiapp-core.c b/drivers/media/video/smiapp/smiapp-core.c index 9bbb5d3f003b..8a5d4f7932a0 100644 --- a/drivers/media/video/smiapp/smiapp-core.c +++ b/drivers/media/video/smiapp/smiapp-core.c | |||
@@ -38,9 +38,9 @@ | |||
38 | 38 | ||
39 | #include "smiapp.h" | 39 | #include "smiapp.h" |
40 | 40 | ||
41 | #define SMIAPP_ALIGN_DIM(dim, flags) \ | 41 | #define SMIAPP_ALIGN_DIM(dim, flags) \ |
42 | ((flags) & V4L2_SUBDEV_SEL_FLAG_SIZE_GE \ | 42 | ((flags) & V4L2_SEL_FLAG_GE \ |
43 | ? ALIGN((dim), 2) \ | 43 | ? ALIGN((dim), 2) \ |
44 | : (dim) & ~1) | 44 | : (dim) & ~1) |
45 | 45 | ||
46 | /* | 46 | /* |
@@ -1747,14 +1747,14 @@ static int scaling_goodness(struct v4l2_subdev *subdev, int w, int ask_w, | |||
1747 | h &= ~1; | 1747 | h &= ~1; |
1748 | ask_h &= ~1; | 1748 | ask_h &= ~1; |
1749 | 1749 | ||
1750 | if (flags & V4L2_SUBDEV_SEL_FLAG_SIZE_GE) { | 1750 | if (flags & V4L2_SEL_FLAG_GE) { |
1751 | if (w < ask_w) | 1751 | if (w < ask_w) |
1752 | val -= SCALING_GOODNESS; | 1752 | val -= SCALING_GOODNESS; |
1753 | if (h < ask_h) | 1753 | if (h < ask_h) |
1754 | val -= SCALING_GOODNESS; | 1754 | val -= SCALING_GOODNESS; |
1755 | } | 1755 | } |
1756 | 1756 | ||
1757 | if (flags & V4L2_SUBDEV_SEL_FLAG_SIZE_LE) { | 1757 | if (flags & V4L2_SEL_FLAG_LE) { |
1758 | if (w > ask_w) | 1758 | if (w > ask_w) |
1759 | val -= SCALING_GOODNESS; | 1759 | val -= SCALING_GOODNESS; |
1760 | if (h > ask_h) | 1760 | if (h > ask_h) |
diff --git a/include/linux/v4l2-common.h b/include/linux/v4l2-common.h index e85bf15b5994..0fa8b64c3cdb 100644 --- a/include/linux/v4l2-common.h +++ b/include/linux/v4l2-common.h | |||
@@ -29,7 +29,11 @@ | |||
29 | #ifndef __V4L2_COMMON__ | 29 | #ifndef __V4L2_COMMON__ |
30 | #define __V4L2_COMMON__ | 30 | #define __V4L2_COMMON__ |
31 | 31 | ||
32 | /* Selection target definitions */ | 32 | /* |
33 | * | ||
34 | * Selection interface definitions | ||
35 | * | ||
36 | */ | ||
33 | 37 | ||
34 | /* Current cropping area */ | 38 | /* Current cropping area */ |
35 | #define V4L2_SEL_TGT_CROP 0x0000 | 39 | #define V4L2_SEL_TGT_CROP 0x0000 |
@@ -46,7 +50,7 @@ | |||
46 | /* Current composing area plus all padding pixels */ | 50 | /* Current composing area plus all padding pixels */ |
47 | #define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103 | 51 | #define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103 |
48 | 52 | ||
49 | /* Backward compatibility definitions */ | 53 | /* Backward compatibility target definitions --- to be removed. */ |
50 | #define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP | 54 | #define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP |
51 | #define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE | 55 | #define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE |
52 | #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \ | 56 | #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \ |
@@ -54,4 +58,14 @@ | |||
54 | #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \ | 58 | #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \ |
55 | V4L2_SEL_TGT_COMPOSE | 59 | V4L2_SEL_TGT_COMPOSE |
56 | 60 | ||
57 | #endif /* __V4L2_COMMON__ */ | 61 | /* Selection flags */ |
62 | #define V4L2_SEL_FLAG_GE (1 << 0) | ||
63 | #define V4L2_SEL_FLAG_LE (1 << 1) | ||
64 | #define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2) | ||
65 | |||
66 | /* Backward compatibility flag definitions --- to be removed. */ | ||
67 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE | ||
68 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE | ||
69 | #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG | ||
70 | |||
71 | #endif /* __V4L2_COMMON__ */ | ||
diff --git a/include/linux/v4l2-subdev.h b/include/linux/v4l2-subdev.h index 1d7d45739260..8c57ee9872bb 100644 --- a/include/linux/v4l2-subdev.h +++ b/include/linux/v4l2-subdev.h | |||
@@ -124,10 +124,6 @@ struct v4l2_subdev_frame_interval_enum { | |||
124 | __u32 reserved[9]; | 124 | __u32 reserved[9]; |
125 | }; | 125 | }; |
126 | 126 | ||
127 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_GE (1 << 0) | ||
128 | #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE (1 << 1) | ||
129 | #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG (1 << 2) | ||
130 | |||
131 | /** | 127 | /** |
132 | * struct v4l2_subdev_selection - selection info | 128 | * struct v4l2_subdev_selection - selection info |
133 | * | 129 | * |
@@ -135,7 +131,7 @@ struct v4l2_subdev_frame_interval_enum { | |||
135 | * @pad: pad number, as reported by the media API | 131 | * @pad: pad number, as reported by the media API |
136 | * @target: Selection target, used to choose one of possible rectangles, | 132 | * @target: Selection target, used to choose one of possible rectangles, |
137 | * defined in v4l2-common.h; V4L2_SEL_TGT_* . | 133 | * defined in v4l2-common.h; V4L2_SEL_TGT_* . |
138 | * @flags: constraint flags | 134 | * @flags: constraint flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*. |
139 | * @r: coordinates of the selection window | 135 | * @r: coordinates of the selection window |
140 | * @reserved: for future use, set to zero for now | 136 | * @reserved: for future use, set to zero for now |
141 | * | 137 | * |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 7fdb8710c831..5d78910f926c 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -761,16 +761,12 @@ struct v4l2_crop { | |||
761 | struct v4l2_rect c; | 761 | struct v4l2_rect c; |
762 | }; | 762 | }; |
763 | 763 | ||
764 | /* Hints for adjustments of selection rectangle */ | ||
765 | #define V4L2_SEL_FLAG_GE 0x00000001 | ||
766 | #define V4L2_SEL_FLAG_LE 0x00000002 | ||
767 | |||
768 | /** | 764 | /** |
769 | * struct v4l2_selection - selection info | 765 | * struct v4l2_selection - selection info |
770 | * @type: buffer type (do not use *_MPLANE types) | 766 | * @type: buffer type (do not use *_MPLANE types) |
771 | * @target: Selection target, used to choose one of possible rectangles; | 767 | * @target: Selection target, used to choose one of possible rectangles; |
772 | * defined in v4l2-common.h; V4L2_SEL_TGT_* . | 768 | * defined in v4l2-common.h; V4L2_SEL_TGT_* . |
773 | * @flags: constraints flags | 769 | * @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*. |
774 | * @r: coordinates of selection window | 770 | * @r: coordinates of selection window |
775 | * @reserved: for future use, rounds structure size to 64 bytes, set to zero | 771 | * @reserved: for future use, rounds structure size to 64 bytes, set to zero |
776 | * | 772 | * |