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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vportcap.c

?? DM642四路圖像采集存儲程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
	VP_FSETH(vpCaptureHandle, VPCTL, VPHLT, VP_VPCTL_VPHLT_CLEAR);
	/* .............. */
	/* enable capture */
	/* .............. */
	/* set VCEN bit to enable capture,使能VCB口 */
	VP_FSETH(vpCaptureHandle, VCBCTL, VCEN, VP_VCBCTL_VCEN_ENABLE);
	/* clear BLKCAP in VCB_CTL to enable capture DMA events */
	VP_FSETH(vpCaptureHandle, VCBCTL, BLKCAP,VP_VCBCTL_BLKCAP_CLEAR);
	
	return (vpCaptureHandle);
}









VP_Handle bt656_8bit_ncfc( int portNumber)//VP0,VP1,VP2通道A初始化函數(shù)
{
	/* Open video port for capture ,打開一個視頻端口*/
	vpCaptureHandle = VP_open(portNumber, VP_OPEN_RESET);
	if(vpCaptureHandle == INV)
	{
		return (VP_Handle)0xffff;
	}
	/* Enable video port functionality in VP Peripheral Control Reg(PCR),使能視頻端口*/
	VP_FSETH(vpCaptureHandle, PCR, PEREN, VP_PCR_PEREN_ENABLE);
	/* ..................... */
	/* Enable all interrupts */
	/* ..................... */
	/*便能VCA的中斷源*/
	/* Enable capture overrun interrupt(COVRA) for VP channel A */
	VP_FSETH(vpCaptureHandle, VPIE, COVRA, VP_VPIE_COVRA_ENABLE);
	/* Enable capture complete interrupt(CCMPA) for VP channel A */
	VP_FSETH(vpCaptureHandle, VPIE, CCMPA, VP_VPIE_CCMPA_ENABLE);
	/* Enable channel synchronization error interrupt(SERRA) for */
	/* VP channel A */
	VP_FSETH(vpCaptureHandle, VPIE, SERRA, VP_VPIE_SERRA_ENABLE);
	/* Enable short field detect interrupt(SFDA) for VP channel A */
	VP_FSETH(vpCaptureHandle, VPIE, SFDA, VP_VPIE_SFDA_ENABLE);
	/* Enable video port global interrupt enable */
	VP_FSETH(vpCaptureHandle, VPIE, VIE, VP_VPIE_VIE_ENABLE);
	/* ...................... */
	/* Setup all other fields */
	/* ...................... */
	
	/* Enable short field detect,使能缺場探測*/
	VP_FSETH(vpCaptureHandle, VCACTL, SFDE, VP_VCACTL_SFDE_ENABLE);
	/* Set last pixel to be captured in Field1 (VCA_STOP1 reg) */
	/*設(shè)置第一場的最后一個像素的Y軸與X軸的坐標(biāo)*/
	VP_RSETH(vpCaptureHandle, VCASTOP1,VP_VCASTOP1_RMK(VCA_YSTOP1, VCA_XSTOP1));
	/* Set last pixel to be captured in Field2 (VCA_STOP2 reg) */
	/*設(shè)置第二場的最后一個像素的Y軸與X軸的坐標(biāo)*/
	VP_RSETH(vpCaptureHandle, VCASTOP2,VP_VCASTOP2_RMK(VCA_YSTOP2, VCA_XSTOP2));
	/* Set first pixel to be captured in Field1 (VCA_STRT1 reg) */
	/*設(shè)置第一場的第一個像素的Y軸與X軸的坐標(biāo)*/
	VP_RSETH(vpCaptureHandle, VCASTRT1, VP_VCASTRT1_RMK(VCA_YSTART1,VP_VCASTRT1_SSE_ENABLE, VCA_XSTART1));
	/* Set first pixel to be captured in Field2 (VCA_STRT2 reg) */
	/*設(shè)置第二場的第一個像素的Y軸與X軸的坐標(biāo)*/
	VP_RSETH(vpCaptureHandle, VCASTRT2,VP_VCASTRT2_RMK(VCA_YSTART2, VCA_XSTART2));
	/* Set threshold values ,設(shè)置EDMA啟動的門限*/
	VP_RSETH(vpCaptureHandle, VCATHRLD,VP_VCATHRLD_RMK(VCA_THRLD_FIELD2, VCA_THRLD_FIELD1));
	/* Set capture event.register values,設(shè)置一場的需要的EDMA的次數(shù) */
	VP_RSETH(vpCaptureHandle, VCAEVTCT,VP_VCAEVTCT_RMK(VCA_CAPEVT2,VCA_CAPEVT1));
	/* Vertical interrupts (VCA_INT) are not enabled in this example. */
	/* Set CMODE to 8.bit BT.656,采用BT656格式的數(shù)據(jù)流 */
	VP_FSETH(vpCaptureHandle, VCACTL, CMODE, VP_VCACTL_CMODE_BT656B);
	/* Set non.continuous frame capture,設(shè)置為電視顯示格式的采集,即不連續(xù)的采集,
	   CON/FRAME/CF2/CF1的值為0100 */
	VP_FSETH(vpCaptureHandle, VCACTL, CON, VP_VCACTL_CON_DISABLE);
	VP_FSETH(vpCaptureHandle, VCACTL, FRAME, VP_VCACTL_FRAME_FRMCAP);
	VP_FSETH(vpCaptureHandle, VCACTL, CF2, VP_VCACTL_CF2_NONE);
	VP_FSETH(vpCaptureHandle, VCACTL, CF1, VP_VCACTL_CF1_NONE);
	/* Let FLDD and FINV to be their defaults */
	/* Set VRST to end of vertical blanking,VCOUNT復(fù)位在場消隱之后 */
	VP_FSETH(vpCaptureHandle, VCACTL, VRST, VP_VCACTL_VRST_V0EAV);
	/* Set HRST to start of horizontal blanking,行計數(shù)復(fù)位在EAV之后 */
	VP_FSETH(vpCaptureHandle, VCACTL, HRST, VP_VCACTL_HRST_OF(0));
	/* 10.bit pack mode(10BPK bit) in this 8.bit example */
	/* No (1/2) scaling and no chroma re.sampling in this example */
	/*初始化EDMA通路,由portNumber判斷需要配置哪個DMA通道*/
	if(portNumber==0)
	IRQ_enable(IRQ_EVT_VINT1);
	else if(portNumber==1)
	IRQ_enable(IRQ_EVT_VINT1);
	else
	IRQ_enable(IRQ_EVT_VINT2);
	/* Enable video port interrupts */
	IRQ_enable(vpCaptureHandle->eventId);
	/*根據(jù)標(biāo)志位判斷需要設(shè)置的EDMA通路 Setup Y, Cb and Cr EDMA channels */
	if (portNumber==0)
	setupVPCapChaAEDMA0(portNumber);
	else if(portNumber==1)
	setupVPCapChaAEDMA1(portNumber);
	else if(portNumber==2&WV==0)
	setupVPCapChaAEDMA2(portNumber);

	/* Clear VPHLT in VP_CTL to make video port function,清除VPHLT位?
	   使能其它位 */
	VP_FSETH(vpCaptureHandle, VPCTL, VPHLT, VP_VPCTL_VPHLT_CLEAR);
	/* .............. */
	/* enable capture */
	/* .............. */
	/* set VCEN bit to enable capture,使能VCA口 */
	VP_FSETH(vpCaptureHandle, VCACTL, VCEN, VP_VCACTL_VCEN_ENABLE);
	/* clear BLKCAP in VCA_CTL to enable capture DMA events */
	VP_FSETH(vpCaptureHandle, VCACTL, BLKCAP,VP_VCACTL_BLKCAP_CLEAR);
	
	return (vpCaptureHandle);
}
/*******************************************************************/
/* Function : bt656_capture_start    							   */
/* Input(s) : VP_handle									           */
/* Description : Configures given video port for 8.bit BT.656 non. */
/* continuos frame capture on channel A.                           */
/*******************************************************************/
void bt656_capture_start(VP_Handle videoHandle)
{	
}
/*................................................................ */
/* Function : VPCapChaAIsr */
/* Description : This capture ISR clears FRMC to continue capture */
/* in this non.continuous mode and also clears other */
/* status bits. */
/*................................................................ */
interrupt void VPCapChaAIsr(void)
{
	Uint32 vpis = 0;
	/* Get video port status register value */
	vpis = VP_RGETH(vpCaptureHandle, VPIS);
	if(vpis & _VP_VPIS_CCMPA_MASK) /* capture complete */
	{
		/* Clear frame complete bit in VCX_CTL to continue capture in non-continuous mode*/
		VP_FSETH(vpCaptureHandle, VCASTAT, FRMC,VP_VCASTAT_FRMC_CLEAR);
		/* Clear CCMPA to enable next frame complete interrupts*/
		VP_FSETH(vpCaptureHandle, VPIS, CCMPA,VP_VPIS_CCMPA_CLEAR);
		capChaAFrameCount++; /* increment captured frame count */
		capNewFrame = 1;
	}
	if(vpis & _VP_VPIS_COVRA_MASK) /* overrun error */
	{
		capChaAOverrun++;
		VP_FSETH(vpCaptureHandle, VPIS, COVRA,VP_VPIS_COVRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SERRA_MASK) /* synchronization error */
	{
		capChaASyncError++;
		VP_FSETH(vpCaptureHandle, VPIS, SERRA,VP_VPIS_SERRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SFDA_MASK) /* short field detect */
	{
		capChaAShortFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, SFDA, VP_VPIS_SFDA_CLEAR);
	}
	if(vpis & _VP_VPIS_LFDA_MASK) /* long field detect */
	{
		capChaALongFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, LFDA, VP_VPIS_LFDA_CLEAR);
	}
}




