1.修复回放界面有红条的问题

This commit is contained in:
payton 2024-01-03 14:37:48 +08:00
parent 29db87bf99
commit f8ef234da9
6 changed files with 169 additions and 23 deletions

View File

@ -259,16 +259,30 @@ UINT32 pll_get_pll_freq(PLL_ID id)
*/
UINT32 pll_get_clock_rate(PLL_CLKSEL clk_sel)
{
UINT32 ui_mask, ui_reg_offset;
REGVALUE reg_data;
UINT32 ui_mask, ui_reg_offset;
REGVALUE reg_data;
ui_reg_offset = 0x20;
ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
// ui_reg_offset = 0x20;
// ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
if (clk_sel == PLL_CLKSEL_IDE_CLKSRC) {
ui_reg_offset = 0x20;
ui_mask = (0x7<<PLL_CLKSEL_IDE_CLKSRC_OFS);
} else if (clk_sel == PLL_CLKSEL_IDE_CLKDIV) {
ui_reg_offset = 0x34;
ui_mask = (0xFF);
} else if (clk_sel == PLL_CLKSEL_IDE_OUTIF_CLKDIV) {
ui_reg_offset = 0x34;
ui_mask = (0xFF << 8);
} else {
DBG_WRN("pll_get_clock_rate fail, return 0\r\n");
return 0;
}
reg_data = INREG32(IOADDR_CG_REG_BASE + ui_reg_offset);
reg_data &= ui_mask;
return (UINT32)reg_data;
reg_data = INREG32(IOADDR_CG_REG_BASE + ui_reg_offset);
reg_data &= ui_mask;
return (UINT32)reg_data;
}
void pll_set_clock_rate(PLL_CLKSEL clk_sel, UINT32 ui_value)

View File

@ -224,7 +224,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -264,6 +266,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -273,8 +317,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;

View File

@ -237,7 +237,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -277,6 +279,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -286,8 +330,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;

View File

@ -17,7 +17,7 @@
pwm2{pinmux = <0x0000000>;};
ccnt{pinmux = <0x0>;};
audio{pinmux = <0x0>;};
lcd{pinmux = <0x10000000>;};
lcd{pinmux = <0x10000006>;};/* rgb through */
tv{pinmux = <0x0>;};
eth{pinmux = <0x0>;};
misc{pinmux = <0x0>;};

View File

@ -405,20 +405,20 @@ static THREAD_RETTYPE thread_videoout(void *ptr)
pxlfmt) != HD_OK){
goto exit;
}
HD_URECT rect = (HD_URECT){0, 0, 720, 320};
// HD_URECT rect = (HD_URECT){0, 0, 720, 320};
//HD_URECT rect = (HD_URECT){0, 0, videoout_syscaps.output_dim.w, videoout_syscaps.output_dim.h};
if(flow_boot_logo_videoout_set_param_in_win(path_id, rect) != HD_OK){
goto exit;
}
HD_URECT rect = (HD_URECT){0, 0, videoout_syscaps.output_dim.w, videoout_syscaps.output_dim.h};
if(flow_boot_logo_videoout_set_param_in_win(path_id, rect) != HD_OK){
goto exit;
}
hd_videoout_start(path_id);
hd_videoout_start(path_id);
exit:
vos_flag_set(task_param->flag, FLAG_VIDEOOUT_TASK_EXIT);
vos_flag_set(task_param->flag, FLAG_VIDEOOUT_TASK_EXIT);
LINUX_BOOT_MSG("%s exit\n", __func__);
THREAD_RETURN(0);
LINUX_BOOT_MSG("%s exit\n", __func__);
THREAD_RETURN(0);
}
static THREAD_RETTYPE thread_videodec(void *ptr)

View File

@ -237,7 +237,9 @@ const T_PANEL_CMD t_cmd_mode_rgb320[] = {
const T_LCD_PARAM t_mode[] = {
/*********** RGB Serial MODE *************/
{
// T_PANEL_PARAM
#if 0
{
/* Old prototype */
PINMUX_LCDMODE_RGB_SERIAL, //!< LCDMode
@ -277,6 +279,48 @@ const T_LCD_PARAM t_mode[] = {
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#else
{
/* Old prototype */
PINMUX_LCDMODE_RGB_THROUGH, //!< LCDMode
// 18000000 / 3 , //24.0f, //!< fDCLK
5000000,
#if 1
1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod
720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod
69 / 3, //!< uiHSyncBackPorch
384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod
344, //!< uiVSyncActivePeriod
2, //!< uiVSyncBackPorchOdd
2, //!< uiVSyncBackPorchEven
720 / 3,//320,//PANELWIDTH, //!< uiBufferWidth
320,//720,//PANELHEIGHT, //!< uiBufferHeight
720 / 3,//320,//PANELWIDTH, //!< uiWindowWidth
320,//720,//PANELHEIGHT, //!< uiWindowHeight
#endif
#if 0
PANELWIDTH + 200, //!< uiHSyncTotalPeriod
PANELWIDTH, //!< uiHSyncActivePeriod
10, //!< uiHSyncBackPorch
PANELHEIGHT + 140, //!< uiVSyncTotalPeriod
PANELHEIGHT, //!< uiVSyncActivePeriod
4, //!< uiVSyncBackPorchOdd
4, //!< uiVSyncBackPorchEven
PANELWIDTH, //!< uiBufferWidth
PANELHEIGHT, //!< uiBufferHeight
PANELWIDTH, //!< uiWindowWidth
PANELHEIGHT, //!< uiWindowHeight
#endif
FALSE, //!< bYCbCrFormat
/* New added parameters */
0x0A, //!< uiHSyncSYNCwidth
0x04, //!< uiVSyncSYNCwidth
},
#endif
// tIDE_PARAM
{
@ -286,8 +330,8 @@ const T_LCD_PARAM t_mode[] = {
{FALSE,FALSE}, //!< dithering[2];
DISPLAY_DEVICE_TOPPOLY, //!< **DONT-CARE**
IDE_PDIR_RBG, //!< pdir;
IDE_LCD_G, //!< odd;
IDE_LCD_G, //!< even;
IDE_LCD_B, //!< odd;
IDE_LCD_B, //!< even;
TRUE, //!< hsinv;
TRUE, //!< vsinv;
FALSE, //!< hvldinv;