amdv: top1 setting not match cmodel [1/1]

PD#SWPL-129146

Problem:
top1 setting not match cmodel

Solution:
add fps,dumpsample,dynamic cfg config

Verify:
T3X

Change-Id: I8415dd17e750c55034db131bba66e0fa362a0992
Signed-off-by: yao liu <yao.liu@amlogic.com>
This commit is contained in:
yao liu
2023-07-07 11:10:52 +08:00
committed by gerrit autosubmit
parent 4686f9216b
commit aa751d4a2c
4 changed files with 115 additions and 10 deletions
@@ -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;
@@ -9,7 +9,7 @@
/*#define V2_4_3*/
/* driver version */
#define DRIVER_VER "202300627"
#define DRIVER_VER "202300705"
#include <linux/types.h>
#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...)\
@@ -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*/
@@ -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,