From 9bba658d2c6a97ff35e83ecfbca1d021bb30a4a8 Mon Sep 17 00:00:00 2001 From: Huaibin Yang Date: Thu, 29 Aug 2013 12:48:13 -0700 Subject: 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 --- drivers/video/fbdev/msm/mdss_mdp_overlay.c | 6 ++++++ 1 file changed, 6 insertions(+) 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++; } } -- cgit v1.2.3