📄 dac_crt.c
字号:
PANEL_REDUCE_DE_SIZE_BIT | PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_NTSC_315K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64*2, // HSyncWidth
100*2, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
480, // DeHeight
928*2, // HTotal
525, // VTotal
29.232*2, // OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
PANEL_REDUCE_DE_SIZE_BIT | PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_VGA_315K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
100, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
720, // DeWidth
480, // DeHeight
928, // HTotal
525, // VTotal
29.232, // OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
NULL, //ExtendFlag
},
//DAC_FOR_720P_315K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
150, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
960, // DeWidth
480, // DeHeight
1238, // HTotal
525, // VTotal
38.997, // OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
PANEL_REDUCE_DE_SIZE_BIT,//ExtendFlag
},
//DAC_FOR_1080_315K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
257, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1440, // DeWidth
480, // DeHeight
1856, // HTotal
525, // VTotal
58.464, // OuputDClk
((PANEL_DAC_INTERLACE_BIT&0)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT,//ExtendFlag
},
//DAC_FOR_PAL_315K_100I
{
0 , // DEVstar
0x38*2, // HsyncShiftOffset
64*2, // HSyncWidth
150*2, // HSyncBackPorch
24, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
600, // DeHeight
928*2, // HTotal
630, // VTotal
29.232*2, // OuputDClk
((PANEL_DAC_INTERLACE_BIT&0xFF)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT|PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_NTSC_315K_120I
{
0 , // DEVstar
0x38*2, // HsyncShiftOffset
64*2, // HSyncWidth
150*2, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
480, // DeHeight
928*2, // HTotal
525, // VTotal
29.232*2, // OuputDClk
((PANEL_DAC_INTERLACE_BIT&0xFF)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT|PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//-----------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------
//DAC_FOR_PAL_375K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64*2, // HSyncWidth
100*2, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
576, // DeHeight
928*2, // HTotal
625, // VTotal
34.800*2,// OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
PANEL_REDUCE_DE_SIZE_BIT | PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_NTSC_375K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64*2, // HSyncWidth
100*2, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
576, // DeHeight
928*2, // HTotal
625, // VTotal
34.800*2,// OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
PANEL_REDUCE_DE_SIZE_BIT | PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_VGA_375K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
100, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
720, // DeWidth
576, // DeHeight
928, // HTotal
625, // VTotal
34.800, // OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
NULL, //ExtendFlag
},
//DAC_FOR_720P_375K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
150, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
960, // DeWidth
576, // DeHeight
1238, // HTotal
625, // VTotal
46.425, // OuputDClk
((PANEL_DAC_INTERLACE_BIT & 0) | (PANEL_DAC_I1440_MODE_BIT & 0) | (PANEL_DAC_INV_FIELD_BIT & 0 | PANEL_DAC_SHIFT_RIGHT_BIT & 0)),
PANEL_REDUCE_DE_SIZE_BIT,//ExtendFlag
},
//DAC_FOR_1080_375K
{
0 , // DEVstar
0x00, // HsyncShiftOffset
64, // HSyncWidth
257, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1440, // DeWidth
576, // DeHeight
1856, // HTotal
625, // VTotal
69.600, // OuputDClk
((PANEL_DAC_INTERLACE_BIT&0)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT,//ExtendFlag
},
//DAC_FOR_PAL_375K_100I
{
0 , // DEVstar
0x38*2, // HsyncShiftOffset
64*2, // HSyncWidth
150*2, // HSyncBackPorch
24, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
700, // DeHeight
928*2, // HTotal
750, // VTotal
34.800*2,// OuputDClk
((PANEL_DAC_INTERLACE_BIT&0xFF)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT|PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
//DAC_FOR_NTSC_375K_120I
{
0 , // DEVstar
0x38*2, // HsyncShiftOffset
64*2, // HSyncWidth
150*2, // HSyncBackPorch
19, // VSyncWidth
1, // VSyncBackPorch
1370, // DeWidth
576, // DeHeight
928*2, // HTotal
625, // VTotal
34.800*2,// OuputDClk
((PANEL_DAC_INTERLACE_BIT&0xFF)|(PANEL_DAC_I1440_MODE_BIT&0)|(PANEL_DAC_INV_FIELD_BIT&0|PANEL_DAC_SHIFT_RIGHT_BIT&0)),
PANEL_REDUCE_DE_SIZE_BIT|PANEL_DOUBLE_OSD_X_BIT,//ExtendFlag
},
#endif
//-----------------------------------------------------------------------------------------------------------------------------
};
////////////////////////////////////////////////////////
U16 pnl_crt_GetDeVStart(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].DEVstart;
}
////////////////////////////////////////////////////////
U8 pnl_crt_GetHSyncShift(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].HsyncShiftOffset;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetHStart(PanelSelectType PnlSel)
{
#if (ISCANENABLE)
if (PnlSel >= DAC_FOR_PAL_3375K_75I)
return ((PANEL_HSYNC_WIDTH+PANEL_HSYNC_BACK_PORCH)-pnl_crt_GetScanHshift(PnlSel));
else
#endif
return ((PANEL_HSYNC_WIDTH+PANEL_HSYNC_BACK_PORCH));
}
////////////////////////////////////////////////////////
U8 pnl_crt_GetHSyncWidth(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].HSyncWidth;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetHSyncBackPorch(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].HSyncBackPorch;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetVSyncWidth(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].VSyncWidth;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetVSyncBackPorch(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].VSyncBackPorch;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetDeWidth(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].DeWidth;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetDeHeight(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].DeHeight;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetHTotal(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].HTotal;
}
////////////////////////////////////////////////////////
U16 pnl_crt_GetVTotal(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].VTotal;
}
////////////////////////////////////////////////////////
U32 pnl_crt_GetOuputDClk(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].OuputDClk;
}
////////////////////////////////////////////////////////
U8 pnl_crt_GetOutputCtrl(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].OutputCtrl;
}
////////////////////////////////////////////////////////
U8 pnl_crt_ExtendFlag(PanelSelectType PnlSel)
{
return tPanelOutData[PnlSel].ExtendFlag;
}
#if (ISCANENABLE)
////////////////////////////////////////////////////////
// typedef struct _ScanType
// {
// U16 wHt;
// U16 wVt;
// U16 wHtotal; Only for scaling calculate
// U16 wVtotal; Only for scaling calculate
// U16 wVend;
// U8 ucHshift;
// U8 ucX;
// U8 ucY;
// }ScanType;
code ScanType tScanSetting[5]=
{
{1810, 450, 730, 364, 432, 27, 14, 12}, //75I 33750/ 75 = 450 576*(3/4) = 432
{1810, 375, 692, 370, 360, 27, 14, 12}, //90I 33750/ 90 = 375 480*(3/4) = 360
{1855, 337, 730, 494, 296, 27, 14, 12}, //100I 33750/100 = 337 576*(1/2) = 288
{1855, 281, 692, 504, 263, 27, 14, 12}, //120I 33750/120 = 281 480*(1/2) = 240
{1855, 562, 730, 364, 460, 27, 14, 12}, //60I 33750/60 = 562.5
};
U16 pnl_crt_GetScanHt(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].wHt;
}
U16 pnl_crt_GetScanVt(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].wVt;
}
U16 pnl_crt_GetScanHtotal(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].wHtotal;
}
U16 pnl_crt_GetScanVtotal(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].wVtotal;
}
U16 pnl_crt_GetScanVend(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].wVend;
}
U8 pnl_crt_GetScanHshift(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].ucHshift;
}
U8 pnl_crt_GetScanX(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].ucX;
}
U8 pnl_crt_GetScanY(PanelSelectType PnlSel)
{
return tScanSetting[PnlSel - DAC_FOR_PAL_3375K_75I].ucY;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -