亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? videosourceswitch.c

?? Terawins的芯片T128點3.5"屏的源程序。
?? C
字號:
#include "Common.h"
#include "Global.h"
#include "ICControl.h"	
#include "VideoSourceSwitch.h"
#include "System.h"
#include "SRC_ctrl.h"
#include "TWICreg.h"
#include "Timer0.h"
#include "TxxInitTable.h"
#include "VideoDetect.h"
Source code uiaSrcMux1[]={
{0x0100, itypeCVBS,   isrcVIDEO    },
{0x1406, itypeSVIDEO, isrcVIDEO    },
#ifdef PC_MODE
{0x2A24, itypeRGB,    isrcANALOG   },
#endif
#ifdef YPbPr
{0x2824, itypeYPBPR,  isrcVIDEO    },
#endif
#ifdef DIGI_AVAILABLE
{0x0100, itypeRGB565, isrcDIGITAL  },
{0x2824, itype656,    isrcDIGITAL  },
#endif
};
void SourceSelect(void)
{

	ClosePanel(0x10, 0xff, 0x40);	// blue screen
	if((EepPublic.cSource==0)||(uiaSrcMux1[EepPublic.cSource].VideoType==itypeRGB565)||(uiaSrcMux1[EepPublic.cSource].VideoType==itypeSVIDEO))
	{
		SetSignalStd();             //set the chroma and the comb filter
		SetOPTiming();              //set the scaler,line buffer,output PLL,display window
	}

	IC_WritByte(TWIC_P0,0x0f,0x70);   //for position shift,ADC Power Down Control
	IC_WritByte(TWIC_P0,0x0f,0x00);   //for position shift
	IC_WritByte(TWIC_P0,0x31,0x00);   //Source Select Reg, Clear All.
	IC_WritByte(TWIC_P0,0x1a, 0x87);  //ADC Analog AGC Selection,dynamic gain

	if(uiaSrcMux1[EepPublic.cSource].SourceRoute==isrcVIDEO)
	{
		IC_WritByte(TWIC_P0,0xE0,0xB9);
		IC_WritByte(TWIC_P0,0x10, IC_ReadByte(TWIC_P0, 0x10)&~0x10);
		IC_WritByte(TWIC_P0,0x18, uiaSrcMux1[EepPublic.cSource].ADCMUX>>8);  // cMux1);
		IC_WritByte(TWIC_P0,0x19, uiaSrcMux1[EepPublic.cSource].ADCMUX&0xFF);  // cMux2);
		IC_WritByte(TWIC_P0,0x31, 0x04);	//Select VD input
		if(uiaSrcMux1[EepPublic.cSource].VideoType==itypeSVIDEO)
		{	
			IC_WritByte(TWIC_P0,0x11, 0x0d);

			IC_WritByte(TWIC_P2,0x07, 0x06|0x20);		
			IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)|0x01);
			IC_WritByte(TWIC_P2,0x01, IC_ReadByte(TWIC_P2,0x01)&~ENYPbPr);
			IC_WritByte(TWIC_P0,0x16, 0xD3);   //Line Lock PLL Divider Reg
			IC_WritByte(TWIC_P2,0x03, IC_ReadByte(TWIC_P2,0x03)|0x03);

			IC_WritByte(TWIC_P0,0x17, 0x4C); // kenny 20060627

			twdDelay(500);

			if((IC_ReadByte(TWIC_P2, 0x3A)&0x06)==0x06)
			{
				NoSignal=0;
				if(m_bPanelClose==1) //sm061011
					OpenPanel();				

			}			
		}
		else if((uiaSrcMux1[EepPublic.cSource].VideoType==itypeCVBS))
		{	// CVBS

			if(EepPublic.cSource==1)
				IC_WritByte(TWIC_P0,0x11, 0x08);
			else if(EepPublic.cSource==2)
				IC_WritByte(TWIC_P0,0x11, 0x04);
			else if(EepPublic.cSource==3)
				IC_WritByte(TWIC_P0,0x11, 0x00);

			IC_WritByte(TWIC_P2,0x07, 0x21);//0x05|0x22);
			IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0xfe);
			IC_WritByte(TWIC_P2,0x01, IC_ReadByte(TWIC_P2,0x01)&~ENYPbPr);
			IC_WritByte(TWIC_P0,0x16, 0xD3);//Line Lock PLL Divider Reg
			IC_WritByte(TWIC_P2,0x07, 0x02|0x20);
			if(m_cChroma==S_NTSC_4)  
				IC_WritByte(TWIC_P2,0x03, IC_ReadByte(TWIC_P2,0x03)&0xf8|0x03);
			else
				IC_WritByte(TWIC_P2,0x03, IC_ReadByte(TWIC_P2,0x03)&0xfc);

			twdDelay(500);

			if((IC_ReadByte(TWIC_P2, 0x3A)&0x06)==0x06)
			{
				NoSignal=0;
				if(m_bPanelClose==1)  //sm061011
					OpenPanel();
			}	
		}
		else if (uiaSrcMux1[EepPublic.cSource].VideoType==itypeYPBPR)
		{
			IC_WritByte(TWIC_P0,0x11, 0x55);    
			IC_WritByte(TWIC_P2,0x07, 0x20);
			IC_WritByte(TWIC_P2,0x01, IC_ReadByte(TWIC_P2,0x01)|ENYPbPr);
		}  
	}
	else if(uiaSrcMux1[EepPublic.cSource].SourceRoute==isrcANALOG)	 //rouce route videodecoder
	{
		IC_WritByte(TWIC_P0,0xE0,0xC9);
		IC_WritByte(TWIC_P0,0x10,0x29);
		IC_WritByte(TWIC_P0,0x18, uiaSrcMux1[EepPublic.cSource].ADCMUX>>8);  // cMux1);
		IC_WritByte(TWIC_P0,0x19, uiaSrcMux1[EepPublic.cSource].ADCMUX&0xFF);  // cMux2);
		IC_WritByte(TWIC_P2,0x07, 0x06&~0x20);

		if (uiaSrcMux1[EepPublic.cSource].VideoType==itypeRGB)
		{
			IC_WritByte(TWIC_P0,0x16, 0x03);
			IC_WritByte(TWIC_P0,0x31, 0x08);	//Select SDC RGB, SOY input.
			IC_WritByte(TWIC_P0,0x40, 0xC2);
			IC_WritByte(TWIC_P0,0x17, 0x18);
			IC_WritByte(TWIC_P0,0x1A, IC_ReadByte(TWIC_P0,0x1A)&0xF8);
			//~ Enable Interrupt ~//
//			IC_WritByte(TWIC_P0,0x33, 0xB0);
			IC_WritByte(TWIC_P0,0x32, 0xFF);
			IC_WritByte(TWIC_P0,0x37, 0x40);
			IC_WritByte(TWIC_P0,0x39, 0x10);
			twdDelay(50);        // For H/W stable.
		}
	}
