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

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

?? lzw.c

?? 君正早期ucos系統(只有早期的才不沒有打包成庫),MPLAYER,文件系統,圖片解碼,瀏覽,電子書,錄音,想學ucos,識貨的人就下吧 russblock fmradio explore set
?? C
字號:
/* * LZW decoder * Copyright (c) 2003 Fabrice Bellard. * Copyright (c) 2006 Konstantin Shishkov. * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *//** * @file lzw.c * @brief LZW decoding routines * @author Fabrice Bellard * Modified for use in TIFF by Konstantin Shishkov */#include "avcodec.h"#include "lzw.h"#define LZW_MAXBITS                 12#define LZW_SIZTABLE                (1<<LZW_MAXBITS)static const uint16_t mask[17] ={    0x0000, 0x0001, 0x0003, 0x0007,    0x000F, 0x001F, 0x003F, 0x007F,    0x00FF, 0x01FF, 0x03FF, 0x07FF,    0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF};struct LZWState {    uint8_t *pbuf, *ebuf;    int bbits;    unsigned int bbuf;    int mode;                   ///< Decoder mode    int cursize;                ///< The current code size    int curmask;    int codesize;    int clear_code;    int end_code;    int newcodes;               ///< First available code    int top_slot;               ///< Highest code for current size    int extra_slot;    int slot;                   ///< Last read code    int fc, oc;    uint8_t *sp;    uint8_t stack[LZW_SIZTABLE];    uint8_t suffix[LZW_SIZTABLE];    uint16_t prefix[LZW_SIZTABLE];    int bs;                     ///< current buffer size for GIF};/* get one code from stream */static int lzw_get_code(struct LZWState * s){    int c;    if(s->mode == FF_LZW_GIF) {        while (s->bbits < s->cursize) {            if (!s->bs) {                s->bs = *s->pbuf++;            }            s->bbuf |= (*s->pbuf++) << s->bbits;            s->bbits += 8;            s->bs--;        }        c = s->bbuf;        s->bbuf >>= s->cursize;    } else { // TIFF        while (s->bbits < s->cursize) {            s->bbuf = (s->bbuf << 8) | (*s->pbuf++);            s->bbits += 8;        }        c = s->bbuf >> (s->bbits - s->cursize);    }    s->bbits -= s->cursize;    return c & s->curmask;}uint8_t* ff_lzw_cur_ptr(LZWState *p){    return ((struct LZWState*)p)->pbuf;}void ff_lzw_decode_tail(LZWState *p){    struct LZWState *s = (struct LZWState *)p;    if(s->mode == FF_LZW_GIF) {        while(s->pbuf < s->ebuf && s->bs>0){            s->pbuf += s->bs;            s->bs = *s->pbuf++;        }    }else        s->pbuf= s->ebuf;}void ff_lzw_decode_open(LZWState **p){    *p = av_mallocz(sizeof(struct LZWState));}void ff_lzw_decode_close(LZWState **p){    av_freep(p);}/** * Initialize LZW decoder * @param s LZW context * @param csize initial code size in bits * @param buf input data * @param buf_size input data size * @param mode decoder working mode - either GIF or TIFF */int ff_lzw_decode_init(LZWState *p, int csize, uint8_t *buf, int buf_size, int mode){    struct LZWState *s = (struct LZWState *)p;    if(csize < 1 || csize > LZW_MAXBITS)        return -1;    /* read buffer */    s->pbuf = buf;    s->ebuf = s->pbuf + buf_size;    s->bbuf = 0;    s->bbits = 0;    s->bs = 0;    /* decoder */    s->codesize = csize;    s->cursize = s->codesize + 1;    s->curmask = mask[s->cursize];    s->top_slot = 1 << s->cursize;    s->clear_code = 1 << s->codesize;    s->end_code = s->clear_code + 1;    s->slot = s->newcodes = s->clear_code + 2;    s->oc = s->fc = -1;    s->sp = s->stack;    s->mode = mode;    s->extra_slot = s->mode == FF_LZW_TIFF;    return 0;}/** * Decode given number of bytes * NOTE: the algorithm here is inspired from the LZW GIF decoder *  written by Steven A. Bennett in 1987. * * @param s LZW context * @param buf output buffer * @param len number of bytes to decode * @return number of bytes decoded */int ff_lzw_decode(LZWState *p, uint8_t *buf, int len){    int l, c, code, oc, fc;    uint8_t *sp;    struct LZWState *s = (struct LZWState *)p;    if (s->end_code < 0)        return 0;    l = len;    sp = s->sp;    oc = s->oc;    fc = s->fc;    for (;;) {        while (sp > s->stack) {            *buf++ = *(--sp);            if ((--l) == 0)                goto the_end;        }        c = lzw_get_code(s);        if (c == s->end_code) {            break;        } else if (c == s->clear_code) {            s->cursize = s->codesize + 1;            s->curmask = mask[s->cursize];            s->slot = s->newcodes;            s->top_slot = 1 << s->cursize;            fc= oc= -1;        } else {            code = c;            if (code == s->slot && fc>=0) {                *sp++ = fc;                code = oc;            }else if(code >= s->slot)                break;            while (code >= s->newcodes) {                *sp++ = s->suffix[code];                code = s->prefix[code];            }            *sp++ = code;            if (s->slot < s->top_slot && oc>=0) {                s->suffix[s->slot] = code;                s->prefix[s->slot++] = oc;            }            fc = code;            oc = c;            if (s->slot >= s->top_slot - s->extra_slot) {                if (s->cursize < LZW_MAXBITS) {                    s->top_slot <<= 1;                    s->curmask = mask[++s->cursize];                }            }        }    }    s->end_code = -1;  the_end:    s->sp = sp;    s->oc = oc;    s->fc = fc;    return len - l;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费观看| 国产精品你懂的| 最新成人av在线| 精品一区二区精品| 欧美午夜不卡在线观看免费| 国产婷婷色一区二区三区在线| 一区二区三区四区在线| 处破女av一区二区| 日韩欧美中文字幕公布| 亚洲日本乱码在线观看| 岛国精品一区二区| 久久青草国产手机看片福利盒子 | 欧美人狂配大交3d怪物一区| 国产精品理论片在线观看| 麻豆91在线播放| 欧美精品乱码久久久久久| 亚洲精品视频在线看| 成人一区二区三区中文字幕| 精品久久久久久亚洲综合网| 日本中文在线一区| 欧美日韩激情一区二区三区| 亚洲人成伊人成综合网小说| 成人精品gif动图一区| 久久综合九色综合欧美就去吻 | 国产三级久久久| 精品在线视频一区| 欧美一区二区高清| 日产精品久久久久久久性色| 欧美综合色免费| 一二三四区精品视频| 色一情一乱一乱一91av| **性色生活片久久毛片| 99久久久精品| 亚洲视频一区在线| 一道本成人在线| 亚洲美女偷拍久久| 色综合天天视频在线观看| 亚洲丝袜美腿综合| 欧美中文字幕久久| 亚洲午夜激情网页| 欧美精品成人一区二区三区四区| 亚洲福利视频导航| 欧美日韩国产综合草草| 午夜激情综合网| 欧美妇女性影城| 免费成人在线网站| 久久色在线视频| 国产成人在线免费观看| 国产喷白浆一区二区三区| 成人福利视频在线| 亚洲另类春色国产| 欧美男女性生活在线直播观看| 欧美亚洲国产bt| 亚洲一区欧美一区| 91 com成人网| 韩国一区二区在线观看| 久久久久久久久久美女| 成人免费毛片aaaaa**| 亚洲精品欧美综合四区| 欧美系列亚洲系列| 蜜臀久久久久久久| 久久精品视频网| 成人黄色777网| 亚洲一区电影777| 日韩欧美中文一区二区| 国产成人综合在线| 亚洲精品综合在线| 91精品国产一区二区三区| 久草这里只有精品视频| 国产精品理伦片| 欧美人与性动xxxx| 国产一区欧美一区| 亚洲欧美综合色| 在线播放亚洲一区| 国产成人亚洲综合色影视| 亚洲精品国产成人久久av盗摄| 在线不卡中文字幕| 国产一区二区三区日韩| 亚洲女人的天堂| 日韩视频免费观看高清完整版在线观看 | 亚洲成年人影院| 欧美成人一区二区三区在线观看| 成人综合在线观看| 艳妇臀荡乳欲伦亚洲一区| 日韩美女一区二区三区四区| 国产精品1024| 亚洲一区视频在线| 国产亚洲欧洲一区高清在线观看| 色菇凉天天综合网| 蜜桃视频一区二区三区在线观看| 国产亚洲成aⅴ人片在线观看| 色综合一个色综合亚洲| 久久成人羞羞网站| 尤物在线观看一区| 精品国产三级电影在线观看| 色狠狠av一区二区三区| 国产中文字幕精品| 亚洲国产视频在线| 国产欧美日韩另类视频免费观看| 欧美日韩一本到| 国产成人精品网址| 婷婷综合五月天| 成人免费一区二区三区视频 | 欧美三级三级三级| 国产高清一区日本| 日韩av一级片| 亚洲色图一区二区| 久久久精品人体av艺术| 欧美精品欧美精品系列| 99精品桃花视频在线观看| 蜜臀精品一区二区三区在线观看| 亚洲色图清纯唯美| 久久色中文字幕| 91精品国产91久久久久久最新毛片| av在线一区二区| 国内欧美视频一区二区| 天堂在线一区二区| 亚洲精品亚洲人成人网| 国产欧美日韩精品在线| 精品美女在线播放| 欧美午夜精品免费| 99re热这里只有精品视频| 国产麻豆视频一区二区| 日欧美一区二区| 夜夜爽夜夜爽精品视频| 国产精品不卡一区| 久久久久久电影| 精品少妇一区二区三区免费观看 | 欧美一区二区久久| 亚洲欧美激情插| 中文字幕av一区二区三区| 日韩一卡二卡三卡四卡| 欧美日韩黄色影视| 欧美亚洲图片小说| 97久久超碰国产精品| 成人激情小说网站| 高清国产一区二区| 国产一区二区三区在线看麻豆| 日本成人在线视频网站| 午夜欧美视频在线观看| 一区二区三区四区不卡在线 | 久久精品无码一区二区三区| 日韩欧美国产高清| 欧美日韩成人高清| 欧美日韩高清一区| 欧美日韩国产不卡| 欧美日韩一区视频| 欧美日韩不卡在线| 91麻豆精品国产自产在线| 欧美日韩一级黄| 欧美日韩免费一区二区三区| 欧美日韩精品一区视频| 欧美日韩在线直播| 欧美色视频一区| 欧美日韩亚洲综合在线| 欧美日韩成人综合天天影院| 欧美色手机在线观看| 欧美日韩精品专区| 日韩一区二区免费高清| 欧美一级xxx| 精品盗摄一区二区三区| 久久老女人爱爱| 久久久精品天堂| 亚洲欧美在线高清| 一区二区在线观看免费| 一个色妞综合视频在线观看| 亚洲成人午夜电影| 日本成人在线网站| 黑人精品欧美一区二区蜜桃 | 肉肉av福利一精品导航| 午夜电影网一区| 捆绑调教一区二区三区| 国产中文一区二区三区| 国产.欧美.日韩| 91同城在线观看| 欧美日韩一区二区三区在线看| 欧美日韩国产经典色站一区二区三区| 在线不卡的av| 久久久99久久| 日韩码欧中文字| 午夜欧美2019年伦理| 久久疯狂做爰流白浆xx| 国产福利一区二区三区| 91丝袜高跟美女视频| 欧美日本免费一区二区三区| 精品国产一区二区亚洲人成毛片| 久久你懂得1024| 亚洲人xxxx| 日本女优在线视频一区二区| 国产一区二区免费在线| 99久久精品国产毛片| 欧美精品视频www在线观看| 精品欧美乱码久久久久久1区2区| 中文字幕第一区综合| 亚洲午夜国产一区99re久久| 蜜臂av日日欢夜夜爽一区| 成人高清伦理免费影院在线观看| 欧美日韩在线三级| 久久久国产精品麻豆 | 日韩一区二区三区视频在线观看|