Commit 563df3d0 authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

[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: default avatarSakari Ailus <sakari.ailus@iki.fi>
Acked-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 64b9ce83
...@@ -2064,7 +2064,7 @@ static int ccdc_set_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh, ...@@ -2064,7 +2064,7 @@ static int ccdc_set_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
* pad. If the KEEP_CONFIG flag is set, just return the current crop * pad. If the KEEP_CONFIG flag is set, just return the current crop
* rectangle. * rectangle.
*/ */
if (sel->flags & V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG) { if (sel->flags & V4L2_SEL_FLAG_KEEP_CONFIG) {
sel->r = *__ccdc_get_crop(ccdc, fh, sel->which); sel->r = *__ccdc_get_crop(ccdc, fh, sel->which);
return 0; return 0;
} }
......
...@@ -2000,7 +2000,7 @@ static int preview_set_selection(struct v4l2_subdev *sd, ...@@ -2000,7 +2000,7 @@ static int preview_set_selection(struct v4l2_subdev *sd,
* pad. If the KEEP_CONFIG flag is set, just return the current crop * pad. If the KEEP_CONFIG flag is set, just return the current crop
* rectangle. * rectangle.
*/ */
if (sel->flags & V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG) { if (sel->flags & V4L2_SEL_FLAG_KEEP_CONFIG) {
sel->r = *__preview_get_crop(prev, fh, sel->which); sel->r = *__preview_get_crop(prev, fh, sel->which);
return 0; return 0;
} }
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#include "smiapp.h" #include "smiapp.h"
#define SMIAPP_ALIGN_DIM(dim, flags) \ #define SMIAPP_ALIGN_DIM(dim, flags) \
((flags) & V4L2_SUBDEV_SEL_FLAG_SIZE_GE \ ((flags) & V4L2_SEL_FLAG_GE \
? ALIGN((dim), 2) \ ? ALIGN((dim), 2) \
: (dim) & ~1) : (dim) & ~1)
...@@ -1747,14 +1747,14 @@ static int scaling_goodness(struct v4l2_subdev *subdev, int w, int ask_w, ...@@ -1747,14 +1747,14 @@ static int scaling_goodness(struct v4l2_subdev *subdev, int w, int ask_w,
h &= ~1; h &= ~1;
ask_h &= ~1; ask_h &= ~1;
if (flags & V4L2_SUBDEV_SEL_FLAG_SIZE_GE) { if (flags & V4L2_SEL_FLAG_GE) {
if (w < ask_w) if (w < ask_w)
val -= SCALING_GOODNESS; val -= SCALING_GOODNESS;
if (h < ask_h) if (h < ask_h)
val -= SCALING_GOODNESS; val -= SCALING_GOODNESS;
} }
if (flags & V4L2_SUBDEV_SEL_FLAG_SIZE_LE) { if (flags & V4L2_SEL_FLAG_LE) {
if (w > ask_w) if (w > ask_w)
val -= SCALING_GOODNESS; val -= SCALING_GOODNESS;
if (h > ask_h) if (h > ask_h)
......
...@@ -29,7 +29,11 @@ ...@@ -29,7 +29,11 @@
#ifndef __V4L2_COMMON__ #ifndef __V4L2_COMMON__
#define __V4L2_COMMON__ #define __V4L2_COMMON__
/* Selection target definitions */ /*
*
* Selection interface definitions
*
*/
/* Current cropping area */ /* Current cropping area */
#define V4L2_SEL_TGT_CROP 0x0000 #define V4L2_SEL_TGT_CROP 0x0000
...@@ -46,7 +50,7 @@ ...@@ -46,7 +50,7 @@
/* Current composing area plus all padding pixels */ /* Current composing area plus all padding pixels */
#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103 #define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
/* Backward compatibility definitions */ /* Backward compatibility target definitions --- to be removed. */
#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP #define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE #define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \ #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
...@@ -54,4 +58,14 @@ ...@@ -54,4 +58,14 @@
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \ #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
V4L2_SEL_TGT_COMPOSE V4L2_SEL_TGT_COMPOSE
/* Selection flags */
#define V4L2_SEL_FLAG_GE (1 << 0)
#define V4L2_SEL_FLAG_LE (1 << 1)
#define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2)
/* Backward compatibility flag definitions --- to be removed. */
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
#endif /* __V4L2_COMMON__ */ #endif /* __V4L2_COMMON__ */
...@@ -124,10 +124,6 @@ struct v4l2_subdev_frame_interval_enum { ...@@ -124,10 +124,6 @@ struct v4l2_subdev_frame_interval_enum {
__u32 reserved[9]; __u32 reserved[9];
}; };
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE (1 << 0)
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE (1 << 1)
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG (1 << 2)
/** /**
* struct v4l2_subdev_selection - selection info * struct v4l2_subdev_selection - selection info
* *
...@@ -135,7 +131,7 @@ struct v4l2_subdev_frame_interval_enum { ...@@ -135,7 +131,7 @@ struct v4l2_subdev_frame_interval_enum {
* @pad: pad number, as reported by the media API * @pad: pad number, as reported by the media API
* @target: Selection target, used to choose one of possible rectangles, * @target: Selection target, used to choose one of possible rectangles,
* defined in v4l2-common.h; V4L2_SEL_TGT_* . * defined in v4l2-common.h; V4L2_SEL_TGT_* .
* @flags: constraint flags * @flags: constraint flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
* @r: coordinates of the selection window * @r: coordinates of the selection window
* @reserved: for future use, set to zero for now * @reserved: for future use, set to zero for now
* *
......
...@@ -761,16 +761,12 @@ struct v4l2_crop { ...@@ -761,16 +761,12 @@ struct v4l2_crop {
struct v4l2_rect c; struct v4l2_rect c;
}; };
/* Hints for adjustments of selection rectangle */
#define V4L2_SEL_FLAG_GE 0x00000001
#define V4L2_SEL_FLAG_LE 0x00000002
/** /**
* struct v4l2_selection - selection info * struct v4l2_selection - selection info
* @type: buffer type (do not use *_MPLANE types) * @type: buffer type (do not use *_MPLANE types)
* @target: Selection target, used to choose one of possible rectangles; * @target: Selection target, used to choose one of possible rectangles;
* defined in v4l2-common.h; V4L2_SEL_TGT_* . * defined in v4l2-common.h; V4L2_SEL_TGT_* .
* @flags: constraints flags * @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
* @r: coordinates of selection window * @r: coordinates of selection window
* @reserved: for future use, rounds structure size to 64 bytes, set to zero * @reserved: for future use, rounds structure size to 64 bytes, set to zero
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment