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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线看| 亚洲国产另类av| 欧美mv日韩mv亚洲| 在线不卡免费欧美| 7777精品伊人久久久大香线蕉| 色老头久久综合| 欧美午夜在线观看| 欧美日韩一二区| 日韩视频免费观看高清完整版| 欧美一区二区三区四区五区| 制服视频三区第一页精品| 69堂成人精品免费视频| 欧美成人乱码一区二区三区| www国产精品av| 国产精品视频在线看| 亚洲私人黄色宅男| 亚洲国产成人91porn| 久久se精品一区精品二区| 国产真实乱对白精彩久久| 国内一区二区在线| av一二三不卡影片| 欧美性一二三区| 精品欧美久久久| 日韩一区中文字幕| 天天影视网天天综合色在线播放| 美女网站视频久久| 粉嫩欧美一区二区三区高清影视| 91国偷自产一区二区使用方法| 波多野结衣在线一区| 色欧美乱欧美15图片| 日韩一区二区三区在线| 欧美国产精品一区二区三区| 亚洲人精品午夜| 蜜桃av噜噜一区二区三区小说| 国产精品99久| 欧美日韩国产欧美日美国产精品| 精品少妇一区二区三区免费观看| 国产欧美日韩不卡| 香蕉久久夜色精品国产使用方法| 黄色资源网久久资源365| 成人性生交大片免费看视频在线| 欧美色男人天堂| 久久亚洲精华国产精华液 | 欧美精品久久久久久久久老牛影院| 91精品视频网| 亚洲丝袜制服诱惑| 国产美女一区二区| 日韩一二在线观看| 一区二区三区在线视频免费观看| 精品一区二区在线观看| 色综合天天视频在线观看| 久久这里只有精品6| 婷婷激情综合网| 色先锋aa成人| 国产精品福利在线播放| 久久99久久99| 日韩一级片在线播放| 一区二区三区免费网站| 国产精品自拍三区| 精品国产乱码久久久久久牛牛| 亚洲成a人片综合在线| 成人av集中营| 国产精品日日摸夜夜摸av| 国内成人自拍视频| 欧美mv日韩mv| 免费一级片91| 日韩一区二区三区在线视频| 三级在线观看一区二区| 欧美伊人久久久久久久久影院 | 99久久国产综合精品色伊| 久久午夜电影网| 久久国产三级精品| 日韩欧美精品在线| 麻豆精品精品国产自在97香蕉| 在线不卡一区二区| 婷婷综合五月天| 7777精品伊人久久久大香线蕉超级流畅| 亚洲精品乱码久久久久久| 一本大道av一区二区在线播放| 国产精品久99| 色综合网站在线| 亚洲午夜久久久久久久久电影网 | 久久一区二区三区四区| 老司机精品视频一区二区三区| 日韩欧美国产高清| 久久99久久精品欧美| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美视频你懂的| 亚洲18色成人| 日韩一二三四区| 国内精品自线一区二区三区视频| 精品国产亚洲一区二区三区在线观看| 免费视频一区二区| 国产欧美日韩不卡| 在线中文字幕一区二区| 日本亚洲最大的色成网站www| 精品国产麻豆免费人成网站| 国内外成人在线视频| 国产精品麻豆欧美日韩ww| 91麻豆精东视频| 日韩精品成人一区二区三区| 久久综合久久鬼色中文字| 国产成人av一区| 亚洲一二三四久久| 久久久精品免费免费| 色视频一区二区| 国产永久精品大片wwwapp | 亚洲一区二区三区四区的| 在线综合视频播放| 国产成人精品综合在线观看| 亚洲永久免费av| 国产婷婷一区二区| 91福利国产精品| 国产一区欧美二区| 亚洲综合一区在线| 国产日韩三级在线| 欧美电影一区二区| 91视频在线看| 国产在线观看免费一区| 亚洲不卡在线观看| 国产精品激情偷乱一区二区∴| 91精品国产综合久久精品app| 成人一级黄色片| 久久99久久久欧美国产| 一区二区三区在线观看欧美| 久久亚区不卡日本| 91精品国产综合久久精品图片 | 欧美日韩一区国产| 成人av高清在线| 国产伦精品一区二区三区免费迷 | 欧美在线制服丝袜| 不卡的电影网站| 国产精品亚洲第一| 日韩精品色哟哟| 亚洲一区二区三区在线| 自拍偷拍欧美精品| 国产精品午夜在线观看| 精品国产露脸精彩对白| 91麻豆精品国产自产在线| 91在线porny国产在线看| 国产精品中文字幕一区二区三区| 日韩成人一级片| 婷婷国产在线综合| 午夜精品福利一区二区三区av| 亚洲猫色日本管| 亚洲人被黑人高潮完整版| 国产精品久久久一区麻豆最新章节| 欧美成人a视频| 精品国产污网站| 久久综合狠狠综合久久激情| 欧美成人免费网站| 精品美女在线播放| 久久男人中文字幕资源站| 精品国产一区二区三区久久久蜜月| 欧美一区二区久久| 日韩欧美一级二级| 欧美videossexotv100| 日韩欧美亚洲国产精品字幕久久久| 欧美三级资源在线| 日韩一区二区中文字幕| 精品蜜桃在线看| 国产欧美一区二区精品忘忧草| 久久精品一区蜜桃臀影院| 国产三级一区二区三区| 樱花草国产18久久久久| 亚洲精品免费在线| 夜夜爽夜夜爽精品视频| 亚洲一区二区欧美激情| 日精品一区二区| 精品一区二区三区免费毛片爱| 精品一二三四在线| 99综合电影在线视频| 97久久精品人人爽人人爽蜜臀 | 国内成人免费视频| 不卡电影免费在线播放一区| 色综合欧美在线视频区| 欧美美女黄视频| 久久人人爽人人爽| 1区2区3区精品视频| 天天色 色综合| 国产九九视频一区二区三区| 91免费精品国自产拍在线不卡| 欧美午夜免费电影| 久久婷婷国产综合精品青草| 一区在线中文字幕| 三级在线观看一区二区| 国产69精品久久777的优势| 在线看不卡av| 久久久久久夜精品精品免费| 伊人夜夜躁av伊人久久| 精品一二三四区| 欧美在线观看18| 国产欧美一区二区三区沐欲| 亚洲成人av在线电影| 国产成人福利片| 91精品久久久久久久久99蜜臂| 亚洲国产岛国毛片在线| 奇米精品一区二区三区在线观看| av动漫一区二区| 精品久久五月天|