static int num_hdr_sdr_lut = 149;
int oo_y_lut_hdr_sdr[149] = {
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
- 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2810,
- 2635, 2481, 2225, 2020, 1852, 1712, 1593, 1491, 1403, 1325, 1196,
- 1092, 1006, 935, 874, 822, 776, 736, 668, 614, 568, 530, 497, 468,
- 442, 419, 381, 349, 322, 299, 279, 261, 246, 233, 221, 210, 201,
- 192, 184, 177, 170, 164, 158, 153, 148, 143, 139, 135, 131, 128
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200,
+ 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3034, 2830, 2653,
+ 2498, 2240, 2033, 1864, 1722, 1603, 1500, 1411, 1332, 1202,
+ 1097, 1011, 939, 878, 825, 779, 739, 671, 616, 570,
+ 531, 498, 469, 443, 420, 381, 349, 322, 299, 279,
+ 262, 246, 233, 221, 210, 201, 192, 184, 177, 170,
+ 164, 158, 153, 148, 143, 139, 135, 131, 128
};
module_param_array(oo_y_lut_hdr_sdr, int, &num_hdr_sdr_lut, 0664);
MODULE_PARM_DESC(oo_y_lut_hdr_sdr, "\n num_hdr_sdr_lut\n");
hdr_mtx_param->p_sel == HLG_IPT)
adpscl_alpha[i] = 1000 *
(1 << adp_scal_y_shift) / 10000;
+ else if (hdr_mtx_param->p_sel == HDR_SDR)
+ adpscl_alpha[i] =
+ (1 << adp_scal_y_shift);
else
adpscl_alpha[i] =
(1 << adp_scal_y_shift);
/*shift0 is for x coordinate*/
/*shift1 is for scale multiple*/
if (hdr_mtx_param->p_sel == HDR_SDR) {
- adpscl_shift[0] = adp_scal_x_shift;
+ /*because input 1/2, shift0/shift1 need change*/
+ adpscl_shift[0] = adp_scal_x_shift - 1;
adpscl_shift[1] = OO_NOR -
- _log2((1 << OO_NOR) / oo_y_lut_hdr_sdr[148]);
+ _log2((1 << OO_NOR) / oo_y_lut_hdr_sdr[148]) - 1;
} else if (hdr_mtx_param->p_sel == HDR_HLG) {
adpscl_shift[0] = adp_scal_x_shift;
adpscl_shift[1] = OO_NOR -