diff options
author | Ran Ferderber <Ran.Ferderber@freescale.com> | 2010-01-27 16:21:07 +0200 |
---|---|---|
committer | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2010-05-24 11:50:05 +0200 |
commit | 2f1cf91b9af2377303ca5c52ea7cba493fd57f29 (patch) | |
tree | 90cc85a43b163d5092c78cee3a5a917b8407e79e /drivers/mxc | |
parent | aaa31dcdc25ee4833067aae00d87d0c728767363 (diff) |
ENGR00120523 Down sizing of stream bigger then 1024 two stripe failed
Fix stripe size calculation
Signed-off-by: Ran Ferderber r53561@freescale.com
Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r-- | drivers/mxc/ipu3/ipu_calc_stripes_sizes.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c b/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c index 09c7664a07e5..6a29c90fe095 100644 --- a/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c +++ b/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c @@ -1,5 +1,5 @@ /* - * Copyright 2009 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -223,8 +223,7 @@ int ipu_calc_stripes_sizes(const unsigned int input_frame_width, output_m = m_calc(output_pixelformat); - if ((output_frame_width < input_frame_width) || (input_frame_width < 4) - || (output_frame_width < 4)) + if ((input_frame_width < 4) || (output_frame_width < 4)) return 1; irr_opt = _do_div((((u64)(input_frame_width - 1)) << 32), @@ -266,7 +265,7 @@ int ipu_calc_stripes_sizes(const unsigned int input_frame_width, (right->input_width - 1)), (right->output_width - 1)); left->irr = right->irr = truncate(0, div, 1); } else { /* with overlap */ - onw = truncate(0, (((u64)output_frame_width) << 32) >> 1, + onw = truncate(0, (((u64)output_frame_width - 1) << 32) >> 1, output_f); inw = truncate(0, onw * irr_opt, input_f); /* this is the maximal inw which allows the same resizing ratio */ |