diff --git a/drivers/media/enhancement/amdolby_vision/amdv.c b/drivers/media/enhancement/amdolby_vision/amdv.c index b1eb5cfe5..3b22caa6f 100644 --- a/drivers/media/enhancement/amdolby_vision/amdv.c +++ b/drivers/media/enhancement/amdolby_vision/amdv.c @@ -448,7 +448,7 @@ MODULE_PARM_DESC(ambient_test_mode, "\n ambient_test_mode\n"); struct ambient_cfg_s ambient_darkdetail = {16, 0, 0, 0, 0, 0, 1}; -static int content_fps = 24; +u32 content_fps = 24; int gd_rf_adjust; int enable_vf_check; static u32 last_vf_valid_crc; diff --git a/drivers/media/enhancement/amdolby_vision/amdv.h b/drivers/media/enhancement/amdolby_vision/amdv.h index 718fbf268..0e87d05cd 100644 --- a/drivers/media/enhancement/amdolby_vision/amdv.h +++ b/drivers/media/enhancement/amdolby_vision/amdv.h @@ -9,7 +9,7 @@ /*#define V2_4_3*/ /* driver version */ -#define DRIVER_VER "202300627" +#define DRIVER_VER "202300705" #include #include "amdv_pq_config.h" @@ -898,6 +898,7 @@ extern u32 fix_data; extern u8 *y_vaddr; extern u8 *uv_vaddr; extern bool force_enable_top12_lut; +extern u32 content_fps; /************/ #define pr_dv_dbg(fmt, args...)\ diff --git a/drivers/media/enhancement/amdolby_vision/amdv_hw5_process.c b/drivers/media/enhancement/amdolby_vision/amdv_hw5_process.c index d472b03e0..7bd5d12f1 100644 --- a/drivers/media/enhancement/amdolby_vision/amdv_hw5_process.c +++ b/drivers/media/enhancement/amdolby_vision/amdv_hw5_process.c @@ -1218,12 +1218,12 @@ int amdv_parse_metadata_hw5_top1(struct vframe_s *vf) v_inst_info->src_format = src_format; v_inst_info->input_mode = input_mode; - v_inst_info->video_width = w; - v_inst_info->video_height = h; + v_inst_info->video_width = w;//top1_vd_info.width; + v_inst_info->video_height = h;//top1_vd_info.height; tv_hw5_setting->top1.src_format = src_format; - tv_hw5_setting->top1.video_width = w; - tv_hw5_setting->top1.video_height = h; + tv_hw5_setting->top1.video_width = w;//top1_vd_info.width; + tv_hw5_setting->top1.video_height = h;//top1_vd_info.height; tv_hw5_setting->top1.input_mode = input_mode; tv_hw5_setting->top1.in_md = v_inst_info->md_buf[v_inst_info->current_id]; @@ -1244,9 +1244,9 @@ int amdv_parse_metadata_hw5_top1(struct vframe_s *vf) tv_hw5_setting->enable_debug = debug_ko; tv_hw5_setting->dither_bdp = 0;//dither bitdepth,0=>no dither tv_hw5_setting->L1L4_distance = -1; - tv_hw5_setting->num_ext_downsamplers = 0;//todo + tv_hw5_setting->num_ext_downsamplers = 1;//todo tv_hw5_setting->force_num_slices = 0; - tv_hw5_setting->frame_rate = 23976; + tv_hw5_setting->frame_rate = content_fps;//24000 if (run_control_path) { /*step1: top1 frame N*/ @@ -1974,9 +1974,9 @@ int amdv_parse_metadata_hw5(struct vframe_s *vf, tv_hw5_setting->enable_debug = debug_ko; tv_hw5_setting->dither_bdp = 0;//dither bitdepth,0=>no dither tv_hw5_setting->L1L4_distance = -1; - tv_hw5_setting->num_ext_downsamplers = 0;//todo + tv_hw5_setting->num_ext_downsamplers = 1;//todo tv_hw5_setting->force_num_slices = 0; - tv_hw5_setting->frame_rate = 23976; + tv_hw5_setting->frame_rate = content_fps; if (run_control_path) { /*step2: top2 frame N-1*/ diff --git a/drivers/media/enhancement/amdolby_vision/amdv_pq_config.c b/drivers/media/enhancement/amdolby_vision/amdv_pq_config.c index 8f33a84fd..74fd2a1db 100644 --- a/drivers/media/enhancement/amdolby_vision/amdv_pq_config.c +++ b/drivers/media/enhancement/amdolby_vision/amdv_pq_config.c @@ -364,6 +364,110 @@ struct dynamic_cfg_s dynamic_test_cfg[AMBIENT_CFG_FRAMES] = { { 96, 0, 0, 0, 0, 0, 0, 1, 19661, 0, 0, 0}, }; +struct dynamic_cfg_s dynamic_test_cfg_2[AMBIENT_CFG_FRAMES] = { + /* update_flag, ambient, rear, front, whitex, whitey,dark_detail */ + /*precision_rendering_upd_mode,precision_rendering_strength*/ + /*global_dimming_upd_mode,six_vector_upd_mode,l1l4_filtering_upd_mode*/ + {25, 1, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {24, 0, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {24, 0, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {24, 0, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {24, 0, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {28, 1, 0, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 0, 32768, 0, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 30000, 0, 32768, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {30, 1, 5276, 24942, 8454, 6947, 1, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {159, 1, 2204, 23229, 590, 30638, 1, 0, 0, 1, 0, 0}, + {159, 1, 4646, 25899, 31687, 9765, 1, 0, 0, 1, 0, 0}, + {156, 1, 4646, 25899, 492, 30114, 1, 0, 0, 1, 0, 0}, + {156, 1, 4646, 25899, 11633, 13402, 1, 0, 0, 1, 0, 0}, + {159, 1, 6276, 23229, 98, 16056, 1, 0, 0, 1, 0, 0}, + {14, 1, 5276, 23229, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {18, 1, 6558, 23229, 8454, 6947, 0, 0, 0, 1, 0, 0}, + {18, 1, 355, 23229, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {31, 1, 6898, 9651, 30540, 17105, 1, 0, 0, 1, 0, 0}, + {139, 1, 5558, 838, 30540, 17105, 1, 0, 0, 1, 0, 0}, + {157, 1, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {8, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {0, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {0, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {9, 1, 5558, 12792, 7438, 655, 1, 0, 0, 0, 0, 0}, + {4, 1, 5558, 12792, 30179, 14909, 1, 0, 0, 0, 0, 0}, + {11, 1, 1287, 16711, 30179, 14909, 1, 0, 0, 0, 0, 0}, + {15, 1, 991, 9667, 14451, 9699, 1, 0, 0, 0, 0, 0}, + {12, 1, 991, 9667, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {10, 1, 1382, 9667, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {9, 1, 1382, 14647, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {10, 1, 9080, 14647, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {12, 1, 9080, 14647, 21922, 16056, 1, 0, 0, 0, 0, 0}, + {11, 1, 6840, 13834, 21922, 16056, 1, 0, 0, 0, 0, 0}, + {13, 1, 6840, 21597, 25756, 26673, 1, 0, 0, 0, 0, 0}, + {5, 1, 6840, 17788, 3572, 28508, 1, 0, 0, 0, 0, 0}, +}; + +struct dynamic_cfg_s dynamic_test_cfg_3[AMBIENT_CFG_FRAMES] = { + /* update_flag, ambient, rear, front, whitex, whitey,dark_detail */ + /*precision_rendering_upd_mode,precision_rendering_strength*/ + /*global_dimming_upd_mode,six_vector_upd_mode,l1l4_filtering_upd_mode*/ + {31, 1, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {24, 0, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {24, 0, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {24, 0, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {24, 0, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {28, 1, 5, 24942, 0, 0, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 0, 32768, 0, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 30000, 0, 32768, 1, 0, 0, 0, 0, 0}, + {31, 1, 5, 24942, 32768, 32768, 1, 0, 0, 0, 0, 0}, + {30, 1, 5276, 24942, 8454, 6947, 1, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {24, 0, 5276, 24942, 8454, 6947, 0, 0, 0, 0, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {152, 0, 5276, 24942, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {159, 1, 2204, 23229, 590, 30638, 1, 0, 0, 1, 0, 0}, + {159, 1, 4646, 25899, 31687, 9765, 1, 0, 0, 1, 0, 0}, + {156, 1, 4646, 25899, 492, 30114, 1, 0, 0, 1, 0, 0}, + {156, 1, 4646, 25899, 11633, 13402, 1, 0, 0, 1, 0, 0}, + {159, 1, 6276, 23229, 98, 16056, 1, 0, 0, 1, 0, 0}, + {14, 1, 5276, 23229, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {18, 1, 6558, 23229, 8454, 6947, 0, 0, 0, 1, 0, 0}, + {18, 1, 355, 23229, 8454, 6947, 1, 0, 0, 1, 0, 0}, + {31, 1, 6898, 9651, 30540, 17105, 1, 0, 0, 1, 0, 0}, + {139, 1, 5558, 838, 30540, 17105, 1, 0, 0, 1, 0, 0}, + {157, 1, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {8, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {0, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {0, 0, 5558, 8462, 7438, 655, 1, 0, 0, 0, 0, 0}, + {9, 1, 5558, 12792, 7438, 655, 1, 0, 0, 0, 0, 0}, + {4, 1, 5558, 12792, 30179, 14909, 1, 0, 0, 0, 0, 0}, + {11, 1, 1287, 16711, 30179, 14909, 1, 0, 0, 0, 0, 0}, + {15, 1, 991, 9667, 14451, 9699, 1, 0, 0, 0, 0, 0}, + {12, 1, 991, 9667, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {10, 1, 1382, 9667, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {9, 1, 1382, 14647, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {10, 1, 9080, 14647, 12747, 5636, 1, 0, 0, 0, 0, 0}, + {12, 1, 9080, 14647, 21922, 16056, 1, 0, 0, 0, 0, 0}, + {11, 1, 6840, 13834, 21922, 16056, 1, 0, 0, 0, 0, 0}, + {13, 1, 6840, 21597, 25756, 26673, 1, 0, 0, 0, 0, 0}, + {5, 1, 6840, 17788, 3572, 28508, 1, 0, 0, 0, 0, 0}, +}; + struct target_config def_tgt_display_cfg_bestpq = { 36045, 2,