interrupt void cap1(void)
{
    Uint32 vpis = 0;   
	/* Get video port status register value */
	vpis = VP_RGETH(vpCaptureHandle, VPIS);
	if(vpis & _VP_VPIS_CCMPA_MASK) /* capture complete */
	{
		/* Clear frame complete bit in VCX_CTL to continue capture in non-continuous mode*/
		VP_FSETH(vpCaptureHandle, VCASTAT, FRMC,VP_VCASTAT_FRMC_CLEAR);
		/* Clear CCMPA to enable next frame complete interrupts*/
		VP_FSETH(vpCaptureHandle, VPIS, CCMPA,VP_VPIS_CCMPA_CLEAR);
		capChaAFrameCount++; /* increment captured frame count */
		capNewFrame1 = 1;
	}
	if(vpis & _VP_VPIS_COVRA_MASK) /* overrun error */
	{
		capChaAOverrun++;
		VP_FSETH(vpCaptureHandle, VPIS, COVRA,VP_VPIS_COVRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SERRA_MASK) /* synchronization error */
	{
		capChaASyncError++;
		VP_FSETH(vpCaptureHandle, VPIS, SERRA,VP_VPIS_SERRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SFDA_MASK) /* short field detect */
	{
		capChaAShortFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, SFDA, VP_VPIS_SFDA_CLEAR);
	}
	if(vpis & _VP_VPIS_LFDA_MASK) /* long field detect */
	{
		capChaALongFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, LFDA, VP_VPIS_LFDA_CLEAR);
	}
}



