• Chandrabhanu Mahapatra's avatar
    OMAPDSS: DISPC: Update Fir Coefficients · debd9074
    Chandrabhanu Mahapatra authored
    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: default avatarChandrabhanu Mahapatra <cmahapatra@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    debd9074
dispc_coefs.c 8.18 KB