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

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

?? huffman.c

?? 一個兩碟控制的VCD的代碼,兩碟之間的轉動及連續播放,已大量生產的CODE.
?? C
字號:
/* Copyright 1996, ESS Technology, Inc.                                 *//* SCCSID @(#)huffman.c	1.21 2/9/98 *//* * $Log$ */#include "mvd.h"#include "common.h"#include "debug.h"#include "huffman.h"#include "const.h"#include "vp.h"#ifdef SVCD#include "sysinfo.h"#endif#define PRINTF(a)/****************************************************************************** Huffman decoder initialisation.******************************************************************************/void HUFF_init(void){    int i, table_size;    long *high_table;#ifdef SVCD    high_table = (mpeg2)? T_huffman_high_table_MPEG2 :                                T_huffman_high_table_MPEG1;#else    high_table = T_huffman_high_table;#endif    mvd[huffdec_control] = 0x23;	/* reset & load high-level tbl */    /* Load high-level table */#ifdef SVCD    table_size = (mpeg2) ? T_huffman_high_table_MPEG2_SZ >> 2 :                           T_huffman_high_table_MPEG1_SZ >> 2 ;#else    table_size = T_huffman_high_table_SZ >> 2;#endif    assert(table_size <= 64);    for (i = 0; i < table_size; i++) {	mvd[huffdec_highsram+i] = high_table[i];    }    /* Verify table */    for (i = 0; i < table_size; i++) {	int val;	val = mvd[huffdec_highsram+i] & 0xfffff;	if (val != high_table[i]) {	    EPRINTF(("ERR: hd hsram_table fnd: %lx exp:%lx a:%x\n",		     val, high_table[i], i));	}    }    HUFF_reset_output_fifo_and_state();    PRINTF(("Done Huffman initialisation\n"));}/****************************************************************************** Reset huffman decoder. Used in emergency_save.******************************************************************************/void HUFF_reset_output_fifo_and_state(){    int i;    mvd[huffdec_control] = 0x4ac0| HUFRESET;#ifdef SVCD    mvd[huffdec_cmdblock] = (mpeg2) ?HUFFDEC_CMDBLOCK_JNU_MPEG2 :       			       HUFFDEC_CMDBLOCK_JNU;/* set cmd block to idle*/#else    mvd[huffdec_cmdblock] = HUFFDEC_CMDBLOCK_JNU;   /* set cmd block to idle */#endif    asm("nop");    mvd[huffdec_control] = 0x4ac0;#ifdef MPEG1#ifdef SVCD   if (mpeg2)  mvd[huffdec_ldinc_addr] = 0x5;   /* for MPEG2 */   else  mvd[huffdec_ldinc_addr] = 0x1dc;       /* for MPEG1 */#else    mvd[huffdec_ldinc_addr] = 0x1dc;    /* for MPEG1 */#endif#else    mvd[huffdec_ldinc_addr] = 0x5;	/* for MPEG2 */#endif    mvd[huffdec_packet_counter] = 0x100;#ifdef MPEG1    mvd[huffdec_cmdblock] = HUFFDEC_CMDBLOCK_MBA_ADDR;#endif}/****************************************************************************** Reset huffman decoder, DO not reset INPUT fifo. Used in emergency_save.******************************************************************************/#define VPSTAT_DH		0x2000void HUFF_reset_state_machine(){    int i;    mvd[huffdec_control] = 0x4ac0| HUFDECRESET;#ifdef SVCD        mvd[huffdec_cmdblock] = (mpeg2) ?HUFFDEC_CMDBLOCK_JNU_MPEG2 :                                  HUFFDEC_CMDBLOCK_JNU;/* set cmd block to idle */ #else        mvd[huffdec_cmdblock] = HUFFDEC_CMDBLOCK_JNU;   /* set cmd block to idle */ #endif        VP_cmdq_reset(0);    /* clean up the NRLA fifo */    do {	i = mvd[huffdec_nrlarisc];    } while (mvd[huffdec_stat1] & 0x3f);    /* clean up the RLA fifo */    do {	VP_block(0,VPSTAT_DH); 	risc_sleep_a_bit(100);    } while (mvd[huffdec_stat1] & 0x3c0);    VP_cmdq_reset(0);    mvd[huffdec_control] = 0x4ac0;#ifdef MPEG1#ifdef SVCD       if (mpeg2)  mvd[huffdec_ldinc_addr] = 0x5;   /* for MPEG2 */       else  mvd[huffdec_ldinc_addr] = 0x1dc;       /* for MPEG1 */    #else        mvd[huffdec_ldinc_addr] = 0x1dc;    /* for MPEG1 */    #endif    #else    mvd[huffdec_ldinc_addr] = 0x5;	/* for MPEG2 */#endif    mvd[huffdec_packet_counter] = 0x100;#ifdef MPEG1    mvd[huffdec_cmdblock] = HUFFDEC_CMDBLOCK_MBA_ADDR;#endif}/****************************************************************************** Hufdec gateway fifo wait subroutines.* Only works when the size of the two hufdec fifos are 16 dwords!* Also it seems that we can't wait for more than 12!******************************************************************************/#ifndef WAIT_HD_FIFO_USE_MACROvoid HUFF_wait_fifo_video(int number){  wait_huffdec_fifo(v, number);}void HUFF_wait_fifo_audio(int number){  wait_huffdec_fifo(a, number);}#endif/****************************************************************************** Various getbits subroutines.******************************************************************************/int HUFF_autoeat(void)		/* 8 or fewer bits */{    do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    return (((unsigned char *)mvd)[((huffdec_stat0)<<2)+3]);}int HUFF_getbits(int n)		/* 8 or fewer bits */{    assert(n <= 8);    mvd[huffdec_eatamount] = n - 1;    do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    return (((unsigned char *)mvd)[((huffdec_stat0)<<2)+3]);}int HUFF_getbits_med(int n)	/* up to 16 bits */{    int answer;    assert(n <= 16);    mvd[huffdec_eatamount] = (n-1) & 7;    do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    answer = ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    if (n>8) {    	mvd[huffdec_eatamount] = 7;    	do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    	answer <<= 8;        answer |= ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    }    return(answer); }#ifdef AC3int HUFF_getbits_med_lj(int n)	/* up to 16 bits, left justified */{    int answer;    assert(n <= 16);    if (n>8) {    	mvd[huffdec_eatamount] = 7;    	do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);        answer = ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    	answer <<= 8;        mvd[huffdec_eatamount] = 8 | ((n-1) & 7);        do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);        answer |= ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    } else {        mvd[huffdec_eatamount] = 8 | ((n-1) & 7);        do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);        answer = (((unsigned char *)mvd)[((huffdec_stat0)<<2)+3])<<8;    }    return(answer); }#endif#if defined(MPEG2) || defined(SVCD)int HUFF_getbits_big(int n)	/* any number of bits */{    int answer;    int n_bytes_left;    mvd[huffdec_eatamount] = (n-1) & 7;    do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    answer = ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    n_bytes_left = (n - 1)>>3;    while (n_bytes_left-- > 0) {    	mvd[huffdec_eatamount] = 7;    	do {} while ((mvd[huffdec_stat3] & 0xff) != 0xff);    	answer <<= 8;    	answer |= ((unsigned char *)mvd)[((huffdec_stat0)<<2)+3];    }    return(answer); }#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线观看电影| 欧美日韩五月天| 色婷婷久久99综合精品jk白丝| 一本久道中文字幕精品亚洲嫩| 91成人免费在线视频| 欧美一级二级三级蜜桃| 国产欧美一区视频| 一区二区三区在线视频观看58| 日本欧美一区二区| 综合久久久久久久| 日韩福利视频网| 国产999精品久久| 在线观看免费成人| a4yy欧美一区二区三区| 欧美日韩激情在线| 中文字幕av不卡| 午夜欧美大尺度福利影院在线看 | 91久久线看在观草草青青| 制服丝袜一区二区三区| 久久久久久**毛片大全| 一区二区三区在线免费播放| 蜜桃在线一区二区三区| 一本一道波多野结衣一区二区| 欧美一区二区三区免费| 国产精品美女久久久久aⅴ国产馆| 亚洲一区二区三区在线播放| 国产一区二区三区免费观看| 欧美色偷偷大香| 欧美中文字幕一区二区三区| 久久毛片高清国产| 亚洲va天堂va国产va久| 成人免费看黄yyy456| 欧美成人a视频| 一区二区三区**美女毛片| 国产精品影音先锋| 日韩手机在线导航| 欧美色国产精品| 亚洲女同ⅹxx女同tv| 韩国在线一区二区| 欧美精品日韩综合在线| 在线亚洲欧美专区二区| 国产偷v国产偷v亚洲高清| 亚洲成人免费电影| 日韩三级在线观看| 欧美国产精品久久| 亚洲综合激情网| 成人黄色国产精品网站大全在线免费观看| 亚洲精品网站在线观看| 欧美日韩精品系列| 国产欧美日韩在线看| 99精品欧美一区二区三区小说| 一个色在线综合| 精品久久久久久久久久久院品网| 国产乱子伦视频一区二区三区| 亚洲激情在线激情| 精品sm捆绑视频| 日本亚洲三级在线| 久久伊人蜜桃av一区二区| 日本久久一区二区| 懂色av中文一区二区三区 | 欧美在线综合视频| 日本美女一区二区| 久久久久久一级片| 国产精品无圣光一区二区| 久久久www免费人成精品| 18欧美乱大交hd1984| 樱桃国产成人精品视频| 国产午夜久久久久| 国产一区 二区 三区一级| 99国产精品久久久久久久久久久| 日韩在线播放一区二区| 亚洲福利一二三区| 丰满白嫩尤物一区二区| 2022国产精品视频| 99久久免费国产| 亚洲一区二区不卡免费| 欧美一区二区三区在线视频| 国产一区在线精品| 日韩毛片视频在线看| 欧美三级日韩在线| 激情综合五月婷婷| 欧美人与z0zoxxxx视频| 精品亚洲国产成人av制服丝袜| 国产精品视频第一区| 国产一区视频网站| 蜜臀国产一区二区三区在线播放 | 亚洲第一搞黄网站| 一区二区三区欧美在线观看| 亚洲男同性视频| 亚洲资源在线观看| 亚洲一区av在线| 亚洲在线视频网站| 亚洲欧洲中文日韩久久av乱码| 一区精品在线播放| 亚洲va在线va天堂| 九色综合狠狠综合久久| 黑人巨大精品欧美黑白配亚洲| 国产黄色91视频| 成人高清视频在线| 欧美在线观看视频一区二区 | 亚洲综合一二区| 亚洲一二三区不卡| 美女脱光内衣内裤视频久久网站 | 日本不卡视频在线| 国产真实乱偷精品视频免| 欧美电影影音先锋| 中文字幕第一区二区| 性久久久久久久| 婷婷综合久久一区二区三区| 日韩码欧中文字| 一区二区三区免费看视频| 69精品人人人人| 亚洲丶国产丶欧美一区二区三区| 欧美性大战xxxxx久久久| 国产成+人+日韩+欧美+亚洲| 久久久久久亚洲综合影院红桃 | 亚洲一卡二卡三卡四卡五卡| 久久久综合精品| 欧美日韩高清影院| 97se亚洲国产综合自在线观| 韩国欧美一区二区| 午夜精品一区二区三区免费视频| 国产精品看片你懂得| 亚洲1区2区3区视频| 国产激情偷乱视频一区二区三区| 成人国产精品免费| 久久亚洲私人国产精品va媚药| 亚洲综合免费观看高清完整版在线 | 国模一区二区三区白浆| 成+人+亚洲+综合天堂| 日韩一区二区免费在线观看| 一区在线观看视频| 风流少妇一区二区| 日韩美女在线视频| 天天影视网天天综合色在线播放| 成人激情校园春色| 久久久久久麻豆| 蜜臀av一区二区| 9191久久久久久久久久久| 国产精品免费视频一区| 看国产成人h片视频| 欧美日韩视频在线一区二区| 亚洲女同一区二区| 91天堂素人约啪| 中文字幕成人在线观看| 91在线一区二区三区| 国产精品五月天| 欧美肥大bbwbbw高潮| 国产成人精品免费视频网站| 国产日本欧洲亚洲| 91亚洲男人天堂| 久久99国产精品麻豆| 欧美精品日韩一本| 91亚洲国产成人精品一区二区三| 久久这里只有精品6| 国产三级精品视频| 国产99久久精品| 国产精品毛片大码女人| 99久久婷婷国产综合精品电影 | 日产精品久久久久久久性色| 亚洲老司机在线| 亚洲欧美日韩电影| 亚洲激情欧美激情| 亚洲影院免费观看| 亚洲国产三级在线| 日韩在线一二三区| 久久精品国产秦先生| 精品一区中文字幕| 国产一区二区久久| 高清国产一区二区三区| 91精品国产麻豆| 在线视频观看一区| 日本网站在线观看一区二区三区| 制服丝袜在线91| 成人激情小说网站| 亚洲靠逼com| 久久综合中文字幕| 97se亚洲国产综合自在线| 午夜欧美一区二区三区在线播放| 日韩一级片在线播放| av电影在线观看一区| 日韩专区在线视频| 欧美国产精品一区二区三区| 91成人免费网站| 国产美女精品在线| 综合网在线视频| 欧美成人高清电影在线| 在线观看成人小视频| 久久精品免费看| 亚洲精品你懂的| 精品成人在线观看| 日本韩国欧美在线| 不卡一区二区三区四区| 五月天欧美精品| 亚洲免费观看视频| 国产欧美精品一区二区三区四区| 欧美自拍丝袜亚洲| eeuss鲁片一区二区三区在线看| 全国精品久久少妇| 另类小说图片综合网|