OMAPDSS: DISPC: Update Fir Coefficients
authorChandrabhanu Mahapatra <cmahapatra@ti.com>
Mon, 19 Dec 2011 08:33:44 +0000 (14:03 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 2 Jan 2012 06:51:29 +0000 (08:51 +0200)
commitdebd90749b7440ad5fc02e4f0d1e8a696385f196
treefdde45a42f4bba25a323c246d213d8bebfdfa9cf
parent1f3f53ae5179ba7f24b4a429bc41773f1f4857ca
OMAPDSS: DISPC: Update Fir Coefficients

The FIR coefficients present in kernel are being updated to new coefficients
consisting of 24 coefficient tables, with 12 each for 3 tap and 5 tap scenario,
which are chosen on the basis of DISPC up/downsampling filters M value. M is
the inverse of low pass cut off frequency of the sampling filter. For vertical
scaling 3 tap or 5 tap tables are used based on the clock rate and width of
the line buffer whereas in OMAP2 3 tap is always used. For horizontal scaling
however 5 tap tables are always used.

New coefficients and the corresponding logic have been tested on OMAP2, OMAP3
and OMAP4. Horizontal and vertical scaling worked fine except for some 3 tap
vs 5 tap issue during vertical upscaling and clock failing issues which is
acknowledged in the next patch. Vertical upscaling was found to perform better
under 5 taps. The 24 coefficient tables have been moved to another file
dispc_coefs.c for proper maintainance.

This code is written based on code written by Lajos Molnar <lajos@ti.com> in
Android Kernel for scaling. Lajos Molnar <lajos@ti.com> had fine tuned the FIR
coefficient selection process and reduced outliness and blockiness around
images when upscaling more than 2 times.

Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/Makefile
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/dispc.h
drivers/video/omap2/dss/dispc_coefs.c [new file with mode: 0644]