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

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

?? vportdis.c

?? 很有價值的奇想達QXD-DM642開發(fā)板中提供的四路視頻分屏顯示源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	VP_RSETH(vpDisplayHandle , VDFLDT2,VP_VDFLDT2_RMK(VD_FIELD2_YSTART, VD_FIELD2_XSTART));
	/*設置EAV與SAV中的F位的值*/
	/* set display field bit register(VD_FBIT) */
	VP_RSETH(vpDisplayHandle , VDFBIT,VP_VDFBIT_RMK(VD_FBIT_SET, VD_FBIT_CLR));
	
	/* set horizontal sync control (VCTL1S) ,設置水平同步信號輸出的控制*/
	VP_RSETH(vpDisplayHandle , VDHSYNC,VP_VDHSYNC_RMK(VD_HSYNC_STOP, VD_HSYNC_START));
	/*設置重直同步信號輸出的控制*/
	/* set vertical sync start for field1 (VCTL1S) */
	VP_RSETH(vpDisplayHandle , VDVSYNS1,VP_VDVSYNS1_RMK(VD_VSYNC_YSTART1,VD_VSYNC_XSTART1));
	/* set vertical sync end for field1 (VCTL1S) */
	VP_RSETH(vpDisplayHandle , VDVSYNE1,VP_VDVSYNE1_RMK(VD_VSYNC_YSTOP1, VD_VSYNC_XSTOP1));
	/* set vertical sync start for field2 (VCTL2S) */
	VP_RSETH(vpDisplayHandle , VDVSYNS2,VP_VDVSYNS2_RMK(VD_VSYNC_YSTART2,VD_VSYNC_XSTART2));
	/* set vertical sync end for field2 (VCTL2S) */
	VP_RSETH(vpDisplayHandle , VDVSYNE2,VP_VDVSYNE2_RMK(VD_VSYNC_YSTOP2, VD_VSYNC_XSTOP2));
	/* Let clipping values to be their defaults (VD_CLIP) No need to set DEF_VAL and VD_RELOAD in this example*/
	/*設置中斷事件*/
	/* set event register */
	VP_RSETH(vpDisplayHandle , VDDISPEVT,VP_VDDISPEVT_RMK(VD_DISPEVT2, VD_DISPEVT1));
	/* Vertical interrupts are not used in this example (VD_VINT) */
	/* set threshold value for DMA events */
	VP_RSETH(vpDisplayHandle, VDTHRLD,VP_VDTHRLD_RMK(VD_VDTHRLD2,
													 VP_VDTHRLD_INCPIX_DEFAULT, 
													 VD_VDTHRLD1));
	/* ............................... */
	/* Set display control reg(VD_CTL) */
	/* ............................... */
	/* set display mode(DMODE) to 8-bit BT.656 */
	VP_FSETH(vpDisplayHandle , VDCTL, DMODE, VP_VDCTL_DMODE_BT656B);
	/* set non-continuous frame display */
	VP_FSETH(vpDisplayHandle , VDCTL, CON, VP_VDCTL_CON_DISABLE);
	VP_FSETH(vpDisplayHandle , VDCTL, FRAME, VP_VDCTL_FRAME_FRMDIS);
	VP_FSETH(vpDisplayHandle , VDCTL, DF2, VP_VDCTL_DF2_NONE);
	VP_FSETH(vpDisplayHandle , VDCTL, DF1, VP_VDCTL_DF1_NONE);
	/* let control outputs(VCTL1S, VCTL2S, VCTL3S, HXS, VXS, FXS) */
	/* be their defaults i.e. VCTLxS are output control signals */
	/* no scaling and no resampling in this example */
	/* no need to bother about 10.bit unpacking mode(DPK bit) */
	/* in this 8.bit example */
	/* Set up Y, Cb and Cr EDMA channels */
	setupVPDispEDMA(portNumber);
	IRQ_enable(vpDisplayHandle ->eventId);
	/* clear VPHLT in VP_CTL to make video port function */
	VP_FSETH(vpDisplayHandle , VPCTL, VPHLT, VP_VPCTL_VPHLT_CLEAR);
	
	return vpDisplayHandle;	
	
}
/*................................................................ */
/* Function : bt656_display_start */
/* Input(s) : VP_Handle*/
/* Description : Configures given video port for 8.bit BT.656 non. */
/* continuous frame display. */
/*................................................................ */
void bt656_display_start(VP_Handle vpDisplayHandle)
{
	/* .............. */
	/* enable display */
	/* .............. */
	/* set VDEN to enable display for loop-back */
	VP_FSETH(vpDisplayHandle, VDCTL, VDEN, VP_VDCTL_VDEN_ENABLE);
	/* clear BLKDIS in VD_CTL to enable display DMA events */
	VP_FSETH(vpDisplayHandle, VDCTL, BLKDIS, VP_VDCTL_BLKDIS_CLEAR);

}
/*................................................................ */
/* Function : VPDispIsr */
/* Description : This display ISR clears FRMD to continue display */
/* in this non.continuous mode and also clears other */
/* status bits. */
/*................................................................ */
interrupt void VPDispIsr(void)
{
	Uint32 vpis = 0;
	vpis = VP_RGETH(vpDisplayHandle , VPIS);
	if(vpis & _VP_VPIS_DCMP_MASK) /* frame display complete */
	{
		/* Clear frame complete bit FRMD to continue display */
		VP_FSETH(vpDisplayHandle , VDSTAT, FRMD,
		VP_VDSTAT_FRMD_CLEAR);
		/* clear DCMPA to enable next frame complete interrupts */
		VP_FSETH(vpDisplayHandle , VPIS, DCMP, VP_VPIS_DCMP_CLEAR);
		displayFrameCount++; /* increment displayed frame count */
		disNewFrame = 1;
	}
	if(vpis & _VP_VPIS_DUND_MASK) /* underrun error */
	{
		dispUnderrun++;
		/* clear DUND to enable next underrun interrupts */
		VP_FSETH(vpDisplayHandle , VPIS, DUND, VP_VPIS_DUND_CLEAR);
	}
}
/*................................................................ */
/* Function : setupVPDispEDMA */
/* Input(s) : portNumber, video port number i.e. 0,1 or 2. */
/* Description : Sets up DMA channels for Y, U, V events for VP */
/* display. */
/*................................................................ */
void setupVPDispEDMA(Int32 portNumber)
{
	Int32 YEvent, UEvent, VEvent;
	/* get Y, U, V EDMA event numbers */
	switch(portNumber)
	{
		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;
			break;
		case VP_DEV2: 
			YEvent = EDMA_CHA_VP2EVTYA;
			UEvent = EDMA_CHA_VP2EVTUA;
			VEvent = EDMA_CHA_VP2EVTVA;
			break;
	}
	/* Configure Y EDMA channel to move data from */
	/* Y-data buffer, dispYSpace to YDSTA (FIFO) */
	configVPDispEDMAChannel(&hEdmaVPDispY, YEvent,
							&edmaDispYTccNum,
							(Uint32)disChaAYSpace,
							vpDisplayHandle ->ydstaAddr,
							VD_Y_EDMA_FRMCNT,
							VD_Y_EDMA_ELECNT);
	/* Configure Cb EDMA channel to move data from */
	/* Cb-data buffer, dispCbSpace to CbDSTA (FIFO) */
	configVPDispEDMAChannel(&hEdmaVPDispCb, UEvent,
							&edmaDispCbTccNum,
							(Uint32)disChaACbSpace,
							vpDisplayHandle ->cbdstAddr,
							VD_Y_EDMA_FRMCNT,
							VD_Y_EDMA_ELECNT/2); /* (1/2) of Y */
	/* Configure Cr EDMA channel to move data from */
	/* Cr-data buffer, dispCrSpace to CrDSTA (FIFO) */
	configVPDispEDMAChannel(&hEdmaVPDispCr, VEvent,
							&edmaDispCrTccNum,
							(Uint32)disChaACrSpace,
							vpDisplayHandle ->crdstAddr,
							VD_Y_EDMA_FRMCNT,
							VD_Y_EDMA_ELECNT/2);
	/* enable three EDMA channels */
	EDMA_enableChannel(hEdmaVPDispY);
	EDMA_enableChannel(hEdmaVPDispCb);
	EDMA_enableChannel(hEdmaVPDispCr);
}
/*................................................................ */
/* Function : configVPDispEDMAChannel */
/* */
/* Input(s) : edmaHandle . pointer to EDMA handle. */
/* eventId . EDMA eventId. */
/* tccNum . pointer to transfer complete number. */
/* srcAddr . source address for EDMA transfer. */
/* dstAddr . destination address for EDMA transfer */
/* frameCount . frame count. */
/* elementCount . element count(32.bit element size). */
/* */
/* Output(s): edmaHandle . edma Handle of the given event. */
/* tccNum . transfer complete code for the given */
/* event. */
/* */
/* Description : Configures the given VP display EDMA channel. */
/* The destination address update is fixed because */
/* the displayed data is write to the FIFO. */
/* In this example, the source address mode is */
/* auto.increment. But, in real.time applications */
/* there is lot of flexibility in the way display */
/* buffers can be managed like ping.pong and round */
/* robin,…etc. */
/*................................................................ */
void configVPDispEDMAChannel( EDMA_Handle *edmaHandle,
							  Int32 eventId, 
							  Int32 *tccNum,
							  Uint32 srcAddr, 
							  Uint32 dstAddr,
							  Uint32 frameCount, 
							  Uint32 elementCount)
{
	Int32 tcc = 0;
	EDMA_Handle hEdmaTable;
	/* Open Y event EDMA channel */
	*edmaHandle = EDMA_open(eventId, EDMA_OPEN_RESET);
	if(*edmaHandle == EDMA_HINV)
	{
		for(;;){}
	}
	/* allocate TCC for Y event */
	if((tcc = EDMA_intAlloc(.1)) == .1)
	{
		for(;;){}
	}
	/*打開一個新的EDMA鏈接*/
	hEdmaTable = EDMA_allocTable(-1);
	/* Configure EDMA parameters */
	EDMA_configArgs(
		*edmaHandle,
		EDMA_OPT_RMK(
			EDMA_OPT_PRI_MEDIUM, /* medium priority */
			EDMA_OPT_ESIZE_32BIT, /* Element size 32 bits */
			EDMA_OPT_2DS_YES, /* 2-dimensional source */
			EDMA_OPT_SUM_INC, /* source address auto increment */
			EDMA_OPT_2DD_NO, /* 1-dimensional destination(FIFO) */
			EDMA_OPT_DUM_NONE, /* fixed dest address mode(FIFO) */
			EDMA_OPT_TCINT_YES, /* Enable transfer complete indication*/
			EDMA_OPT_TCC_OF(tcc & 0xF),
			EDMA_OPT_TCCM_OF(((tcc & 0x30) >> 4)),
			EDMA_OPT_ATCINT_NO, /* Disable Alternate Transfer Complete Interrupt */
			EDMA_OPT_ATCC_OF(0),
			EDMA_OPT_PDTS_DISABLE, /* disable PDT(peripheral device  transfer) mode for source*/
			EDMA_OPT_PDTD_DISABLE, /* disable PDT mode for dest */
			EDMA_OPT_LINK_YES, /* Disable linking */
			EDMA_OPT_FS_NO /* Array synchronization */
		),
		EDMA_SRC_RMK(srcAddr),
		EDMA_CNT_RMK(EDMA_CNT_FRMCNT_OF((frameCount-1)),
					 EDMA_CNT_ELECNT_OF(elementCount)),
		EDMA_DST_RMK(dstAddr),
		EDMA_IDX_RMK(EDMA_IDX_FRMIDX_OF((elementCount * 4)),
		EDMA_IDX_ELEIDX_OF(0)), /* note: 32-bit element size */
		/* no RLD in 2D and no linking */
		EDMA_RLD_RMK(EDMA_RLD_ELERLD_OF(0), EDMA_RLD_LINK_OF(0))
		);
	EDMA_configArgs(
		hEdmaTable,/*配置表的句柄*/
		EDMA_OPT_RMK(
			EDMA_OPT_PRI_MEDIUM, /* medium priority */
			EDMA_OPT_ESIZE_32BIT, /* Element size 32 bits */
			EDMA_OPT_2DS_YES, /* 2-dimensional source */
			EDMA_OPT_SUM_INC, /* source address auto increment */
			EDMA_OPT_2DD_NO, /* 1-dimensional destination(FIFO) */
			EDMA_OPT_DUM_NONE, /* fixed dest address mode(FIFO) */
			EDMA_OPT_TCINT_YES, /* Enable transfer complete indication*/
			EDMA_OPT_TCC_OF(tcc & 0xF),
			EDMA_OPT_TCCM_OF(((tcc & 0x30) >> 4)),
			EDMA_OPT_ATCINT_NO, /* Disable Alternate Transfer Complete Interrupt*/
			EDMA_OPT_ATCC_OF(0),
			EDMA_OPT_PDTS_DISABLE, /* disable PDT(peripheral devicetransfer) mode for source */
			EDMA_OPT_PDTD_DISABLE, /* disable PDT mode for dest */
			EDMA_OPT_LINK_YES, /* Enable linking */
			EDMA_OPT_FS_NO /* Array synchronization */
		),
		EDMA_SRC_RMK(srcAddr),
		EDMA_CNT_RMK(EDMA_CNT_FRMCNT_OF((frameCount-1)),
					 EDMA_CNT_ELECNT_OF(elementCount)),
		EDMA_DST_RMK(dstAddr),
		EDMA_IDX_RMK(EDMA_IDX_FRMIDX_OF((elementCount * 4)),
										 EDMA_IDX_ELEIDX_OF(0)), /* note: 32.bit element size */
		/* no RLD in 2D and no linking */
		EDMA_RLD_RMK(EDMA_RLD_ELERLD_OF(0), EDMA_RLD_LINK_OF(0))
	);
	/*連接兩個DMA*/
	EDMA_link(*edmaHandle,hEdmaTable);
	/*使EDMA循環(huán)起來*/
	EDMA_link(hEdmaTable,hEdmaTable);
	*tccNum = tcc;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频导航| 国产精品入口麻豆九色| 亚洲最大色网站| 4438成人网| 国产精品99久久久| 中文天堂在线一区| 色老综合老女人久久久| 亚洲色图一区二区| 久久综合久色欧美综合狠狠| 天天色图综合网| 久久精品视频在线免费观看| 波多野结衣欧美| 日韩电影免费在线| 国产精品国模大尺度视频| 欧美精品tushy高清| gogo大胆日本视频一区| 亚洲国产精品影院| 欧美国产乱子伦| 日韩三级.com| 欧美性大战xxxxx久久久| 国产精品一色哟哟哟| 亚洲国产精品一区二区久久恐怖片| 日韩一区二区精品葵司在线| 色呦呦一区二区三区| bt欧美亚洲午夜电影天堂| 日本欧美加勒比视频| 亚洲欧洲综合另类| 欧美日韩国产小视频在线观看| 成人app软件下载大全免费| 国产精品18久久久久久久久久久久| 亚洲欧洲韩国日本视频| 国产欧美日韩精品一区| 在线播放日韩导航| 成人av综合在线| 成人午夜av电影| 国产.精品.日韩.另类.中文.在线.播放| 日日噜噜夜夜狠狠视频欧美人| 26uuu成人网一区二区三区| 欧美大片日本大片免费观看| 精品视频在线免费看| 欧美视频一区二区三区在线观看| 99精品一区二区| 精品伊人久久久久7777人| 久久99精品久久只有精品| 香港成人在线视频| 日一区二区三区| 极品尤物av久久免费看| 国产精品亚洲第一区在线暖暖韩国 | 国产丝袜在线精品| 中文字幕欧美日韩一区| 国产精品久久久久久久岛一牛影视| 亚洲人成在线观看一区二区| 亚洲丰满少妇videoshd| 亚洲曰韩产成在线| 免费在线观看不卡| 免费成人结看片| 成人av在线电影| 在线区一区二视频| 精品久久五月天| 欧美韩日一区二区三区| 成人欧美一区二区三区在线播放| 午夜精品免费在线| 国产毛片精品视频| 欧美日韩精品一区二区三区蜜桃 | 日韩欧美亚洲国产另类| 国产日本亚洲高清| 天天色天天操综合| 亚瑟在线精品视频| 日本二三区不卡| 国产精品护士白丝一区av| 久久超级碰视频| 3d动漫精品啪啪1区2区免费| 亚洲少妇最新在线视频| 91在线播放网址| 国产精品久久久久aaaa樱花 | 亚洲六月丁香色婷婷综合久久 | 色综合久久久久综合体| 国产欧美va欧美不卡在线| 亚洲777理论| 懂色av一区二区三区蜜臀| 久久久久九九视频| 国产成a人亚洲| 精品黑人一区二区三区久久| 国产美女av一区二区三区| 精品理论电影在线| 国产真实乱对白精彩久久| 国产肉丝袜一区二区| 91麻豆swag| 热久久国产精品| 日韩欧美一区电影| 国产精品一区专区| 亚洲丝袜自拍清纯另类| 91福利视频久久久久| 亚洲.国产.中文慕字在线| 26uuu另类欧美亚洲曰本| 国产99久久久国产精品免费看| 国产精品视频看| 欧美主播一区二区三区| 国产一区二区在线观看免费| 亚洲欧洲韩国日本视频| 欧美综合欧美视频| 国产乱码精品一品二品| 一区二区三区 在线观看视频| 欧美一级片免费看| 成人免费毛片a| 日韩国产高清在线| 日韩一区日韩二区| 日韩一级免费观看| 色久综合一二码| 国产精品一区二区黑丝| 一区二区在线看| 国产精品麻豆一区二区| 91精品麻豆日日躁夜夜躁| 99久久免费精品高清特色大片| 日本成人在线一区| 悠悠色在线精品| 国产欧美日韩精品一区| 3d成人h动漫网站入口| 成人久久视频在线观看| 精品系列免费在线观看| 日韩黄色小视频| 日韩精品1区2区3区| 国产精品欧美经典| 欧美日韩成人综合天天影院| 成人精品免费看| 国产二区国产一区在线观看| 成人av在线电影| 风间由美一区二区三区在线观看| 韩国女主播一区| 国产毛片精品视频| 福利视频网站一区二区三区| 国产一区在线观看视频| 韩国成人福利片在线播放| 国产成人av电影在线| 成人激情av网| 色爱区综合激月婷婷| 在线视频欧美区| 欧美精品日韩一本| 精品久久久久久久久久久久包黑料| 日韩精品在线网站| 国产精品的网站| 久久国产夜色精品鲁鲁99| 亚洲一区二区欧美| 一区二区三区四区蜜桃| 亚洲欧洲色图综合| 亚洲午夜成aⅴ人片| 日韩精品1区2区3区| 国内成人免费视频| 91美女蜜桃在线| 日韩欧美国产电影| 中文字幕在线免费不卡| 蜜桃av一区二区三区电影| 国产精品一二三| 在线视频国产一区| 日韩美女在线视频| 亚洲欧美日韩在线| 久88久久88久久久| 色菇凉天天综合网| 国产欧美精品日韩区二区麻豆天美| 一区二区三区四区不卡视频| 国产91精品在线观看| 337p日本欧洲亚洲大胆精品| 亚洲二区视频在线| 在线亚洲一区观看| 国产精品国产成人国产三级 | 在线观看一区日韩| 国产精品国产三级国产普通话99| 美女视频免费一区| 在线免费观看日本欧美| 一区在线播放视频| 成人av电影观看| 欧美极品美女视频| 成人免费毛片app| 国产亚洲制服色| 国产一区二区三区| 久久久综合九色合综国产精品| 亚洲国产精品视频| 在线不卡免费欧美| 青青草国产精品97视觉盛宴| 欧洲精品中文字幕| 亚洲激情在线激情| 91精品国产综合久久蜜臀| 老司机一区二区| 亚洲精品一区二区三区精华液 | 久久久精品国产免大香伊| 九色综合国产一区二区三区| 亚洲最色的网站| 欧美一级黄色片| 麻豆国产欧美日韩综合精品二区 | 亚洲精品一区二区三区蜜桃下载 | 久久成人免费网| 久久久亚洲午夜电影| 91理论电影在线观看| 视频一区二区国产| 欧美成人aa大片| 色88888久久久久久影院按摩| 午夜成人免费视频| 久久麻豆一区二区| 色老汉一区二区三区| 精品一区二区三区久久|