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

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

?? decode.c

?? Arithmetic coding source code. A very good software for arithmetic coding.
?? C
字號:
/*** Symbol 0 is used for EOF.**** Format of compressed file:**** blocks of header + canonical coded data until n == 0 in the header**      ** Where header = **      LOG2_MAX_SYMBOL bits is number of distinct symbols (last block == 0)**      LOG2_L          bits is maximum codeword length**      next is a reverse list of n unary codes coding L-l_i for each symbol**      next is interp coded list of symbols that appear in the block**** ASSUMES: cw_lens[i] < MAX_SYMBOL for all i*/#include "mytypes.h"#include "code.h"#include "bitio.h"#include "interp.h"    /* Canonical coding arrays (flogged from encode.c) */extern ulong lj_base[];extern ulong min_code[];extern ulong offset[];ulong *lut[LUT_SIZE];       /* canonical decode array */uint max_cw_len;uint min_cw_len;            /* used to start the linear search if lut==NULL */    /* prototypes */int read_header(FILE *in_file, uint mapping[], uint cw_lens[]);void build_lut(void);void decode(FILE *in_file, uint mapping[]);extern void build_canonical_arrays(uint cw_lens[], uint);int peak_lens_memory;/*** Read compressed stdin, output symbols to stdout*/voiddo_decoding(FILE *in_file) {    ulong magic;    if (START_INPUT(in_file) == EOF) return;      /* empty input file */    magic = INPUT_ULONG(in_file, sizeof(ulong)*8);    if (magic != MAGIC) {        fprintf(stderr,"Input file was not compressed with shuff.\n");        return;    }    uint *mapping;    /* ordinal sym -> real sym */    uint cw_lens[L+1];    allocate(mapping, uint, MAX_SYMBOL);    SHOW_MEM(L, ulong) /* min_code */    SHOW_MEM(L, ulong) /* lj_base */    SHOW_MEM(L, ulong) /* offset */    SHOW_MEM(L+1, uint) /* cw_lens */    SHOW_MEM(MAX_SYMBOL, uint) /* mapping */    peak_lens_memory = 0;    while (read_header(in_file, mapping, cw_lens) != 0) {        build_lut();        decode(in_file, mapping);    }    SHOW_MEM(peak_lens_memory, int) /* mapping */} /* do_decoding() *//*** Read decode header, converting unary coded codeword lens into mapping** using distribution sort with cw_lens[]**** (1) Read n ** (2) Read max cw length.** (3) Read unary list of max_cw_len - l_i into lens.** (4) Interp decode list of symbols into syms.** (5) Build cw_lens[]** (6) Build mapping[]*/intread_header(FILE *in_file, uint mapping[], uint cw_lens[]) {    int i, n;    int *lens, *p;    n = INPUT_ULONG(in_file, LOG2_MAX_SYMBOL);//fprintf(stderr,"n: %10u\n",n);    if (n == 0) return 0;      /* last block */    allocate(lens, int, n+1);    if (n+1 > peak_lens_memory)         peak_lens_memory = n+1;        max_cw_len = INPUT_ULONG(in_file, LOG2_L);//fprintf(stderr,"max_cw_len: %5u\n",max_cw_len);    for(i = 0 ; i <= (int)max_cw_len ; i++)        cw_lens[i] = 0;    for (p = lens ; p < lens + n ; p++) {        *p = max_cw_len - INPUT_UNARY_CODE(in_file);        cw_lens[*p]++;    }    for(min_cw_len = 0 ; cw_lens[min_cw_len] == 0 ; min_cw_len++);//{uint i;//fprintf(stderr,"cw_lens : \n");//for(i=min_cw_len;i<=max_cw_len;i++)//fprintf(stderr,"%2d) %u\n",i, cw_lens[i]);//fprintf(stderr,"\n");//}    build_canonical_arrays(cw_lens, max_cw_len);    interp_decode(in_file, mapping, n);    for( i = 1 ; i <= (int)max_cw_len; i++)        cw_lens[i] += cw_lens[i-1];         for (p = lens + n - 1 ; p >= lens ; p--)        *p = cw_lens[*p - 1]++;    uint t, from, S;    int  start = 0;    lens[n] = 1;            // sentinel    while (start < n) {        from = start;        S    = mapping[start];        while (lens[from] >= 0) {            i = lens[from];            lens[from] = -1;            t = mapping[i] ; mapping[i] = S ; S = t;            from = i;        }        while (lens[start] == -1) start++; // find next start (if any)    }//{int i;//fprintf(stderr,"mapping\n");//for(i = 0 ; i < n; i++)//fprintf(stderr,"%8u %8u\n",i, mapping[i]);//fprintf(stderr,"\n");//}    free(lens);    return !0;}voidbuild_lut() {    uint max, min;                // range of left justified "i"    int i,j = max_cw_len - 1;  // pointer into lj    for(i = 0; i < LUT_SIZE ; i++) {        min = i << ((sizeof(ulong) << 3) - LUT_BITS);        max = min | MAX_IT;        while ( (j >=0 ) && (max > lj_base[j])) j--;            // we know max is in range of lj[j], so check min        if (min >= lj_base[j+1])            lut[i] = lj_base + j + 1;        else            lut[i] = NULL; //-(j+1);    }//{int i;//for(i = 0 ; i < (1 << LUT_BITS) ; i++)//if (lut[i] == NULL)//fprintf(stderr, "lut[%2x] NULL\n",i);//else//fprintf(stderr, "lut[%2x] %lu\n",i,lut[i]-lj_base);//for(i = 240 ; i < LUT_SIZE ; i++)//if (lut[i] == NULL)//fprintf(stderr, "lut[%2x] NULL\n",i);//else//fprintf(stderr, "lut[%2x] %lu\n",i,lut[i]-lj_base);//fflush(stderr);//}}/* build_lut() *//*** Decode canonical codes until we get symbol EOF_SYMBOL*/voiddecode(FILE *in_file, uint mapping[]) {    #define BUFF_LENGTH 4096    ulong buffer[BUFF_LENGTH];    ulong *buff = buffer;    ulong code        = 0;    ulong bits_needed = sizeof(ulong) << 3;    ulong currcode;    ulong currlen     = sizeof(ulong) << 3;    ulong *lj;    ulong *start_linear_search = lj_base + MAX(LUT_BITS, min_cw_len) - 1;    for(;;) {        code |= INPUT_ULONG(in_file, bits_needed);        lj = lut[code >> ((sizeof(ulong)<<3) - LUT_BITS)];        if (lj == NULL)            for(lj = start_linear_search ; code < *lj ; lj++);        currlen = lj - lj_base + 1;            // calculate symbol number        currcode = code >> ((sizeof(ulong) << 3) - currlen);        currcode -= min_code[currlen-1];        currcode += offset[currlen-1];//fprintf(stderr, "code %lx ",code);fflush(stderr);//fprintf(stderr, "currlen %lu sym # %lu -> %lu\n",currlen, currcode,mapping[currcode]);fflush(stderr);        if (mapping[currcode] == EOF_SYMBOL)    break;        if (buff == buffer + BUFF_LENGTH) {            fwrite(buffer,sizeof(ulong),BUFF_LENGTH,stdout);            buff = buffer;        }            // subtract the one added in encoding        *buff = mapping[currcode] - 1;         buff++;        code <<= currlen;        bits_needed = currlen;    }    if (buff == buffer + BUFF_LENGTH) {        fwrite(buffer,sizeof(ulong),BUFF_LENGTH,stdout);        buff = buffer;    }    fwrite(buffer,sizeof(ulong),buff - buffer,stdout);} /* decode() */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人妖巨大在线| 亚洲一区二区三区国产| 亚洲欧美色综合| 免费成人av资源网| 成人激情电影免费在线观看| 欧美喷水一区二区| 国产精品人成在线观看免费 | 日本视频一区二区| 国产美女一区二区三区| 在线日韩av片| 亚洲男人天堂av网| 高清国产一区二区三区| 日韩美女一区二区三区四区| 老司机精品视频导航| 色www精品视频在线观看| 精品国产乱码久久| 日日摸夜夜添夜夜添精品视频| 成人黄色大片在线观看| www一区二区| 理论电影国产精品| 正在播放亚洲一区| 亚洲va天堂va国产va久| 色婷婷国产精品| 亚洲人妖av一区二区| 成人黄色av电影| 国产精品欧美综合在线| 国产mv日韩mv欧美| 久久精品在线免费观看| 国产一二精品视频| 久久婷婷久久一区二区三区| 久久精工是国产品牌吗| 日韩小视频在线观看专区| 日韩国产精品91| 欧美一级在线观看| 老汉av免费一区二区三区| 日韩欧美一二三四区| 免费观看成人鲁鲁鲁鲁鲁视频| 9191成人精品久久| 蜜桃视频一区二区三区在线观看| 51午夜精品国产| 麻豆专区一区二区三区四区五区| 日韩一区二区免费在线电影| 青青草91视频| 久久伊人中文字幕| 成人亚洲一区二区一| 日韩伦理电影网| 精品视频一区二区三区免费| 性欧美疯狂xxxxbbbb| 日韩你懂的在线观看| 国产91精品一区二区| 亚洲黄色小说网站| 欧美日韩夫妻久久| 国产一区二区免费在线| 中文字幕人成不卡一区| 欧美三级电影一区| 奇米精品一区二区三区在线观看一| 欧美一级高清大全免费观看| 国产精品一区久久久久| 亚洲欧洲国产日韩| 欧美一区二区视频观看视频| 国产在线不卡一区| 亚洲黄色录像片| 久久综合久久综合亚洲| 91在线观看一区二区| 亚洲资源在线观看| 精品国产乱码久久久久久久| 粉嫩一区二区三区在线看| 亚洲综合丝袜美腿| 欧美精品一区视频| 在线免费观看日本一区| 91蜜桃视频在线| 日韩中文字幕亚洲一区二区va在线| 久久久噜噜噜久久人人看 | 欧美电影在线免费观看| 国产精品中文字幕日韩精品| 亚洲精品一二三区| 欧美成人精品1314www| 99久久精品国产导航| 黄色资源网久久资源365| 亚洲黄色免费电影| 国产婷婷色一区二区三区四区| 精品视频1区2区| 成人黄色一级视频| 蜜乳av一区二区| 亚洲综合一区二区精品导航| 久久影院视频免费| 欧美久久高跟鞋激| 91在线免费视频观看| 狠狠色丁香婷婷综合| 亚洲国产一区二区视频| 亚洲欧洲一区二区在线播放| 日韩免费视频一区| 欧美亚洲一区二区在线| 懂色av中文一区二区三区| 美女久久久精品| 一区二区三区四区国产精品| 国产人妖乱国产精品人妖| 制服丝袜成人动漫| 欧美日韩三级一区二区| 日本高清成人免费播放| 国产精品一二三区在线| 免费观看一级特黄欧美大片| 亚洲自拍另类综合| 亚洲欧美日本在线| 国产精品高清亚洲| 国产精品国产三级国产有无不卡 | 欧美一区二区视频在线观看| 欧美视频一区在线| 欧美视频在线观看一区| 一本色道综合亚洲| 色婷婷综合五月| 日韩欧美一卡二卡| 日韩欧美国产午夜精品| 8v天堂国产在线一区二区| 欧美午夜在线观看| 欧美日韩精品一区二区三区蜜桃 | av电影在线观看不卡| 国产成人一级电影| 国产一区二区三区香蕉| 国产精选一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 国产精品911| eeuss鲁片一区二区三区在线观看| 国产一区二区伦理片| 国产馆精品极品| 不卡的av在线播放| 色综合久久久久久久久| 欧美影院精品一区| 日韩一区二区三区在线| 精品国产精品一区二区夜夜嗨| 精品蜜桃在线看| 国产精品网曝门| 亚洲黄色尤物视频| 日韩电影在线免费观看| 精品亚洲成a人在线观看| 国产高清久久久| 成人h版在线观看| 欧美日韩综合在线| 日韩欧美aaaaaa| 国产精品免费视频一区| 亚洲一区二区三区四区不卡| 日本视频中文字幕一区二区三区| 国产一区二区三区精品视频| 欧美日韩久久不卡| 久久久久国产精品厨房| 国产精品久久久久久久岛一牛影视 | 一区二区三区精品| 蜜臀a∨国产成人精品| 大白屁股一区二区视频| 在线观看欧美黄色| 精品久久久久久综合日本欧美| 国产精品色一区二区三区| 亚洲一区二区精品久久av| 国产一区二三区| 欧美无砖专区一中文字| 欧美电视剧在线看免费| 亚洲精品视频免费看| 久久99国产精品尤物| 日本韩国精品一区二区在线观看| 欧美成人高清电影在线| 一色屋精品亚洲香蕉网站| 日产国产高清一区二区三区| 成人av在线资源| 91精品欧美综合在线观看最新| 国产精品久久毛片| 免费成人av资源网| 91国偷自产一区二区三区观看| 久久久777精品电影网影网 | 欧美亚洲国产一区在线观看网站| 欧美精品一区二区三区蜜桃| 午夜精品福利一区二区三区蜜桃| 国内精品在线播放| 在线成人av影院| 一区二区三区国产精华| 成人午夜电影小说| 日韩免费高清av| 三级不卡在线观看| 91麻豆视频网站| 国产精品视频观看| 九色综合国产一区二区三区| 欧美福利一区二区| 一区二区三区蜜桃| 97se狠狠狠综合亚洲狠狠| 久久久亚洲国产美女国产盗摄| 日韩va亚洲va欧美va久久| 色哦色哦哦色天天综合| 亚洲欧洲成人自拍| 成人国产精品免费观看动漫| 久久精品人人做| 国内成人自拍视频| 精品久久久久99| 国产在线观看免费一区| 日韩欧美不卡一区| 韩国在线一区二区| 欧美tickling网站挠脚心| 美女尤物国产一区| 日韩一二三区视频| 久久av资源网| 久久综合999| 国产成人综合网站|