interrupt void cap2(void)
{
    if(WV==0)
    {
    Uint32 vpis = 0;   
	/* Get video port status register value */
	vpis = VP_RGETH(vpCaptureHandle, VPIS);
	if(vpis & _VP_VPIS_CCMPA_MASK) /* capture complete */
	{
		/* Clear frame complete bit in VCX_CTL to continue capture in non-continuous mode*/
		VP_FSETH(vpCaptureHandle, VCASTAT, FRMC,VP_VCASTAT_FRMC_CLEAR);
		/* Clear CCMPA to enable next frame complete interrupts*/
		VP_FSETH(vpCaptureHandle, VPIS, CCMPA,VP_VPIS_CCMPA_CLEAR);
		capChaAFrameCount++; /* increment captured frame count */
		capNewFrame2 = 1;
	}
	if(vpis & _VP_VPIS_COVRA_MASK) /* overrun error */
	{
		capChaAOverrun++;
		VP_FSETH(vpCaptureHandle, VPIS, COVRA,VP_VPIS_COVRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SERRA_MASK) /* synchronization error */
	{
		capChaASyncError++;
		VP_FSETH(vpCaptureHandle, VPIS, SERRA,VP_VPIS_SERRA_CLEAR);
	}
	if(vpis & _VP_VPIS_SFDA_MASK) /* short field detect */
	{
		capChaAShortFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, SFDA, VP_VPIS_SFDA_CLEAR);
	}
	if(vpis & _VP_VPIS_LFDA_MASK) /* long field detect */
	{
		capChaALongFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, LFDA, VP_VPIS_LFDA_CLEAR);
	}
	}
	if(WV==1)
	{
	Uint32 vpis = 0;
	/* Get video port status register value */
	vpis = VP_RGETH(vpCaptureHandle, VPIS);
	if(vpis & _VP_VPIS_CCMPB_MASK) /* capture complete */
	{
		/* Clear frame complete bit in VCX_CTL to continue capture in non-continuous mode*/
		VP_FSETH(vpCaptureHandle, VCBSTAT, FRMC,VP_VCBSTAT_FRMC_CLEAR);
		/* Clear CCMPA to enable next frame complete interrupts*/
		VP_FSETH(vpCaptureHandle, VPIS, CCMPB,VP_VPIS_CCMPA_CLEAR);
		capChaAFrameCount++; /* increment captured frame count */
		capNewFrame3 = 1;
	}
	if(vpis & _VP_VPIS_COVRB_MASK) /* overrun error */
	{
		capChaAOverrun++;
		VP_FSETH(vpCaptureHandle, VPIS, COVRB,VP_VPIS_COVRB_CLEAR);
	}
	if(vpis & _VP_VPIS_SERRA_MASK) /* synchronization error */
	{
		capChaASyncError++;
		VP_FSETH(vpCaptureHandle, VPIS, SERRB,VP_VPIS_SERRB_CLEAR);
	}
	if(vpis & _VP_VPIS_SFDA_MASK) /* short field detect */
	{
		capChaAShortFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, SFDB, VP_VPIS_SFDB_CLEAR);
	}
	if(vpis & _VP_VPIS_LFDA_MASK) /* long field detect */
	{
		capChaALongFieldDetect++;
		VP_FSETH(vpCaptureHandle, VPIS, LFDB, VP_VPIS_LFDB_CLEAR);
	}
	}
}