#ifdef DIGI_AVAILABLE	
	else if(uiaSrcMux1[EepPublic.cSource].SourceRoute==isrcDIGITAL)
	{
		if (uiaSrcMux1[EepPublic.cSource].VideoType==itypeRGB565)
		{
			IC_WritByte(TWIC_P0,0x16, 0xD3);
			IC_WritByte(TWIC_P0,0x40, 0xC2);
			IC_WritByte(TWIC_P0,0x17, 0xC8);
			IC_WritByte(TWIC_P0,0xfe, 0x58);
			SRC_565();
		}else if (uiaSrcMux1[EepPublic.cSource].VideoType==itype656)
		{
			IC_WritByte(TWIC_P0,0xfe, 0xa8);
			SRC_656();
		}
	}
#endif

	if(uiaSrcMux1[EepPublic.cSource].SourceRoute!=isrcVIDEO)	
		Detect_Sig(1);                 //tune sound control 20060809
	twdDelay(500); 									
	IC_WritByte(TWIC_P0, 0xE2, 0x11);
}


/*   S E T   S I G N A L   S T D   */
/*-------------------------------------------------------------------------
    set chroma agc(P20x0c),chroma DTO increment0,1,2,3,(P20x18,19,1a,1b)
    and Comb Filter Configuration(P20x82)
-------------------------------------------------------------------------*/
void SetSignalStd(void)
{
	uCHAR RegIdx,ValIdx;//ruby,ChromaIdx;

	IC_WritByte(TWIC_P2, 0x3f, 0x01);  // reset comb filter //add by Sherman 06'01'16

	ValIdx=m_cChroma*SignalStdRegP2Cnt;	// S_NTSC=0x00
	for (RegIdx=0; RegIdx<SignalStdRegP2Cnt; RegIdx++, ValIdx++){
		IC_WritByte(TWIC_P2, ucaSignalStdRegP2[RegIdx], ucaSignalStdValP2[ValIdx]);
	}

	twdDelay(100);		 				
	IC_WritByte(TWIC_P2, 0x3f, 0x00); 
	SetIPVideoType();
}



