mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
amvecm: local contrast default low effect parameters [1/1]
PD#SWPL-3779 Problem: local contrast default parameters is too high Solution: local contrast default low effect parameters Verify: verify on TL1 Change-Id: Ib7ec9c03284a68057f8cf245a2be8ad2e81c0af3 Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
This commit is contained in:
committed by
Jianxin Pan
parent
9d1f89c7e5
commit
3afd23d9d9
@@ -38,8 +38,8 @@ int invalid_blk = 2;
|
||||
/*u10,7000/21600=0.324*1024=331 */
|
||||
int min_bv_percent_th = 331;
|
||||
/*control the refresh speed*/
|
||||
int alpha1 = 32;
|
||||
int alpha2 = 2;
|
||||
int alpha1 = 512;
|
||||
int alpha2 = 512;
|
||||
int refresh_bit = 12;
|
||||
int ts = 6;
|
||||
/*need tuning according to real situation ! (0~512)*/
|
||||
@@ -60,6 +60,31 @@ static bool lc_malloc_ok;
|
||||
unsigned int lc_hist_prcnt;
|
||||
unsigned int lc_curve_prcnt;
|
||||
|
||||
/*lc saturation gain, low parameters*/
|
||||
static unsigned int lc_satur_gain[63] = {
|
||||
51, 104, 158, 213, 269, 325, 382, 440, 498,
|
||||
556, 615, 674, 734, 794, 854, 915, 976, 1037,
|
||||
1099, 1161, 1223, 1286, 1348, 1411, 1475, 1538,
|
||||
1602, 1666, 1730, 1795, 1859, 1924, 1989, 2054,
|
||||
2120, 2186, 2251, 2318, 2384, 2450, 2517, 2584,
|
||||
2651, 2718, 2785, 2853, 2921, 2988, 3057, 3125,
|
||||
3193, 3262, 3330, 3399, 3468, 3537, 3607, 3676,
|
||||
3746, 3815, 3885, 3955, 4026
|
||||
};
|
||||
|
||||
/*lc saturation gain, low parameters*/
|
||||
/*
|
||||
*static unsigned int lc_satur_off[63] = {
|
||||
* 64, 128, 192, 256, 320, 384, 448, 512, 576, 640,
|
||||
* 704, 768, 832, 896, 960, 1024, 1088, 1152, 1216,
|
||||
* 1280, 1344, 1408, 1472, 1536, 1600, 1664, 1728,
|
||||
* 1792, 1856, 1920, 1984, 2048, 2112, 2176, 2240,
|
||||
* 2304, 2368, 2432, 2496, 2560, 2624, 2688, 2752,
|
||||
* 2816, 2880, 2944, 3008, 3072, 3136, 3200, 3264,
|
||||
* 3328, 3392, 3456, 3520, 3584, 3648, 3712, 3776,
|
||||
* 3840, 3904, 3968, 4032
|
||||
*};
|
||||
*/
|
||||
|
||||
/*local contrast begin*/
|
||||
static void lc_mtx_set(enum lc_mtx_sel_e mtx_sel,
|
||||
@@ -1092,6 +1117,7 @@ void lc_init(void)
|
||||
int h_num, v_num;
|
||||
unsigned int height, width;
|
||||
const struct vinfo_s *vinfo = get_current_vinfo();
|
||||
int i, tmp, tmp1, tmp2;
|
||||
|
||||
height = vinfo->height;
|
||||
width = vinfo->width;
|
||||
@@ -1128,6 +1154,25 @@ void lc_init(void)
|
||||
lc_mtx_set(OUTP_MTX, LC_MTX_RGB_YUV709L, 1);
|
||||
WRITE_VPP_REG_BITS(LC_CURVE_RAM_CTRL, 0, 0, 1);
|
||||
|
||||
/*default LC low parameters*/
|
||||
WRITE_VPP_REG(LC_CURVE_CONTRAST_LH, 0x000b000b);
|
||||
WRITE_VPP_REG(LC_CURVE_CONTRAST_SCL_LH, 0x000b000b);
|
||||
WRITE_VPP_REG(LC_CURVE_MISC0, 0x00023028);
|
||||
WRITE_VPP_REG(LC_CURVE_YPKBV_RAT, 0x3e69443c);
|
||||
WRITE_VPP_REG(LC_CURVE_YPKBV_SLP_LMT, 0x00000b33);
|
||||
WRITE_VPP_REG(LC_CURVE_YPKBV_YMAXVAL_LMT_0_1, 0x00440088);
|
||||
WRITE_VPP_REG(LC_CURVE_YPKBV_YMAXVAL_LMT_10_11, 0x02d70310);
|
||||
|
||||
for (i = 0; i < 31 ; i++) {
|
||||
tmp1 = *(lc_satur_gain + 2 * i);
|
||||
tmp2 = *(lc_satur_gain + 2 * i + 1);
|
||||
tmp = ((tmp1 & 0xfff)<<16) | (tmp2 & 0xfff);
|
||||
WRITE_VPP_REG(SRSHARP1_LC_SAT_LUT_0_1 + i, tmp);
|
||||
}
|
||||
tmp = (*(lc_satur_gain + 62)) & 0xfff;
|
||||
WRITE_VPP_REG(SRSHARP1_LC_SAT_LUT_62, tmp);
|
||||
/*end*/
|
||||
|
||||
if (set_lc_curve(1, 0))
|
||||
pr_amlc_dbg("%s: init fail", __func__);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user