diff options
author | Jason Chen <b02280@freescale.com> | 2010-07-19 16:22:07 +0800 |
---|---|---|
committer | Jason Chen <b02280@freescale.com> | 2010-07-20 10:18:16 +0800 |
commit | 2eab3fc2d3e03427f4bd2cd58050133b0fc785b6 (patch) | |
tree | 5be20f5819a00c9177850f56a0fcb689360439eb /drivers | |
parent | ecc2b5564449f67bf52ca2f27ed8a9b357623941 (diff) |
ENGR00125275 v4l2 output:disable icbypass for input right crop case
If do input right-side crop and input/output are in the same size, v4l2
driver will enable ic_bypass, but after enable it, the output is not
correct.
Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/mxc/output/mxc_v4l2_output.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/media/video/mxc/output/mxc_v4l2_output.c b/drivers/media/video/mxc/output/mxc_v4l2_output.c index d5d267259024..cdaade4d81a0 100644 --- a/drivers/media/video/mxc/output/mxc_v4l2_output.c +++ b/drivers/media/video/mxc/output/mxc_v4l2_output.c @@ -1267,6 +1267,8 @@ static int mxc_v4l2out_streamon(vout_data * vout) vout->xres == out_width && vout->yres == out_height && ipu_can_rotate_in_place(vout->rotate) && + (vout->bytesperline == + bytes_per_pixel(vout->v2f.fmt.pix.pixelformat) * out_width) && !INTERLACED_CONTENT(vout)) { vout->ic_bypass = 1; } else { @@ -1280,18 +1282,6 @@ static int mxc_v4l2out_streamon(vout_data * vout) vout->ic_bypass = 0; #endif - /* - * We are using IC to do input cropping. - * We don't access v4l2 buffer if source video is interlaced, - * because the buffer index may be -1. - */ - if (!INTERLACED_CONTENT(vout) && - (vout->queue_buf_paddr[vout->ipu_buf[0]] != - vout->v4l2_bufs[vout->ipu_buf[0]].m.offset || - vout->queue_buf_paddr[vout->ipu_buf[1]] != - vout->v4l2_bufs[vout->ipu_buf[1]].m.offset)) - vout->ic_bypass = 0; - if (fbi->fbops->fb_ioctl) { old_fs = get_fs(); set_fs(KERNEL_DS); |