summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuaibin Yang <huaibiny@codeaurora.org>2013-08-29 12:48:13 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:20:34 -0700
commit9bba658d2c6a97ff35e83ecfbca1d021bb30a4a8 (patch)
tree8e06999b100b938a0824108dddc87050d004fe08
parent19b0596b0442c74add6d23f0efbc07e06b3ea977 (diff)
msm: mdss: half the y offset value for s/w deinterlace
S/W deinterlaces interleaved videos by changing the original height to the half. Y offset needs to be half as well and this half y should be checked again to make sure it is not an odd value, which is required by mdp h/w. CRs-fixed: 524678 Change-Id: I429dd6e66a8c034815ab3751c31e7e60c25a8051 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index a7a4dd34d0c5..4897d5dac36d 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -287,6 +287,9 @@ static int mdss_mdp_overlay_rotator_setup(struct msm_fb_data_type *mfd,
if (req->flags & MDP_DEINTERLACE) {
rot->flags |= MDP_DEINTERLACE;
rot->src_rect.h /= 2;
+ rot->src_rect.y /= 2;
+ if (rot->src_rect.y % 2)
+ rot->src_rect.y++;
}
ret = mdss_mdp_rotator_setup(rot);
@@ -583,6 +586,9 @@ static int mdss_mdp_overlay_pipe_setup(struct msm_fb_data_type *mfd,
pipe->img_width /= 2;
} else {
pipe->src.h /= 2;
+ pipe->src.y /= 2;
+ if (pipe->src.y % 2)
+ pipe->src.y++;
}
}