/*................................................................ */
/* Function : setupVPCapChaAEDMA(Int32 portNumber) */
/* Input(s) : portNumber, video port number i.e. 0, 1 or 2. */
/* Description : Sets up EDMA channels for Y, U, V events for */
/* channel A capture. */
/*功能描述:將為Y,U,V建立EDMA的通路*/
/*................................................................ */
void setupVPCapChaAEDMA0(int portNumber)//初始化VP0視頻口的B通路對應(yīng)的DMA通道
{
	Int32 YEvent, UEvent, VEvent;
	/* get channelA Y, U, V EDMA event numbers,選擇觸發(fā)事件 */
	switch(portNumber)
	{
		/*確定相應(yīng)的DMA通路*/
		case VP_DEV0: 
			YEvent = EDMA_CHA_VP0EVTYA;
			UEvent = EDMA_CHA_VP0EVTUA;
			VEvent = EDMA_CHA_VP0EVTVA;
			break;
		case VP_DEV1: 
			YEvent = EDMA_CHA_VP1EVTYA;
			UEvent = EDMA_CHA_VP1EVTUA;
			VEvent = EDMA_CHA_VP1EVTVA;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九精品一区二区| 国产无一区二区| 成人免费在线视频| 国产毛片精品国产一区二区三区| 在线观看91av| 亚洲成人资源在线| 欧美专区日韩专区| 亚洲乱码国产乱码精品精98午夜 | 久久久久9999亚洲精品| 日韩va亚洲va欧美va久久| 欧美色图片你懂的| 亚洲国产综合人成综合网站| 99久久精品国产一区二区三区| 久久久久久免费| 国产精品一区2区| 久久久另类综合| 国产精品乡下勾搭老头1| 久久久久久97三级| 国产成人精品影视| 中文字幕av不卡| 97精品久久久午夜一区二区三区| 中文字幕一区不卡| 日本电影亚洲天堂一区| 亚洲狠狠爱一区二区三区| 欧美日韩色综合| 男女男精品网站| 亚洲精品一区二区三区福利| 国产麻豆精品一区二区| 国产精品久久久久久久久图文区| 97久久超碰精品国产| 亚洲成人777| 欧美岛国在线观看| 国产盗摄视频一区二区三区| 国产精品久久久久久久久搜平片 | 国产精品午夜免费| 91在线你懂得| 亚洲午夜av在线| 69久久99精品久久久久婷婷| 精品一区二区三区免费播放| 久久精品一区二区| 91在线精品一区二区| 亚洲图片有声小说| 日韩午夜激情电影| 福利电影一区二区三区| 亚洲欧美日韩中文播放 | 91丨porny丨最新| 亚洲观看高清完整版在线观看| 91精品国产欧美一区二区| 国产丶欧美丶日本不卡视频| 亚洲午夜av在线| 久久午夜国产精品| 日本道免费精品一区二区三区| 免费高清视频精品| 国产精品美女久久久久久2018| 欧美日韩一区 二区 三区 久久精品| 久久不见久久见免费视频1| 一色屋精品亚洲香蕉网站| 337p亚洲精品色噜噜噜| 一本久久综合亚洲鲁鲁五月天| 亚洲五月六月丁香激情| 国产欧美日韩三区| 欧美日本在线播放| 成人av小说网| 麻豆国产91在线播放| 亚洲欧美日韩国产一区二区三区| 欧美一区二区三区日韩| 色综合久久久久综合体| 国产成人在线观看| 日本成人在线不卡视频| 亚洲精品乱码久久久久久黑人 | 97久久久精品综合88久久| 美腿丝袜在线亚洲一区| 伊人开心综合网| 国产欧美精品在线观看| 欧美一区二区三级| 欧美中文字幕一二三区视频| 国产成人免费在线| 久久精品国产亚洲5555| 婷婷一区二区三区| 一区二区三区资源| 国产精品美女久久久久久久网站| 日韩欧美国产高清| 欧美日本在线播放| 欧美在线视频你懂得| 99国产精品久| 大尺度一区二区| 国产综合久久久久久鬼色| 日韩精品一级二级| 亚洲大片在线观看| 亚洲一区二区三区精品在线| 亚洲欧洲99久久| 国产精品黄色在线观看| 国产欧美va欧美不卡在线| 日韩写真欧美这视频| 欧美剧情片在线观看| 欧美午夜精品一区| 欧洲一区二区三区在线| 色婷婷久久久综合中文字幕| 99re8在线精品视频免费播放| 高清不卡一二三区| 丁香婷婷综合网| 粉嫩一区二区三区性色av| 国产精品白丝jk黑袜喷水| 久久疯狂做爰流白浆xx| 六月婷婷色综合| 久久丁香综合五月国产三级网站| 日本成人在线视频网站| 美女一区二区久久| 99久久久久久| 国产成人在线看| 成人短视频下载| 94-欧美-setu| 欧美性生活一区| 91精品国产色综合久久久蜜香臀| 欧美猛男gaygay网站| 欧美三级中文字| 欧美一区二区三区免费| 欧美va亚洲va香蕉在线| 精品国产欧美一区二区| 精品欧美一区二区久久| 精品国产一区二区在线观看| 久久综合色之久久综合| 欧美激情一区在线| 亚洲精品自拍动漫在线| 亚洲一区二区三区免费视频| 午夜精品一区二区三区三上悠亚 | 日本aⅴ免费视频一区二区三区| 五月激情综合婷婷| 免费欧美高清视频| 国产成a人无v码亚洲福利| 99视频精品在线| 欧美三级视频在线| 欧美一区二区三区视频免费| 欧美大片拔萝卜| 欧美韩日一区二区三区| 亚洲精品视频在线| 日韩影视精彩在线| 国产成人精品午夜视频免费| 波多野结衣在线aⅴ中文字幕不卡| 91猫先生在线| 欧美一区二区三区啪啪| 国产精品美女一区二区三区| 亚洲成人中文在线| 激情伊人五月天久久综合| www.亚洲激情.com| 欧美人体做爰大胆视频| 2020日本不卡一区二区视频| 亚洲桃色在线一区| 天天影视色香欲综合网老头| 国产乱码精品一区二区三区忘忧草 | 91精品久久久久久蜜臀| 久久久99精品久久| 一级女性全黄久久生活片免费| 日韩高清不卡在线| 国产 欧美在线| 欧美日韩国产综合草草| 欧美无人高清视频在线观看| 精品国产三级电影在线观看| 亚洲尤物在线视频观看| 国产伦精品一区二区三区在线观看| 91色在线porny| 精品国产一二三| 亚洲妇女屁股眼交7| 国产一区二区调教| 欧洲在线/亚洲| 欧美国产激情二区三区| 日本女人一区二区三区| 色婷婷久久久综合中文字幕| 国产欧美日韩三级| 美美哒免费高清在线观看视频一区二区 | 国产精品久久久久婷婷| 美女国产一区二区三区| 欧美性生交片4| 国产精品传媒在线| 国产米奇在线777精品观看| 美腿丝袜亚洲三区| 美腿丝袜亚洲色图| 91久久精品一区二区三区| 秋霞午夜av一区二区三区| 粉嫩绯色av一区二区在线观看| 一本久道久久综合中文字幕| 久久久久国产精品免费免费搜索| 亚洲国产精品麻豆| 色综合久久中文综合久久牛| 欧美极品xxx| 日本不卡一二三| 欧美日韩国产综合草草| 亚洲一区二区三区四区中文字幕| a美女胸又www黄视频久久| 久久精品在线免费观看| 久99久精品视频免费观看| 91麻豆精品国产91久久久久久| 一区二区三区四区蜜桃| www..com久久爱| 国产精品视频免费| 国产成人av一区二区三区在线观看| 欧美一区午夜视频在线观看| 亚洲va国产天堂va久久en| 欧亚一区二区三区| 亚洲综合999|