/*   S E T   O   P   T I M I N G   */
/*-------------------------------------------------------------------------
    set the scaler,line buffer,output PLL,display window
-------------------------------------------------------------------------*/
void SetOPTiming(void)
{


		if((m_cStandard==S_NTSC)||(m_cStandard==S_NTSC_4)||(m_cStandard==S_PAL_M))
		{
			// kenny 20060512 ====================================================

			m_cBuff[0]=0;
			m_cBuff[1]=stInitOUT_T[0].ucRegAdr;
			while (m_cBuff[1] != 0xBF)
			{
				IC_WritByte(TWIC_P0,m_cBuff[1],stInitOUT_T[m_cBuff[0]].ucRegVal);
				m_cBuff[1]=stInitOUT_T[++m_cBuff[0]].ucRegAdr;
			}

//kenny 20060721
#ifdef TCON
			
	  		IC_WritByte(TWIC_P0, 0xe0, IC_ReadByte(TWIC_P0,0xe0)|0x01);// 0xb9);         
#else

//kenny 20060721
			IC_WritByte(TWIC_P0, 0xe0, IC_ReadByte(TWIC_P2,0xe0)&~0x01);// 0xb9);         	  		
#endif
			IC_WritByte(TWIC_P0, 0xe2, 0x11);

			// kenny 20060512 ====================================================

			//m_wBuff[1]=(uWORD)(m_cScaleratio)*P0ScaleAdrCnt;
			m_wBuff[1]=0*P0ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P0ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TWIC_P0, ucaZoomAdrP0[m_wBuff[0]], ucaZoomDataP0_NTSC[m_wBuff[1]]);
			}
			//m_wBuff[1]=(uWORD)(m_cScaleratio)*P2ScaleAdrCnt;
		    m_wBuff[1]=0*P2ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P2ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TWIC_P2, ucaZoomAdrP2[m_wBuff[0]], ucaZoomDataP2_NTSC[m_wBuff[1]]);
			}
		
			#ifdef SimulateSTH
			m_wBuff[1]=m_cScaleratio*P1ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P1ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TW803_P1, ucaZoomAdrP1[m_wBuff[0]], ucaZoomDataP1_NTSC[m_wBuff[1]]);
			}
			#endif

		}
		else
		{
			//m_wBuff[1]=(uWORD)(m_cScaleratio)*P0ScaleAdrCnt;
			m_wBuff[1]=0*P0ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P0ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TWIC_P0, ucaZoomAdrP0[m_wBuff[0]], ucaZoomDataP0_PAL[m_wBuff[1]]);
			}
			//m_wBuff[1]=(uWORD)(m_cScaleratio)*P2ScaleAdrCnt;
			m_wBuff[1]=0*P2ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P2ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TWIC_P2, ucaZoomAdrP2[m_wBuff[0]], ucaZoomDataP2_PAL[m_wBuff[1]]);
			}
			// Add by Sherman 06'01'06
			#ifdef SimulateSTH
			m_wBuff[1]=m_cScaleratio*P1ScaleAdrCnt;
			for (m_wBuff[0]=0; m_wBuff[0]<P1ScaleAdrCnt; m_wBuff[0]++, m_wBuff[1]++){
				IC_WritByte(TW803_P1, ucaZoomAdrP1[m_wBuff[0]], ucaZoomDataP1_PAL[m_wBuff[1]]);
			}
			#endif
			// end of add by Sherman
		}

	IC_WritByte(TWIC_P0, 0xe2, 0x11);
}


