📄 wndw_vga.c
字号:
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_VSYNC_START, 0x0001);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_VACTIVE_START, 0x0027);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_VACTIVE_END, 0x0427);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_VSYNC_END, 0x0000);
// }
// // added by hulee on jul06 2006 -- end
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
}
/*****************************************************/
/* MDIN-180 Deinterlacing Parameter Setting Function */
/*****************************************************/
void MDIN180DeintRegSet()
{
WriteI2CWord(I2C_ID_MDIN180, 0x502, 0x1C0F);
WriteI2CWord(I2C_ID_MDIN180, 0x503, 0x8040);
WriteI2CWord(I2C_ID_MDIN180, 0x504, 0x02FF);
WriteI2CWord(I2C_ID_MDIN180, 0x505, 0x0000);
WriteI2CWord(I2C_ID_MDIN180, 0x506, 0x4F20);
WriteI2CWord(I2C_ID_MDIN180, 0x507, 0x00ff);
WriteI2CWord(I2C_ID_MDIN180, 0x50A, 0x80D0);
WriteI2CWord(I2C_ID_MDIN180, 0x50C, 0x1330);
WriteI2CWord(I2C_ID_MDIN180, 0x50D, 0x6620);
WriteI2CWord(I2C_ID_MDIN180, 0x50E, 0x0824);
WriteI2CWord(I2C_ID_MDIN180, 0x512, 0x0040);
WriteI2CWord(I2C_ID_MDIN180, 0x513, 0x0003);
WriteI2CWord(I2C_ID_MDIN180, 0x514, 0x0855);
WriteI2CWord(I2C_ID_MDIN180, 0x516, 0x00B3);
WriteI2CWord(I2C_ID_MDIN180, 0x517, 0x1105);
WriteI2CWord(I2C_ID_MDIN180, 0x51A, 0x0000);
WriteI2CWord(I2C_ID_MDIN180, 0x51B, 0x4444);
WriteI2CWord(I2C_ID_MDIN180, 0x51C, 0x4000);
WriteI2CWord(I2C_ID_MDIN180, 0x51D, 0x4410);
WriteI2CWord(I2C_ID_MDIN180, 0x51F, 0x3C14);
WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x00FF);
WriteI2CWord(I2C_ID_MDIN180, 0x521, 0x3400);
WriteI2CWord(I2C_ID_MDIN180, 0x522, 0x3030);
WriteI2CWord(I2C_ID_MDIN180, 0x523, 0x0038);
WriteI2CWord(I2C_ID_MDIN180, 0x525, 0x14FF);
WriteI2CWord(I2C_ID_MDIN180, 0x526, 0xAD80); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x527, 0xF01C);
WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCCA8);
WriteI2CWord(I2C_ID_MDIN180, 0x52B, 0x0010);
WriteI2CWord(I2C_ID_MDIN180, 0x530, 0x0000);
WriteI2CWord(I2C_ID_MDIN180, 0x532, 0x8A1E);
WriteI2CWord(I2C_ID_MDIN180, 0x535, 0xBF9C);
WriteI2CWord(I2C_ID_MDIN180, 0x536, 0x0000);
WriteI2CWord(I2C_ID_MDIN180, 0x537, 0x321E);
WriteI2CWord(I2C_ID_MDIN180, 0x538, 0x50B0);
WriteI2CWord(I2C_ID_MDIN180, 0x539, 0x1212);
WriteI2CWord(I2C_ID_MDIN180, 0x53A, 0x0203);
WriteI2CWord(I2C_ID_MDIN180, 0x53B, 0x8874);
WriteI2CWord(I2C_ID_MDIN180, 0x53E, 0x8A19);
// if (InputResol == IN_720x480i) {
if(b_cmn_jp_vdo == VDO_NTSC){
WriteI2CWord(I2C_ID_MDIN180, 0x518, 0x00A0); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x50B, 0x0028);
WriteI2CWord(I2C_ID_MDIN180, 0x50F, 0x0D0A);
}
// else if (InputResol == IN_720x576i) {
else{
WriteI2CWord(I2C_ID_MDIN180, 0x518, 0x00C0);
WriteI2CWord(I2C_ID_MDIN180, 0x50B, 0x0028);
WriteI2CWord(I2C_ID_MDIN180, 0x50F, 0x080A);
}
// added by dsyang
// if (OutputResol == OUT_640x480) {
if(b_vga_or == VGA_OR_640x480){
// if (InputResol == IN_720x480i) {
if(b_cmn_jp_vdo == VDO_NTSC){
WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x4D12); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B14); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x10CA); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x00FF); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0F88); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0843); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCCA8); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x10DC); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x531, 0xA000); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A); //modified by PNS 060314
WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F3D); //modified by PNS 060314
}
// else if (InputResol == IN_720x576i) {
else{
WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x4D16);
WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B18);
WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028);
WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x14CF);
WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x007F);
WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0088);
WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0843);
WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCC40);
WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x105C); // 0x10DC); // modified by hulee jul22 2006
WriteI2CWord(I2C_ID_MDIN180, 0x531, 0x5000);
WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A);
WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F34); // 0x2F3D); // modified by hulee jul22 2006
}
}
// else if (OutputResol == OUT_800x600) {
else{
WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x0D16);
WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B18);
WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028);
WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x10CA);
WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x07F);
WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0088);
WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0A43);
WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCC28);
WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x105C); // 0x10DC); // modified by hulee jul22 2006
WriteI2CWord(I2C_ID_MDIN180, 0x531, 0xA12C);
WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A);
WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F34); // 0x2F3D); // modified by hulee jul22 2006
}
// // added by hulee on jul20 2006 -- start
// else if (OutputResol == OUT_720x480P) {
// WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x0D16);
// WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B18);
// WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028);
// WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x10CA);
// WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x07F);
// WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0088);
// WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0A43);
// WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCC28);
// WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x10DC);
// WriteI2CWord(I2C_ID_MDIN180, 0x531, 0xA12C);
// WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A);
// WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F3D);
// }
// // added by hulee on jul20 2006 -- end
// // added by hulee on jul06 2006 -- start
// else if (OutputResol == OUT_1024x768) {
// WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x0D16);
// WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B18);
// WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028);
// WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x10CA);
// WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x07F);
// WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0088);
// WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0A43);
// WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCC28);
// WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x105C); // 0x10DC); // modified by hulee jul22 2006
// WriteI2CWord(I2C_ID_MDIN180, 0x531, 0xA12C);
// WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A);
// WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F34); // 0x2F3D); // modified by hulee jul22 2006
// }
// else if (OutputResol == OUT_1280x1024) {
// WriteI2CWord(I2C_ID_MDIN180, 0x500, 0x0D16);
// WriteI2CWord(I2C_ID_MDIN180, 0x501, 0x3B18);
// WriteI2CWord(I2C_ID_MDIN180, 0x508, 0x0028);
// WriteI2CWord(I2C_ID_MDIN180, 0x509, 0x10CA);
// WriteI2CWord(I2C_ID_MDIN180, 0x520, 0x07F);
// WriteI2CWord(I2C_ID_MDIN180, 0x524, 0x0088);
// WriteI2CWord(I2C_ID_MDIN180, 0x528, 0x0A43);
// WriteI2CWord(I2C_ID_MDIN180, 0x529, 0xCC28);
// WriteI2CWord(I2C_ID_MDIN180, 0x52A, 0x105C); // 0x10DC); // modified by hulee jul22 2006
// WriteI2CWord(I2C_ID_MDIN180, 0x531, 0xA12C);
// WriteI2CWord(I2C_ID_MDIN180, 0x53C, 0x0A0A);
// WriteI2CWord(I2C_ID_MDIN180, 0x53D, 0x2F34); // 0x2F3D); // modified by hulee jul22 2006
// }
// // added by hulee on jul06 2006 -- end
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
}
/******************************************************/
/* MDIN-180 OutputSync reset Function */
/* for controlling fixed phase btw input & outpt sync */
/******************************************************/
void MDIN180SyncReset()
{
WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUTPUT_SYNC_RESET, 0x0005);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUTPUT_SYNC_RESET, 0x0005);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUTPUT_SYNC_RESET, 0x1005);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001);
}
/*******************************************/
/* MDIN-180 Surface Filter Enable Function */
/*******************************************/
void MDIN180SurfaceFltEn()
{
WriteI2CWord(I2C_ID_MDIN180, MDIN180_SURFACE_FLT0, 0x0100);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_SURFACE_FLT1, 0x0080);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_SURFACE_FLT2, 0x0080);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_SURFACE_FLT3, 0x0080);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_SURFACE_FLT_ENABLE, 0x0001);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001);
}
/*******************************************/
/* MDIN-180 Peaking Filter Enable Function */
/* for SD input, Center Freq: 3.5MHz */
/*******************************************/
void MDIN180PeakFltSDEn(void)
{
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT7, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT6, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT5, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT4, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT3, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT2, 0x700);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT1, 0x0);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT0, 0x200);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT_CTRL, 0x1000); /* Sharpness 0 */
WriteI2CWord(I2C_ID_MDIN180, MDIN180_H_PEAKING_FLT_ENABLE, 0x0001);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
}
/*****************************************/
/* MDIN-180 Croma Filter Enable Function */
/*****************************************/
void MDIN180CromaFltEn(void)
{
WriteI2CWord(I2C_ID_MDIN180, MDIN180_COLOR_ENH_FLT_ENABLE, 0x0001);
WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
}
///*************************************/
///* MDIN-180 YCbCr444 Output Function */
///*************************************/
//void MDIN180Yuv444Out(void)
//{
// /* Output CSC setting for YUV output */
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF0, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF1, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF2, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF3, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF4, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF5, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF6, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF7, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF8, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_OFFSET_Y, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_CTRL, 0x01dc);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_BLACK_LEVEL_CTRL, 0x0080);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUT_CTRL, 0x0048); /* YCbCr 444 output */
// MDIN180CromaFltEn();
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
//}
//
///*************************************/
///* MDIN-180 YCbCr422 Output Function */
///*************************************/
//void MDIN180Yuv422Out(void)
//{
// /* Output CSC setting for YUV output */
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF0, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF1, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF2, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF3, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF4, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF5, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF6, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF7, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF8, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_OFFSET_Y, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_CTRL, 0x01dc);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_BLACK_LEVEL_CTRL, 0x0080);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUT_CTRL, 0x0049); /* YCbCr 422 output */
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
//}
//
///***********************************/
///* MDIN-180 RGB HD Output Function */
///***********************************/
//void MDIN180RgbHdOut(void)
//{
// /* Output CSC setting for RGB HD output */
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF0, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF1, 0x0FA0);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF2, 0x0F10);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF3, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF4, 0x03B4);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF5, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF6, 0x0200);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF7, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_COEF8, 0x0324);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_OFFSET_Y, 0x0000);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_CSC_CTRL, 0x01C4);
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_BLACK_LEVEL_CTRL, 0x1010);
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_OUT_CTRL, 0x0008); /* RGB output */
//
// MDIN180CromaFltEn();
//
// WriteI2CWord(I2C_ID_MDIN180, MDIN180_LOCAL_REG_UPDATE, 0x0001); /* local reg. update */
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -