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

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

?? xport.c

?? 一個兩碟控制的VCD的代碼,兩碟之間的轉動及連續播放,已大量生產的CODE.
?? C
?? 第 1 頁 / 共 2 頁
字號:
void XPORT_restore_e0_c0(){    int *pid_data = T_pid_MPEG1_PS;    mvd[xport_misc] = XPORT_LDPID | XPORT_RESET;    mvd[xport_pid_table + XPORT_PID_E0] = pid_data[XPORT_PID_E0];    mvd[xport_pid_table + XPORT_PID_C0] = pid_data[XPORT_PID_C0];    mvd[xport_misc] = XPORT_RESET;}#endif/**************************************************************************** Select xport type, load ucode and cam. ****************************************************************************/#define set_parameter(a)  {			\    uCode= T_uCode##a;				\    uCsize = T_uCode##a##_SZ/sizeof(int); 	\    pid = T_pid##a; 				\    pidsize = T_pid##a##_SZ/sizeof(int);	\} /***************************************************************************** Select xport ucode based on xport_type. If xport_type == MULTI_XPORT, prompt user. Load xport ucode and cam table. Low level initialisation of the xport hardware. *****************************************************************************/int XPORT_init(int xport_type, int xfer_mode){    int  *uCode;    int  *pid;    int  uCsize;    int  pidsize;    int	 mode;    if (xport_type == MULTI_XPORT)	xport_type = vcx_bitstream_type;#if (MPEG1 && MKROM)    set_parameter(_MPEG1_PS);	/* VCD product */#else    switch (xport_type) {#ifdef MPEG1	case MPEG1_PS:		set_parameter(_MPEG1_PS); 	  	break;#endif	case VIDEO_ELM_ONLY: 	set_parameter(_VIDEO_ELM_ONLY);		break;	case AUDIO_ELM_ONLY: 	set_parameter(_AUDIO_ELM_ONLY);		break;#ifdef MPEG2	case DSS_SIMPLE:	set_parameter(_DSS_SIMPLE);		break;	case DVD_SIMPLE:	xport_video = 0;	case PS_SIMPLE:		set_parameter(_DVD_SIMPLE);		break;#endif	default: FATAL(("Unknown xport type %d\n", xport_type));    }#endif    XPORT_load_ucode(uCode, uCsize);    /* Select video/audio channel ID */#ifdef MPEG2    if (xport_type >= DSS_SIMPLE) {	if (xport_video == -1) {	    printf("Video stream id: ");	    scanf("%d",&xport_video);	}	if(xport_audio== -1){	    printf("Audio stream id: ");	    scanf("%d",&xport_audio);	}	if (xport_type != DSS_SIMPLE) {	    pid[0] = xport_video | 0x1e0;	    if (xport_type==DVD_SIMPLE) {		pid[1] = 0x1bd;#ifdef SUB_PICTURE	    	patch_xport_ucode(AID_CHECK,			(uCode[AID_CHECK] & 0x7ffff00) | 0x20 | xport_audio);		printf("Xport ucode at 0x%x changed from 0x%08x to 0x%08x.\n",			AID_CHECK, uCode[AID_CHECK],			(uCode[AID_CHECK] & 0x7ffff00) | 0x20 | xport_audio);		/* Bypass the code that eat the 3 AC3 extra bytes by a		   "goto continue". */	    	patch_xport_ucode(SP_BYPASS, 0x3f00000 | (CONTINUE<<8));		printf("Xport ucode at 0x%x changed from 0x%08x to 0x%08x.\n",			SP_BYPASS, uCode[SP_BYPASS], 0x3f00000 | (CONTINUE<<8));#else	    	patch_xport_ucode(AID_CHECK, uCode[AID_CHECK] | xport_audio);		printf("Xport ucode at 0x%x changed from 0x%08x to 0x%08x.\n",			AID_CHECK, uCode[AID_CHECK],			uCode[AID_CHECK] | xport_audio);#endif	    } else {	/* PS use DVD ucode */		pid[1] = xport_audio | 0x1c0;	    	patch_xport_ucode(PS_BYPASS, uCode[PS_BYPASS] & x07f07fff);		printf("Xport ucode at 0x%x changed from 0x%08x to 0x%08x.\n",			PS_BYPASS, uCode[PS_BYPASS],			uCode[PS_BYPASS] & x07f07fff);	    }	} else {	    pid[0] = xport_video; pid[1] = xport_audio;	}	pid[0] = makepid(pid[0], 0, 0, DestVideo);	pid[1] = makepid(pid[1], 0, 0, DestAudio);	printf("Video cam: 0x%08x. Audio cam 0x%08x\n",pid[0],pid[1]);     }#endif    load_xport_cam(pid, pidsize);    /* xport input mode depends on the xport type and the input xfer mode */    mode = select_xport_mode(xport_type);    if (xfer_mode == 5) mode &= ~1;	/* TDM */    mvd[xport_input_mode] = mode;	/* 3:dvb mode,0x13:alt mode */    mvd[xport_misc] = XPORT_RESET;    mvd[xport_interupt_mask] = 0x10L;	/* Enable sequence interrupt */    mvd[r_hostctl] = 0x4L;			/* host */    mvd[xport_flush_output] = 0xfL;     mvd[xport_flush_output] = 0x0L;     return(xport_type);}/************************************************************************ Restart xport at the specified address. ************************************************************************/void XPORT_restart_at(int address, int byte_swap){    TDM_expectBreak = 1;	/* currCDtime will break;		*/#if (MPEG1 && MKROM)    XPORT_restore_e0_c0();	/* Restore XPORT CAM for safety.	*/#endif    /* Don't know why, but the following two lines are needed. */    mvd[xport_misc] = XPORT_LDMC | XPORT_RESET;    (void)mvd[xport_microcode_table + address]; /* dummy access for PC */    mvd[xport_misc] = XPORT_RESET;    mvd[xport_pc] = address;     mvd[xport_misc] = (byte_swap)? 0x8L : 0x0L;     mvd[xport_pc] = 0x80L + address;         XPORT_start = 2;		/* Tell outside that XPORT has started	*/}#ifdef XPORT20/************************************************************************ * Restart xport for 2.0 VCD (set begCDtime/endCDtime)			* ************************************************************************//* * Change one line of transport microcode. For 2.0 players, we need * to set begCDtime/endCDtime. * * Input: *	line:	microcode line offset *	data:	data. The least significant byte goes to the immediate *		field. * * Output: *	data >> 8 */PRIVATE unsigned int XPORT_UcodeImmd(line, data)int line;unsigned int data;{    unsigned int tmp;        /*      * Transport microcode table has to be read twice, the first time     * it returns garbage.     */    reg0 = mvd[xport_microcode_table + line];    tmp = mvd[xport_microcode_table + line] & 0xffffff00;    mvd[xport_microcode_table + line] = tmp | (data & 0xff);    return (data >> 8);}/* * Change the match_channel ucode line: * either  *	if (!match(0)) {adv_cmd; goto real_data;} * or *	adv_cmd; goto real_data; * * For E1/E2 data, we throw away the data if channel number is 0. For * E0 data, we ignore the channel number. * * Input: *	check:	1 for E1/E2 data *		0 for E0 data */PRIVATE void XPORT_adj_match_channel(check)int check;{    unsigned int tmp;        /*      * Transport microcode table has to be read twice, the first time     * it returns garbage.     */    reg0 = mvd[xport_microcode_table + XPORT_OFFSET_MATCH_CHANNEL];    /* Ucode with condition field masked off */    tmp = mvd[xport_microcode_table + XPORT_OFFSET_MATCH_CHANNEL] & x07f07fff;    if (check) tmp |= 0x48000;	/* if (!match(0)) */        mvd[xport_microcode_table + XPORT_OFFSET_MATCH_CHANNEL] = tmp;}/* * This routine is called by 2.0's playSectors (2324), getSectors (2048),  * playSectors_step_by_step (2324), and fuzzyPlaySector(2324) * * Following entry points should be used: *	XPORT_OFFSET_FUZZY_PLAY:	for fuzzyPlaySector *	XPORT_OFFSET_PLAY_SECTOR:	for playSectors and step_by_step *	XPORT_OFFSET_GET_SECTOR:	for getSectors * * This code will modify the transport microcode to customize for * begCDtime (if necessary) and endCDtime (always) * * playCDDA should call XPORT_restart_at(XPORT_OFFSET_PLAY_CDDA, 1) * * Input: *	entry:	entry point *	still:	For fuzzy/playSectors: resolution of still picture *		For getSectors: size of the sector */void XPORT_play20video(entry, still)int entry;int still;{    unsigned int time;#if 0    extern int save_ramcode;    /* Microcode may have been changed to do CDDA mono L/R */    if (save_ramcode != -1) {	VP_load_ucode(save_ramcode);	save_ramcode = -1;    }#endif    currCDtime = 0;		/* Clear it */    /* Load CAM to specify which kind of still picture to match */    mvd[xport_misc] = XPORT_LDPID | XPORT_RESET;    /* Load microcode for begCDtime and endCDtime */    mvd[xport_misc] = XPORT_LDMC | XPORT_RESET;    time = begCDtime;	/* Set begCDtime to be matched */    time = XPORT_UcodeImmd(XPORT_OFFSET_BEG_FF, time);    time = XPORT_UcodeImmd(XPORT_OFFSET_BEG_SS, time);    time = XPORT_UcodeImmd(XPORT_OFFSET_BEG_MM, time);    time = endCDtime;	/* Set endCDtime to be matched */    time = XPORT_UcodeImmd(XPORT_OFFSET_END_FF, time);    time = XPORT_UcodeImmd(XPORT_OFFSET_END_SS, time);    time = XPORT_UcodeImmd(XPORT_OFFSET_END_MM, time);    if (entry == XPORT_OFFSET_GET_SECTOR) {	int size;	/* 	 * Adjust the size of sector. 	 * Assuming 2048+0 <= size <= 2048 + 0xff 	 *	 * Older getSectors code sets "still" to 0; make sure they are not	 * affected.	 */	size = still ? (still - 2048) : 0;	(void) XPORT_UcodeImmd(XPORT_OFFSET_LOAD_GETSECTOR_LOW3, size);    } else {	/* for e1 0r e2 stream, we need to or 0x100 for xport. */	if (still & 0x3) still |= 0x100;	mvd[xport_pid_table + XPORT_PID_E1E2] = PID_ID(still) | PID_DEST_VIDEO;	/* 	 * Note: if you want to read PID table, you have to read it twice,	 *	     the first time it returns junk.	 */	/* Adjust match_channel ucode */	XPORT_adj_match_channel(still & 0x3);    }    XPORT_restart_at(entry, 0);    if ((entry == XPORT_OFFSET_PLAY_SECTOR) ||	(entry == XPORT_OFFSET_GET_SECTOR)) {	TDM_found_begCDtime = 0;	TDM_trigger = 0;	XPORT_active = 0;    } else XPORT_active = 1;	/* Fuzzy play */}/*  * Flush out the gateway FIFO relating to transport. This routine is * called when transport is done so all the incoming data will go * to DRAM. */void XPORT_flushGateway(void){    gbl_gate_control |= (flush_xportv | flush_xporta);    mvd[gate_control] = gbl_gate_control;    risc_sleep_a_bit(600);    gbl_gate_control &= ~(flush_xportv | flush_xporta);    mvd[gate_control] = gbl_gate_control;}#endif /* XPORT20 */#ifdef XPORT11/* * For 1.1 players, the kind of still picture to be displayed is determined * during run time (i.e. if there is no E2, then display E1.) When this * detection is made, TDM calls this routine to change the XPORT CAM * table. Since E1/E2 is only needed for VCD, we always resume playing * at FUZZY_PLAY's entry point. */void XPORT_loadstill(still)int still;{    /* Load CAM to specify which kind of still picture to match */    mvd[xport_misc] = XPORT_LDPID | XPORT_RESET;    mvd[xport_pid_table + XPORT_PID_E1E2] = PID_ID(still) | PID_DEST_VIDEO;    XPORT_restart_at(XPORT_OFFSET_FUZZY_PLAY, 0);    }#endif /* XPORT11 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合五月| 国产亚洲精品bt天堂精选| 91麻豆精品国产| 国产欧美精品一区二区色综合| 久久69国产一区二区蜜臀| 久久精品免视看| 91国偷自产一区二区使用方法| 欧美韩国日本一区| 国产一区二区精品在线观看| 欧美成人精精品一区二区频| 久久成人免费日本黄色| 久久久久久久网| 成人av片在线观看| 中文字幕一区二区不卡| 99免费精品视频| 亚洲综合色婷婷| 91视频观看免费| 亚洲一本大道在线| 日韩一区二区三区在线视频| 国产综合久久久久久鬼色| 国产婷婷色一区二区三区四区| 日韩精品一区二区三区在线播放 | 亚洲另类春色校园小说| 91福利国产精品| 99精品欧美一区二区蜜桃免费| 亚洲国产成人自拍| 亚洲精品一区二区三区精华液| 成人av影视在线观看| 国产精品亚洲人在线观看| 亚洲精品菠萝久久久久久久| 中文字幕在线免费不卡| 欧美激情一区三区| 亚洲国产成人午夜在线一区| 亚洲国产成人私人影院tom| 久久久亚洲精品一区二区三区| 欧美精品一区视频| 久久先锋影音av| 在线视频欧美精品| 精品综合久久久久久8888| 美女视频黄免费的久久| 亚洲乱码中文字幕综合| 亚洲桃色在线一区| 久久青草欧美一区二区三区| 久久综合九色综合久久久精品综合| 日韩欧美aaaaaa| 久久新电视剧免费观看| 国产人久久人人人人爽| 国产精品免费丝袜| 欧美性高清videossexo| 国产精品18久久久久久久网站| 国产在线播放一区| 成人综合婷婷国产精品久久免费| 日本人妖一区二区| 亚洲欧美视频在线观看| 久久综合给合久久狠狠狠97色69| 亚洲国产日韩精品| 亚洲成av人片www| 国产精品全国免费观看高清 | 成人激情视频网站| 91在线视频免费91| 精品污污网站免费看| 韩国一区二区三区| 成人深夜福利app| 一本久久a久久精品亚洲| 欧美日韩国产一区| 欧美影院午夜播放| 精品免费国产二区三区| 欧美国产禁国产网站cc| 一个色综合av| 亚洲欧美日韩在线播放| 性做久久久久久免费观看欧美| 久久国产精品一区二区| 91视频国产资源| 日韩精品在线一区| 国产精品毛片久久久久久久| 亚洲国产va精品久久久不卡综合| 久久国产生活片100| 99精品偷自拍| 日韩精品中文字幕在线一区| 亚洲人成网站在线| 麻豆精品一区二区综合av| 99这里只有精品| 精品久久一区二区| 亚洲视频免费看| 久久99国产精品尤物| www.欧美日韩| 欧美成人三级在线| 一区二区不卡在线播放| 国产自产v一区二区三区c| 在线国产亚洲欧美| 久久精品亚洲精品国产欧美kt∨ | 在线观看日韩精品| 久久午夜免费电影| 亚洲成人先锋电影| caoporen国产精品视频| 精品国产一区二区三区久久久蜜月| 一区二区三区产品免费精品久久75| 国产成人啪免费观看软件| 丰满白嫩尤物一区二区| 成人av网站大全| 精品久久久久香蕉网| 亚洲成av人片一区二区三区| 成人av综合在线| 欧美精品一区二区三区很污很色的| 亚洲一级二级三级在线免费观看| 成人ar影院免费观看视频| 精品不卡在线视频| 无码av中文一区二区三区桃花岛| 裸体健美xxxx欧美裸体表演| 色婷婷激情久久| 国产精品护士白丝一区av| 亚洲欧美视频在线观看视频| 粉嫩绯色av一区二区在线观看| 日韩女优制服丝袜电影| 午夜激情综合网| 欧美日韩久久久久久| 亚洲乱码日产精品bd| 99精品久久只有精品| 国产欧美一区二区在线观看| 激情六月婷婷综合| 精品日韩99亚洲| 久久国产日韩欧美精品| 欧美一二三区精品| 美脚の诱脚舐め脚责91| 日韩一区二区免费视频| 日产国产欧美视频一区精品| 8x8x8国产精品| 天天色天天操综合| 欧美巨大另类极品videosbest| 亚洲精品一区二区三区99| 久久精品久久99精品久久| 欧美一区永久视频免费观看| 国产精品久久久久久久久免费桃花| 国产麻豆日韩欧美久久| 欧美老年两性高潮| 日韩精品乱码免费| 成人中文字幕在线| 久久久99精品免费观看| 国产成人在线影院| 国产精品免费视频观看| av电影在线观看一区| 国产精品美女www爽爽爽| caoporm超碰国产精品| 亚洲精品视频观看| 91最新地址在线播放| 自拍偷拍国产精品| 欧洲精品一区二区三区在线观看| 亚洲一二三级电影| 91精品国产麻豆国产自产在线| 麻豆中文一区二区| 国产亚洲一区二区在线观看| 成人av在线播放网址| 一个色妞综合视频在线观看| 制服丝袜一区二区三区| 国产一区二区免费在线| 国产精品卡一卡二| 日本韩国一区二区三区| 亚洲午夜电影在线| 欧美不卡一区二区三区| 成人一级视频在线观看| 一区二区理论电影在线观看| 精品视频在线视频| 国产在线麻豆精品观看| ...xxx性欧美| 欧美丰满少妇xxxbbb| 国产一区二区三区高清播放| 国产精品色婷婷久久58| 欧美三级资源在线| 国产精品一区二区三区乱码 | 一区二区在线观看视频在线观看| 欧美日韩午夜影院| 国产精品88av| 亚洲一区二区在线免费看| 日韩午夜激情av| 97se亚洲国产综合在线| 日韩av电影天堂| 亚洲欧洲国产专区| 日韩你懂的在线播放| 色网站国产精品| 麻豆精品在线播放| 中文字幕一区二区三中文字幕| 欧美色图片你懂的| 成人免费观看视频| 美腿丝袜亚洲色图| 亚洲乱码国产乱码精品精98午夜 | 成人丝袜高跟foot| 午夜视频在线观看一区二区| 国产日韩高清在线| 欧美一区国产二区| 99re这里只有精品视频首页| 另类调教123区| 亚洲综合自拍偷拍| 国产日本欧美一区二区| 日韩一二在线观看| 欧美亚洲动漫制服丝袜| 白白色 亚洲乱淫| 久久av老司机精品网站导航| 亚洲国产一区二区视频| 亚洲天堂2014| 国产精品久久久久久一区二区三区|