/*   S E T   I   P   V I D E O   T Y P E   */
/*-------------------------------------------------------------------------
    set video source selection of Comb Filter(P20x00),
    set bandwidth control register(P20x01)
    set comb filtering mode register(P20x03)
-------------------------------------------------------------------------*/
void SetIPVideoType(void)
{
	if(m_cChroma==S_NTSC){
		m_wVTotal=525;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01);
		IC_WritByte(TWIC_P2,0x01, IC_ReadByte(TWIC_P2,0x01)|0x09);
		if(uiaSrcMux1[EepPublic.cSource].VideoType==itypeSVIDEO)
				IC_WritByte(TWIC_P2,0x03, 0x03);
		else 	IC_WritByte(TWIC_P2,0x03, 0x00);
	}
	else if(m_cChroma==S_PAL){
		m_wVTotal=625;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01|0x32);
		IC_WritByte(TWIC_P2,0x01, IC_ReadByte(TWIC_P2,0x01)|0x08);
		IC_WritByte(TWIC_P2,0x03, IC_ReadByte(TWIC_P2,0x03)&0x01|0x02);
	}
	else if(m_cChroma==S_SECAM){
		m_wVTotal=625;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01|0x28);
		IC_WritByte(TWIC_P2,0x03, IC_ReadByte(TWIC_P2,0x03)&0x01|0x02);
	}
	else if(m_cChroma==S_PAL_M){
		m_wVTotal=525;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01|0x04);
	}
	else if(m_cChroma==S_PAL_CN){
		m_wVTotal=625;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01|0x26);
	}
	else if(m_cChroma==S_NTSC_4){
		m_wVTotal=525;
		IC_WritByte(TWIC_P2,0x00, IC_ReadByte(TWIC_P2,0x00)&0x01|0x00);
		if(uiaSrcMux1[EepPublic.cSource].VideoType==itypeSVIDEO)
				IC_WritByte(TWIC_P2,0x03, 0x03);
		else 	IC_WritByte(TWIC_P2,0x03, 0x03);
	}

}
//#ifdef AUTO_DETECT
void Detect_Sig(bit detect)
{
	m_cBuff[0]=1;
			  

	if ((uiaSrcMux1[EepPublic.cSource].VideoType==itypeRGB565)|(uiaSrcMux1[EepPublic.cSource].VideoType==itype656))
	{
		IC_WritByte(TWIC_P0, 0x33,0x00);
		twdDelay(50);
	    IC_WritByte(TWIC_P0, 0x32,0x3f);
		twdDelay(50);
		m_cBuff[0]=IC_ReadByte(TWIC_P0, 0x32);    //interrupt status register		
		m_cBuff[0] &= 0x01;             //if lost vsync
	}
 
	if (uiaSrcMux1[EepPublic.cSource].VideoType==itypeRGB)
	{
	    m_cBuff[0]=IC_ReadByte(TWIC_P2, 0x3A)&0x01;//!SyncChangDect();
	}

	if (uiaSrcMux1[EepPublic.cSource].SourceRoute==isrcVIDEO)
	{
	    m_cBuff[0]=IC_ReadByte(TWIC_P2, 0x3A)&0x01;        // if signal detected
	}

	if(m_cBuff[0])  // No signal
	{
		if((detect)||(NoSignal!=m_cBuff[0]))  // When switch to signal lost input or Signal lost
		{
			Timer0Stop();
			ClosePanel(0x10, 0xff, 0x40);				
		}
	}
	else
	{
		if((detect)|| (NoSignal!=m_cBuff[0]))  //When video switch and signal is normal
		{
			OpenPanel();
		}	
    }
	NoSignal= m_cBuff[0];
}
//#endif //AUTO_DETECT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日韩在线观看| 午夜视频一区二区| 69成人精品免费视频| 国产suv一区二区三区88区| 香蕉久久夜色精品国产使用方法 | 经典三级在线一区| 亚洲男同1069视频| 精品国产凹凸成av人导航| 在线视频你懂得一区| 国产美女在线精品| 日本亚洲一区二区| 亚洲免费大片在线观看| 国产三级一区二区三区| 欧美大片一区二区三区| 在线视频中文字幕一区二区| 日韩一级完整毛片| 欧美丝袜自拍制服另类| 不卡电影免费在线播放一区| 国模娜娜一区二区三区| 丝袜诱惑亚洲看片| 亚洲一二三级电影| 亚洲黄色免费电影| 亚洲另类中文字| 亚洲天堂av老司机| 国产精品久久一卡二卡| 国产午夜精品一区二区三区视频 | 国产精品538一区二区在线| 偷拍日韩校园综合在线| 亚洲激情欧美激情| 一区二区三区在线视频观看58| 国产精品麻豆99久久久久久| 久久久久成人黄色影片| www精品美女久久久tv| 精品久久久久久久久久久院品网| 欧美一区二区三区在线视频| 91精品欧美久久久久久动漫 | 中文字幕一区二区不卡| 国产精品美女一区二区| 国产精品久久久久精k8| 国产欧美日韩在线观看| 国产欧美日韩激情| 国产精品你懂的| 亚洲欧美自拍偷拍| 亚洲男人的天堂在线观看| 亚洲乱码中文字幕| 亚洲sss视频在线视频| 香蕉影视欧美成人| 麻豆一区二区在线| 精品在线免费视频| 激情久久五月天| 国产美女av一区二区三区| 国产91在线|亚洲| 成人激情动漫在线观看| 97久久久精品综合88久久| 91在线视频官网| 欧美日韩精品一二三区| 777色狠狠一区二区三区| 精品国产伦一区二区三区免费| 精品久久人人做人人爰| 国产精品少妇自拍| 夜夜爽夜夜爽精品视频| 日本vs亚洲vs韩国一区三区二区| 欧美aaaaaa午夜精品| 国产精品一区二区x88av| 99国产精品久久久久久久久久久| 91国产丝袜在线播放| 91精品国产综合久久久久久久| 日韩免费高清视频| 中文字幕日韩一区| 亚洲成人精品一区二区| 欧美片在线播放| 久久网站热最新地址| 综合精品久久久| 日韩成人精品在线观看| 国产99久久精品| 欧美欧美欧美欧美| 日本一二三不卡| 午夜电影网亚洲视频| 国产黄色成人av| 在线精品观看国产| 久久久久久免费网| 亚洲国产精品自拍| 国产成人综合亚洲网站| 欧美性三三影院| 久久久久国色av免费看影院| 一个色在线综合| 国产精品18久久久久久久久| 欧美最新大片在线看 | 亚洲a一区二区| 久久99精品国产.久久久久| av午夜精品一区二区三区| 日韩一区二区三区视频| 中文字幕永久在线不卡| 美女视频网站久久| 在线视频国内一区二区| 国产欧美一二三区| 免费成人美女在线观看.| 一本色道a无线码一区v| 久久久久久久久岛国免费| 调教+趴+乳夹+国产+精品| bt欧美亚洲午夜电影天堂| 精品久久久久久久久久久久久久久| 一区二区在线看| 国产一区91精品张津瑜| 日韩欧美在线网站| 亚洲一二三四区不卡| 成人av电影免费在线播放| 日韩欧美国产精品一区| 亚洲电影欧美电影有声小说| 99视频热这里只有精品免费| 精品国免费一区二区三区| 日韩精彩视频在线观看| 欧美在线影院一区二区| 国产精品国产成人国产三级 | 亚洲国产人成综合网站| 91女人视频在线观看| 国产片一区二区三区| 奇米色777欧美一区二区| 欧美无乱码久久久免费午夜一区 | 欧美一级高清片在线观看| 夜夜爽夜夜爽精品视频| 91麻豆视频网站| 中文字幕一区二区三区蜜月| 岛国一区二区三区| 久久综合色8888| 狠狠久久亚洲欧美| 精品国产髙清在线看国产毛片| 日本不卡高清视频| 欧美视频你懂的| 色哟哟精品一区| 亚洲三级电影网站| 97aⅴ精品视频一二三区| 中文字幕亚洲区| 99国产一区二区三精品乱码| 日韩美女精品在线| 色婷婷av一区二区| 亚洲一区二区三区三| 在线免费不卡电影| 亚洲一区二区偷拍精品| 在线亚洲精品福利网址导航| 夜夜精品视频一区二区| 欧美午夜片在线观看| 五月天中文字幕一区二区| 欧美狂野另类xxxxoooo| 午夜久久久久久| 日韩午夜激情免费电影| 久久国产日韩欧美精品| 2024国产精品| 国产盗摄一区二区三区| 一色桃子久久精品亚洲| 97成人超碰视| 亚洲成精国产精品女| 精品日韩99亚洲| 粉嫩av一区二区三区| 亚洲色图清纯唯美| 欧美色倩网站大全免费| 日本vs亚洲vs韩国一区三区 | 国内久久精品视频| 中文字幕高清一区| 91老司机福利 在线| 亚洲一区二区三区在线播放| 欧美精品久久99久久在免费线| 蜜臀av一级做a爰片久久| 久久婷婷国产综合精品青草| 波多野结衣中文字幕一区 | 国产成人在线影院| 亚洲卡通动漫在线| 欧美一级高清大全免费观看| 国产一区二区三区四区五区入口| 国产精品欧美综合在线| 91福利区一区二区三区| 美女性感视频久久| 国产精品乱人伦一区二区| 欧美四级电影网| 国产在线播放一区| 亚洲精品视频在线观看网站| 777色狠狠一区二区三区| 丁香亚洲综合激情啪啪综合| 亚洲日本电影在线| 日韩欧美国产三级电影视频| 成人午夜免费av| 日日摸夜夜添夜夜添国产精品| 中文字幕乱码亚洲精品一区| 欧美日韩中文另类| 成人av免费网站| 麻豆高清免费国产一区| 亚洲三级电影全部在线观看高清| 欧美一级免费大片| 91在线视频在线| 韩国一区二区在线观看| 亚洲国产精品影院| 国产精品色眯眯| 欧美mv日韩mv亚洲| 欧美日韩国产综合久久| 波多野结衣在线aⅴ中文字幕不卡| 日一区二区三区| 综合欧美一区二区三区| www激情久久| 欧美一级高清大全免费观看| 色老头久久综合|