summaryrefslogtreecommitdiff
path: root/drivers/media/platform/vsp1/vsp1_uds.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2014-05-31 04:45:48 +0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-07-17 19:45:00 +0400
commitbdc2df62ae38bbab044078f4d25a7a3d9e2379c9 (patch)
treecff7643ee75c3eaf16a1ee90185c8864045e5765 /drivers/media/platform/vsp1/vsp1_uds.h
parenta16e2794592b733d47f372f0cadcd9ff0f349ca9 (diff)
downloadlinux-bdc2df62ae38bbab044078f4d25a7a3d9e2379c9.tar.xz
[media] v4l: vsp1: uds: Fix scaling of alpha layer
Pixel color components can be scaled using either bilinear interpolation or a multitap filter. The multitap filter provides better results, but can't be selected when the alpha layer need to be scaled down by more than 1/2. Disable alpha scaling when the input has a fixed alpha value, and program the UDS to output a fixed alpha value in that case. This ensures the multitap filter will be used whenever possible. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_uds.h')
-rw-r--r--drivers/media/platform/vsp1/vsp1_uds.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_uds.h b/drivers/media/platform/vsp1/vsp1_uds.h
index 479d12df1180..031ac0da1b66 100644
--- a/drivers/media/platform/vsp1/vsp1_uds.h
+++ b/drivers/media/platform/vsp1/vsp1_uds.h
@@ -25,9 +25,7 @@ struct vsp1_device;
struct vsp1_uds {
struct vsp1_entity entity;
-
- unsigned int hscale;
- unsigned int vscale;
+ bool scale_alpha;
};
static inline struct vsp1_uds *to_uds(struct v4l2_subdev *subdev)
@@ -37,4 +35,6 @@ static inline struct vsp1_uds *to_uds(struct v4l2_subdev *subdev)
struct vsp1_uds *vsp1_uds_create(struct vsp1_device *vsp1, unsigned int index);
+void vsp1_uds_set_alpha(struct vsp1_uds *uds, unsigned int alpha);
+
#endif /* __VSP1_UDS_H__ */