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

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

?? gif.c

?? arm平臺下的H264編碼和解碼源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Animated GIF encoder * Copyright (c) 2000 Fabrice Bellard. * * This library 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 of the License, or (at your option) any later version. * * This library 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//* * First version by Francois Revol revol@free.fr * * Features and limitations: * - currently no compression is performed, *   in fact the size of the data is 9/8 the size of the image in 8bpp * - uses only a global standard palette * - tested with IE 5.0, Opera for BeOS, NetPositive (BeOS), and Mozilla (BeOS). * * Reference documents: * http://www.goice.co.jp/member/mo/formats/gif.html * http://astronomy.swin.edu.au/pbourke/dataformats/gif/ * http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/GIF89a.txt * * this url claims to have an LZW algorithm not covered by Unisys patent: * http://www.msg.net/utility/whirlgif/gifencod.html * could help reduce the size of the files _a lot_... * some sites mentions an RLE type compression also. */#include "avformat.h"/* bitstream minipacket size */#define GIF_CHUNKS 100/* slows down the decoding (and some browsers doesn't like it) *//* #define GIF_ADD_APP_HEADER */typedef struct {    unsigned char r;    unsigned char g;    unsigned char b;} rgb_triplet;/* we use the standard 216 color palette *//* this script was used to create the palette: * for r in 00 33 66 99 cc ff; do for g in 00 33 66 99 cc ff; do echo -n "    "; for b in 00 33 66 99 cc ff; do  *   echo -n "{ 0x$r, 0x$g, 0x$b }, "; done; echo ""; done; done */static const rgb_triplet gif_clut[216] = {    { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x33 }, { 0x00, 0x00, 0x66 }, { 0x00, 0x00, 0x99 }, { 0x00, 0x00, 0xcc }, { 0x00, 0x00, 0xff },    { 0x00, 0x33, 0x00 }, { 0x00, 0x33, 0x33 }, { 0x00, 0x33, 0x66 }, { 0x00, 0x33, 0x99 }, { 0x00, 0x33, 0xcc }, { 0x00, 0x33, 0xff },    { 0x00, 0x66, 0x00 }, { 0x00, 0x66, 0x33 }, { 0x00, 0x66, 0x66 }, { 0x00, 0x66, 0x99 }, { 0x00, 0x66, 0xcc }, { 0x00, 0x66, 0xff },    { 0x00, 0x99, 0x00 }, { 0x00, 0x99, 0x33 }, { 0x00, 0x99, 0x66 }, { 0x00, 0x99, 0x99 }, { 0x00, 0x99, 0xcc }, { 0x00, 0x99, 0xff },    { 0x00, 0xcc, 0x00 }, { 0x00, 0xcc, 0x33 }, { 0x00, 0xcc, 0x66 }, { 0x00, 0xcc, 0x99 }, { 0x00, 0xcc, 0xcc }, { 0x00, 0xcc, 0xff },    { 0x00, 0xff, 0x00 }, { 0x00, 0xff, 0x33 }, { 0x00, 0xff, 0x66 }, { 0x00, 0xff, 0x99 }, { 0x00, 0xff, 0xcc }, { 0x00, 0xff, 0xff },    { 0x33, 0x00, 0x00 }, { 0x33, 0x00, 0x33 }, { 0x33, 0x00, 0x66 }, { 0x33, 0x00, 0x99 }, { 0x33, 0x00, 0xcc }, { 0x33, 0x00, 0xff },    { 0x33, 0x33, 0x00 }, { 0x33, 0x33, 0x33 }, { 0x33, 0x33, 0x66 }, { 0x33, 0x33, 0x99 }, { 0x33, 0x33, 0xcc }, { 0x33, 0x33, 0xff },    { 0x33, 0x66, 0x00 }, { 0x33, 0x66, 0x33 }, { 0x33, 0x66, 0x66 }, { 0x33, 0x66, 0x99 }, { 0x33, 0x66, 0xcc }, { 0x33, 0x66, 0xff },    { 0x33, 0x99, 0x00 }, { 0x33, 0x99, 0x33 }, { 0x33, 0x99, 0x66 }, { 0x33, 0x99, 0x99 }, { 0x33, 0x99, 0xcc }, { 0x33, 0x99, 0xff },    { 0x33, 0xcc, 0x00 }, { 0x33, 0xcc, 0x33 }, { 0x33, 0xcc, 0x66 }, { 0x33, 0xcc, 0x99 }, { 0x33, 0xcc, 0xcc }, { 0x33, 0xcc, 0xff },    { 0x33, 0xff, 0x00 }, { 0x33, 0xff, 0x33 }, { 0x33, 0xff, 0x66 }, { 0x33, 0xff, 0x99 }, { 0x33, 0xff, 0xcc }, { 0x33, 0xff, 0xff },    { 0x66, 0x00, 0x00 }, { 0x66, 0x00, 0x33 }, { 0x66, 0x00, 0x66 }, { 0x66, 0x00, 0x99 }, { 0x66, 0x00, 0xcc }, { 0x66, 0x00, 0xff },    { 0x66, 0x33, 0x00 }, { 0x66, 0x33, 0x33 }, { 0x66, 0x33, 0x66 }, { 0x66, 0x33, 0x99 }, { 0x66, 0x33, 0xcc }, { 0x66, 0x33, 0xff },    { 0x66, 0x66, 0x00 }, { 0x66, 0x66, 0x33 }, { 0x66, 0x66, 0x66 }, { 0x66, 0x66, 0x99 }, { 0x66, 0x66, 0xcc }, { 0x66, 0x66, 0xff },    { 0x66, 0x99, 0x00 }, { 0x66, 0x99, 0x33 }, { 0x66, 0x99, 0x66 }, { 0x66, 0x99, 0x99 }, { 0x66, 0x99, 0xcc }, { 0x66, 0x99, 0xff },    { 0x66, 0xcc, 0x00 }, { 0x66, 0xcc, 0x33 }, { 0x66, 0xcc, 0x66 }, { 0x66, 0xcc, 0x99 }, { 0x66, 0xcc, 0xcc }, { 0x66, 0xcc, 0xff },    { 0x66, 0xff, 0x00 }, { 0x66, 0xff, 0x33 }, { 0x66, 0xff, 0x66 }, { 0x66, 0xff, 0x99 }, { 0x66, 0xff, 0xcc }, { 0x66, 0xff, 0xff },    { 0x99, 0x00, 0x00 }, { 0x99, 0x00, 0x33 }, { 0x99, 0x00, 0x66 }, { 0x99, 0x00, 0x99 }, { 0x99, 0x00, 0xcc }, { 0x99, 0x00, 0xff },    { 0x99, 0x33, 0x00 }, { 0x99, 0x33, 0x33 }, { 0x99, 0x33, 0x66 }, { 0x99, 0x33, 0x99 }, { 0x99, 0x33, 0xcc }, { 0x99, 0x33, 0xff },    { 0x99, 0x66, 0x00 }, { 0x99, 0x66, 0x33 }, { 0x99, 0x66, 0x66 }, { 0x99, 0x66, 0x99 }, { 0x99, 0x66, 0xcc }, { 0x99, 0x66, 0xff },    { 0x99, 0x99, 0x00 }, { 0x99, 0x99, 0x33 }, { 0x99, 0x99, 0x66 }, { 0x99, 0x99, 0x99 }, { 0x99, 0x99, 0xcc }, { 0x99, 0x99, 0xff },    { 0x99, 0xcc, 0x00 }, { 0x99, 0xcc, 0x33 }, { 0x99, 0xcc, 0x66 }, { 0x99, 0xcc, 0x99 }, { 0x99, 0xcc, 0xcc }, { 0x99, 0xcc, 0xff },    { 0x99, 0xff, 0x00 }, { 0x99, 0xff, 0x33 }, { 0x99, 0xff, 0x66 }, { 0x99, 0xff, 0x99 }, { 0x99, 0xff, 0xcc }, { 0x99, 0xff, 0xff },    { 0xcc, 0x00, 0x00 }, { 0xcc, 0x00, 0x33 }, { 0xcc, 0x00, 0x66 }, { 0xcc, 0x00, 0x99 }, { 0xcc, 0x00, 0xcc }, { 0xcc, 0x00, 0xff },    { 0xcc, 0x33, 0x00 }, { 0xcc, 0x33, 0x33 }, { 0xcc, 0x33, 0x66 }, { 0xcc, 0x33, 0x99 }, { 0xcc, 0x33, 0xcc }, { 0xcc, 0x33, 0xff },    { 0xcc, 0x66, 0x00 }, { 0xcc, 0x66, 0x33 }, { 0xcc, 0x66, 0x66 }, { 0xcc, 0x66, 0x99 }, { 0xcc, 0x66, 0xcc }, { 0xcc, 0x66, 0xff },    { 0xcc, 0x99, 0x00 }, { 0xcc, 0x99, 0x33 }, { 0xcc, 0x99, 0x66 }, { 0xcc, 0x99, 0x99 }, { 0xcc, 0x99, 0xcc }, { 0xcc, 0x99, 0xff },    { 0xcc, 0xcc, 0x00 }, { 0xcc, 0xcc, 0x33 }, { 0xcc, 0xcc, 0x66 }, { 0xcc, 0xcc, 0x99 }, { 0xcc, 0xcc, 0xcc }, { 0xcc, 0xcc, 0xff },    { 0xcc, 0xff, 0x00 }, { 0xcc, 0xff, 0x33 }, { 0xcc, 0xff, 0x66 }, { 0xcc, 0xff, 0x99 }, { 0xcc, 0xff, 0xcc }, { 0xcc, 0xff, 0xff },    { 0xff, 0x00, 0x00 }, { 0xff, 0x00, 0x33 }, { 0xff, 0x00, 0x66 }, { 0xff, 0x00, 0x99 }, { 0xff, 0x00, 0xcc }, { 0xff, 0x00, 0xff },    { 0xff, 0x33, 0x00 }, { 0xff, 0x33, 0x33 }, { 0xff, 0x33, 0x66 }, { 0xff, 0x33, 0x99 }, { 0xff, 0x33, 0xcc }, { 0xff, 0x33, 0xff },    { 0xff, 0x66, 0x00 }, { 0xff, 0x66, 0x33 }, { 0xff, 0x66, 0x66 }, { 0xff, 0x66, 0x99 }, { 0xff, 0x66, 0xcc }, { 0xff, 0x66, 0xff },    { 0xff, 0x99, 0x00 }, { 0xff, 0x99, 0x33 }, { 0xff, 0x99, 0x66 }, { 0xff, 0x99, 0x99 }, { 0xff, 0x99, 0xcc }, { 0xff, 0x99, 0xff },    { 0xff, 0xcc, 0x00 }, { 0xff, 0xcc, 0x33 }, { 0xff, 0xcc, 0x66 }, { 0xff, 0xcc, 0x99 }, { 0xff, 0xcc, 0xcc }, { 0xff, 0xcc, 0xff },    { 0xff, 0xff, 0x00 }, { 0xff, 0xff, 0x33 }, { 0xff, 0xff, 0x66 }, { 0xff, 0xff, 0x99 }, { 0xff, 0xff, 0xcc }, { 0xff, 0xff, 0xff },};/* The GIF format uses reversed order for bitstreams... *//* at least they don't use PDP_ENDIAN :) *//* so we 'extend' PutBitContext. hmmm, OOP :) *//* seems this thing changed slightly since I wrote it... */#ifdef ALT_BITSTREAM_WRITER# error no ALT_BITSTREAM_WRITER support for now#endifstatic void gif_put_bits_rev(PutBitContext *s, int n, unsigned int value){    unsigned int bit_buf;    int bit_cnt;#ifdef STATS    st_out_bit_counts[st_current_index] += n;#endif    //    printf("put_bits=%d %x\n", n, value);    assert(n == 32 || value < (1U << n));    bit_buf = s->bit_buf;    bit_cnt = 32 - s->bit_left; /* XXX:lazyness... was = s->bit_cnt; */    //    printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf);    /* XXX: optimize */    if (n < (32-bit_cnt)) {        bit_buf |= value << (bit_cnt);        bit_cnt+=n;    } else {        bit_buf |= value << (bit_cnt);                *s->buf_ptr = bit_buf & 0xff;        s->buf_ptr[1] = (bit_buf >> 8) & 0xff;        s->buf_ptr[2] = (bit_buf >> 16) & 0xff;        s->buf_ptr[3] = (bit_buf >> 24) & 0xff;                //printf("bitbuf = %08x\n", bit_buf);        s->buf_ptr+=4;        if (s->buf_ptr >= s->buf_end)            puts("bit buffer overflow !!"); // should never happen ! who got rid of the callback ???//            flush_buffer_rev(s);        bit_cnt=bit_cnt + n - 32;        if (bit_cnt == 0) {            bit_buf = 0;        } else {            bit_buf = value >> (n - bit_cnt);        }    }    s->bit_buf = bit_buf;    s->bit_left = 32 - bit_cnt;}/* pad the end of the output stream with zeros */static void gif_flush_put_bits_rev(PutBitContext *s){    while (s->bit_left < 32) {        /* XXX: should test end of buffer */        *s->buf_ptr++=s->bit_buf & 0xff;        s->bit_buf>>=8;        s->bit_left+=8;    }//    flush_buffer_rev(s);    s->bit_left=32;    s->bit_buf=0;}/* !RevPutBitContext *//* GIF header */static int gif_image_write_header(ByteIOContext *pb,                                   int width, int height, uint32_t *palette){    int i;    unsigned int v;    put_tag(pb, "GIF");    put_tag(pb, "89a");    put_le16(pb, width);    put_le16(pb, height);    put_byte(pb, 0xf7); /* flags: global clut, 256 entries */    put_byte(pb, 0x1f); /* background color index */    put_byte(pb, 0); /* aspect ratio */    /* the global palette */    if (!palette) {        put_buffer(pb, (unsigned char *)gif_clut, 216*3);        for(i=0;i<((256-216)*3);i++)            put_byte(pb, 0);    } else {        for(i=0;i<256;i++) {            v = palette[i];            put_byte(pb, (v >> 16) & 0xff);            put_byte(pb, (v >> 8) & 0xff);            put_byte(pb, (v) & 0xff);        }    }    /* application extension header */    /* XXX: not really sure what to put in here... */#ifdef GIF_ADD_APP_HEADER    put_byte(pb, 0x21);    put_byte(pb, 0xff);    put_byte(pb, 0x0b);    put_tag(pb, "NETSCAPE2.0");    put_byte(pb, 0x03);    put_byte(pb, 0x01);    put_byte(pb, 0x00);    put_byte(pb, 0x00);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美视频在线观看| 亚洲男女毛片无遮挡| 欧美日韩不卡视频| 欧美在线免费视屏| 欧美日韩一级片网站| 欧美日韩大陆一区二区| 91精品午夜视频| 日韩免费一区二区| 精品国产凹凸成av人导航| 欧美一级夜夜爽| 久久奇米777| 亚洲欧洲精品成人久久奇米网| 国产精品乱人伦中文| 亚洲美女视频在线| 亚洲一区二区三区国产| 欧美探花视频资源| 欧美日韩大陆一区二区| 5月丁香婷婷综合| 欧美日韩精品欧美日韩精品一综合 | 美女性感视频久久| 捆绑紧缚一区二区三区视频| 国模大尺度一区二区三区| 福利一区二区在线观看| 99久久久久免费精品国产| 色老汉av一区二区三区| 欧美日韩黄色影视| 精品久久久久99| 国产精品私房写真福利视频| 亚洲精品自拍动漫在线| 日韩中文字幕91| 国产大陆精品国产| 欧美日韩一区二区三区在线| 精品第一国产综合精品aⅴ| 国产精品色一区二区三区| 亚洲最大成人网4388xx| 狠狠v欧美v日韩v亚洲ⅴ| 波多野结衣中文字幕一区二区三区| 91啪亚洲精品| 日韩免费电影一区| 亚洲综合在线免费观看| 国产综合久久久久久鬼色| 色诱视频网站一区| 久久久久国产一区二区三区四区 | 亚洲国产一区视频| 激情成人综合网| 91免费在线播放| 国产欧美一区二区精品秋霞影院| 国产精品精品国产色婷婷| 欧美aⅴ一区二区三区视频| 菠萝蜜视频在线观看一区| 欧美v国产在线一区二区三区| 综合激情成人伊人| 国产精品亚洲一区二区三区妖精 | 国产欧美日韩不卡免费| 丝袜诱惑制服诱惑色一区在线观看 | 日韩精品一卡二卡三卡四卡无卡| 成人福利视频在线看| 26uuu精品一区二区三区四区在线| 一二三四区精品视频| 91丨porny丨蝌蚪视频| 国产亚洲欧美一区在线观看| 免费成人在线播放| 欧美日韩五月天| 亚洲精品国产a| 色综合久久66| 亚洲精品乱码久久久久久日本蜜臀| 国产精品一区二区久久精品爱涩| 欧美一区二区黄色| 欧美aaa在线| 日韩视频免费直播| 久久国产生活片100| 91精品国产综合久久国产大片| 亚洲午夜日本在线观看| 91色porny| 亚洲精品日韩综合观看成人91| 成人美女在线视频| 国产精品美日韩| 色系网站成人免费| 亚洲制服丝袜在线| 欧美日韩国产高清一区二区三区| 亚洲欧美一区二区三区国产精品| 成人免费毛片高清视频| 国产精品美女久久久久高潮| 成人app在线| 亚洲欧美日韩人成在线播放| 一本一本大道香蕉久在线精品| 亚洲欧美偷拍卡通变态| 欧美丝袜自拍制服另类| 日本亚洲视频在线| 精品噜噜噜噜久久久久久久久试看| 久久电影国产免费久久电影| 久久久久久久久久久黄色| 成人小视频在线观看| 中文字幕一区二区三区精华液 | 欧美久久久久免费| 毛片一区二区三区| 久久久久久久久久看片| 91麻豆国产香蕉久久精品| 一区二区三区免费在线观看| 欧美一区二区三区四区高清| 国产乱码精品1区2区3区| 国产精品久久久久久久岛一牛影视 | 99久久国产综合精品色伊| 悠悠色在线精品| 精品乱人伦小说| 91在线观看高清| 日韩高清在线观看| 中文字幕 久热精品 视频在线 | 日韩欧美一区二区三区在线| 国产做a爰片久久毛片| 国产精品美女久久久久久久久 | 国内精品伊人久久久久影院对白| 欧美激情中文字幕| 欧美日韩激情一区二区三区| 蜜桃视频一区二区| 亚洲乱码国产乱码精品精小说| 91精品国产欧美日韩| 成人app软件下载大全免费| 日本在线观看不卡视频| 一色桃子久久精品亚洲| 日韩精品中文字幕一区| 欧美四级电影网| 99在线精品一区二区三区| 免费在线看一区| 一区二区三区在线观看视频| 久久在线观看免费| 日韩一级片在线播放| 在线精品视频小说1| 国产91精品一区二区麻豆网站| 亚洲国产精品欧美一二99| 日韩一区欧美小说| 国产午夜精品理论片a级大结局| 欧美男女性生活在线直播观看| eeuss鲁一区二区三区| 国内久久精品视频| 久久国产视频网| 欧美aaaaaa午夜精品| 奇米一区二区三区av| 一区二区三区高清在线| 欧美激情综合在线| 国产欧美一区二区精品仙草咪 | 欧美激情一区二区在线| 日韩精品综合一本久道在线视频| 欧美精品色一区二区三区| 91色乱码一区二区三区| 91在线免费看| 99久久婷婷国产综合精品电影| 成人精品视频一区二区三区| 国产一区二区美女| 国产一区二区三区久久悠悠色av | 国产精品77777| 国产揄拍国内精品对白| 久久爱www久久做| 精品一区二区三区日韩| 老色鬼精品视频在线观看播放| 老色鬼精品视频在线观看播放| 免费看精品久久片| 激情小说欧美图片| 国产精品18久久久久久久久久久久 | jizz一区二区| 不卡一区二区中文字幕| 不卡视频一二三| 91麻豆精品在线观看| 欧美视频自拍偷拍| 69久久99精品久久久久婷婷| 日韩欧美一级二级三级| 久久久一区二区三区捆绑**| 国产精品美女久久福利网站| 综合欧美亚洲日本| 午夜欧美在线一二页| 久久国产综合精品| 成人av在线观| 欧美片在线播放| 久久综合一区二区| 最新欧美精品一区二区三区| 亚洲成人午夜电影| 久久爱www久久做| 99久久免费国产| 51精品久久久久久久蜜臀| 欧美不卡一区二区| 17c精品麻豆一区二区免费| 亚洲午夜免费电影| 激情综合网av| 色婷婷国产精品综合在线观看| 日韩三级视频在线观看| 国产日韩欧美不卡| 五月天国产精品| www.欧美色图| 日韩欧美国产综合| 亚洲视频一区在线| 蜜桃一区二区三区在线观看| 成人午夜av电影| 欧美一区二区三区视频免费播放 | 蜜臀av一区二区| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 丝袜诱惑制服诱惑色一区在线观看| 六月丁香婷婷色狠狠久久| 国产aⅴ精品一区二区三区色成熟| 欧美综合久久久| 亚洲国产精品v|