diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-01-27 11:29:53 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-02-11 16:19:41 +0200 |
commit | eec77da2744b1265653ab99af91c3b26c49501e9 (patch) | |
tree | 72aeb933e98156baed394f7879ad01879ed3ec7c /lib | |
parent | b28a960c42fcd9cfc987441fa6d1c1a471f0f9ed (diff) | |
download | linux-eec77da2744b1265653ab99af91c3b26c49501e9.tar.bz2 |
OMAPDSS: DISPC: decimation rounding fix
The driver uses DIV_ROUND_UP when calculating decimated width & height.
For example, when decimating with 3, the width is calculated as:
width = DIV_ROUND_UP(width, decim_x);
This yields bad results for some values. For example, 800/3=266.666...,
which is rounded to 267. When the input width is set to 267, and pixel
increment is set to 3, this causes the dispc to read a line of 801
pixels, i.e. it reads a wrong pixel at the end of the line.
Even more pressing, the above rounding causes a BUG() in pixinc(), as
the value of 801 is used to calculate row increment, leading to a bad
value being passed to pixinc().
This patch fixes the decimation by removing the DIV_ROUND_UP()s when
calculating width and height for decimation.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions