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

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

?? fad.bits.c

?? libFAD is a Flash Animation Decode library
?? C
字號:
/** * libFAD - Flash Animation Decode library * Copyright (C) 2005-2006 VGSystem Technologies, Inc. * * libFAD is the legal property of its developers, whose names are too numerous * to list here.  Please refer to the COPYRIGHT file distributed with this * source distribution. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * $Id: fad.bits.c,v 1.16 2006/02/26 11:38:39 wrxzzj Exp $ */#include "fad.bits.h"#define BITS_SYNC(bits) \  if(bits->npad > 0) { \    bits->npad = 0; \    bits->bufptr++; \  }void bits_init(bits_t* bits) {  bits->bufptr = NULL;  bits->npad = 0;}void bits_finish(bits_t* bits) {  /**do nothing*/}void bits_sync(bits_t* bits) {  BITS_SYNC(bits);}u8_t* bits_tell(bits_t* bits) {  BITS_SYNC(bits);  return bits->bufptr;}void bits_buffer(bits_t* bits, u8_t* buffer) {  bits->bufptr = buffer;  bits->npad = 0;}u8_t bits_get_u8(bits_t* bits) {  BITS_SYNC(bits);  return *bits->bufptr++;}s8_t bits_get_s8(bits_t* bits) {  BITS_SYNC(bits);  return *bits->bufptr++;}u16_t bits_get_u16(bits_t* bits) {  u16_t val;  BITS_SYNC(bits);#ifdef BYTE_BIGIAN  val = *bits->bufptr|*(bits->bufptr+1)<<8;#else  val = *(u16_t* )bits->bufptr;#endif  bits->bufptr += 2;  return val;}void bits_dump(bits_t* bits, u16_t num_line, FILE* fp) {  u16_t i = 0;  u8_t* ptr = bits->bufptr;  fprintf(fp, "bits->nbits = %d\n", bits->npad);  while(i++ < num_line) {    fprintf(fp, "%x %x %x %x %x %x %x %x\n", *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5), *(ptr+6), *(ptr+7));    ptr += 8;  }}s16_t bits_get_s16(bits_t* bits) {  s16_t val;  BITS_SYNC(bits);#ifdef BYTE_BIGIAN  val = *bits->bufptr|*(bits->bufptr+1)<<8;#else  val = *(s16_t* )bits->bufptr;#endif  bits->bufptr += 2;  return val;}u32_t bits_get_u32(bits_t* bits) {  u32_t val;  BITS_SYNC(bits);#ifdef BYTE_BIGIAN  val = *bits->bufptr|*(bits->bufptr+1)<<8|*(bits->bufptr+2)<<16|*(bits->bufptr+3)<<24;#else  val = *(u32_t* )bits->bufptr;#endif  bits->bufptr += 4;  return val;}s32_t bits_get_s32(bits_t* bits) {  s32_t val;  BITS_SYNC(bits);#ifdef BYTE_BIGIAN  val = *bits->bufptr|*(bits->bufptr+1)<<8|*(bits->bufptr+2)<<16|*(bits->bufptr+3)<<24;#else  val = *(s32_t* )bits->bufptr;#endif  bits->bufptr += 4;  return val;}sbit_t bits_get_sbits(bits_t* bits, u32_t nbits) {  sbit_t val = 0;  u8_t i, j;  if(nbits == 0 || bits == NULL)    return 0;  i = bits->npad; j = 24;  bits->npad += nbits;  while(bits->npad > 7) {    val = val|*(bits->bufptr++)<<(i+j);    j -= 8;    bits->npad -= 8;  }  if(bits->npad > 0)    val = val|*(bits->bufptr)<<(i+j);  val = val>>(32-nbits);  return val;}ubit_t bits_get_ubits(bits_t* bits, u32_t nbits) {  ubit_t val = 0;  u8_t i, j;  if(nbits == 0 || bits == NULL)    return 0;  i = bits->npad; j = 24;  bits->npad += nbits;  while(bits->npad > 7) {    val = val|*(bits->bufptr++)<<(i+j);    j -= 8;    bits->npad -= 8;  }  if(bits->npad > 0)    val = val|*(bits->bufptr)<<(i+j);  val = val>>1;  if(val&0x80000000)    val = val&0x7fffffff;  val = val>>(31-nbits);  return val;}fbit_t bits_get_fbits(bits_t* bits, u32_t nbits) {  return bits_get_sbits(bits, nbits);}s8_t bits_seek_nbits(bits_t* bits, u32_t nbits) {  u8_t b;  bits->npad += nbits;  while(bits->npad > 7) {    bits->bufptr++;    bits->npad -= 8;  }  return 0;}s8_t bits_seek_nbytes(bits_t* bits, u32_t nbytes) {  BITS_SYNC(bits);  bits->bufptr += nbytes;  return 0;}void bits_get_rect(bits_t* bits, rect_t* rt) {  u8_t nbits;  BITS_SYNC(bits);  nbits = (*bits->bufptr>>3)&0x1f;  bits->npad = 5;  if(rt) {    rt->x0 = bits_get_sbits(bits, nbits);    rt->x1 = bits_get_sbits(bits, nbits);    rt->y0 = bits_get_sbits(bits, nbits);    rt->y1 = bits_get_sbits(bits, nbits);  } else    bits_seek_nbits(bits, nbits<<2);}void bits_get_matrix(bits_t* bits, cairo_matrix_t* mx) {  u8_t nbits;  BITS_SYNC(bits);  if(mx) {    mx->xx = mx->yy = 1.00;    mx->yx = mx->xy = 0.00;    mx->x0 = mx->y0 = 0.00;  }  if(bits_get_ubits(bits, 1)) {    nbits = bits_get_ubits(bits, 5);    if(mx) {      mx->xx = (double)bits_get_sbits(bits, nbits)/0xffff;      mx->yy = (double)bits_get_sbits(bits, nbits)/0xffff;    } else      bits_seek_nbits(bits, nbits<<1);  }  if(bits_get_ubits(bits, 1)) {    nbits = bits_get_ubits(bits, 5);    if(mx) {      mx->yx = (double)bits_get_sbits(bits, nbits)/0xffff;      mx->xy = (double)bits_get_sbits(bits, nbits)/0xffff;    } else       bits_seek_nbits(bits, nbits<<1);  }  nbits = bits_get_ubits(bits, 5);  if(mx) {    mx->x0 = (double)bits_get_sbits(bits, nbits)/20.000;    mx->y0 = (double)bits_get_sbits(bits, nbits)/20.000;  } else    bits_seek_nbits(bits, nbits<<1);}/**used by shape record parse*/void bits_get_xy(bits_t *bits, u8_t nbits, s32_t *x, s32_t *y) {  if(bits_get_ubits(bits, 1)) {    *x += bits_get_sbits(bits, nbits);    *y += bits_get_sbits(bits, nbits);  } else {    if(bits_get_ubits(bits, 1))      *y += bits_get_sbits(bits, nbits);    else      *x += bits_get_sbits(bits, nbits);  }}void bits_get_rgbxform(bits_t* bits, rgbxform_t* cx) {  u8_t nbits, b;  BITS_SYNC(bits);  b = (*bits->bufptr>>2)&0x3f;  bits->npad = 6;  if(cx) {    cx->rm = cx->gm = cx->bm = 0xff;    cx->ra = cx->ga = cx->ba = 0x00;  }  nbits = b&0x0f;  if(b&0x10) {    if(cx) {      cx->rm = bits_get_sbits(bits, nbits);      cx->gm = bits_get_sbits(bits, nbits);      cx->bm = bits_get_sbits(bits, nbits);    } else      bits_seek_nbits(bits, nbits*3);  }  if(b&0x20) {    if(cx) {      cx->ra = bits_get_sbits(bits, nbits);      cx->ga = bits_get_sbits(bits, nbits);      cx->ba = bits_get_sbits(bits, nbits);    } else      bits_seek_nbits(bits, nbits*3);  }}void bits_get_rgbaxform(bits_t* bits, rgbaxform_t* cx) {  u8_t nbits, b;  BITS_SYNC(bits);  b = (*bits->bufptr>>2)&0x3f;  bits->npad = 6;  if(cx) {    cx->base.rm = cx->base.gm = cx->base.bm = cx->am = 0xff;    cx->base.ra = cx->base.ga = cx->base.ba = cx->aa = 0x00;  }  nbits = b&0x0f;  if(b&0x10) {    if(cx) {      cx->base.rm = bits_get_sbits(bits, nbits);      cx->base.gm = bits_get_sbits(bits, nbits);      cx->base.bm = bits_get_sbits(bits, nbits);      cx->am = bits_get_sbits(bits, nbits);    } else      bits_seek_nbits(bits, nbits<<2);  }  if(b&0x20) {    if(cx) {      cx->base.ra = bits_get_sbits(bits, nbits);      cx->base.ga = bits_get_sbits(bits, nbits);      cx->base.ba = bits_get_sbits(bits, nbits);      cx->aa = bits_get_sbits(bits, nbits);    } else      bits_seek_nbits(bits, nbits<<2);  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精久久久久久| 91黄色免费网站| 精品国产伦一区二区三区观看方式| 日产精品久久久久久久性色| 欧美一级高清片| 精品一区二区在线播放| 国产日本一区二区| 成a人片国产精品| 一区二区不卡在线播放| 制服丝袜激情欧洲亚洲| 精品一区二区三区视频在线观看| 久久精品亚洲一区二区三区浴池| 成人黄页在线观看| 亚洲国产精品一区二区www| 日韩午夜在线影院| 成人久久18免费网站麻豆| 亚洲精品成人少妇| 91麻豆精品国产91久久久 | 日韩欧美亚洲一区二区| 国产乱码精品一区二区三区av| 国产精品国产三级国产aⅴ中文| 色屁屁一区二区| 久久精品免费观看| 亚洲人吸女人奶水| 欧美一区二区三区免费| 成人激情文学综合网| 亚洲电影第三页| 久久精品人人做人人爽97| 在线视频综合导航| 国产一区二区h| 亚洲综合色区另类av| 久久精品视频一区二区| 欧美日韩一区在线| 成人三级伦理片| 青青草视频一区| 亚洲欧美aⅴ...| 久久久久久久性| 欧美偷拍一区二区| 波波电影院一区二区三区| 日本va欧美va瓶| 亚洲欧洲精品一区二区精品久久久| 91麻豆精品国产91久久久久久久久| 成人黄动漫网站免费app| 激情偷乱视频一区二区三区| 亚洲第一综合色| 一区视频在线播放| 久久免费午夜影院| 在线成人免费视频| 欧美伊人久久大香线蕉综合69 | 国产精品家庭影院| 26uuu国产在线精品一区二区| 欧美日韩第一区日日骚| a4yy欧美一区二区三区| 国产一区 二区| 蜜乳av一区二区三区| 亚洲一二三四区| 中文字幕佐山爱一区二区免费| 国产日韩高清在线| 欧美精品一区二区三区很污很色的 | 在线影视一区二区三区| 成人免费不卡视频| 国产成人在线看| 麻豆精品在线观看| 日韩精品久久久久久| 亚洲福利电影网| 亚洲一线二线三线视频| 亚洲图片你懂的| 中文字幕综合网| 亚洲男同性视频| 日韩理论片网站| 亚洲乱码中文字幕综合| 亚洲人吸女人奶水| 一区二区三区四区不卡视频| 一区二区三区免费网站| 亚洲一区二区五区| 亚洲成人一区在线| 日韩成人午夜电影| 美女视频黄久久| 国产一区在线观看视频| 国产一区二区按摩在线观看| 国产精品18久久久久久久久| 国产麻豆成人精品| 成人一级片在线观看| 不卡一二三区首页| 91丨国产丨九色丨pron| 欧美在线色视频| 欧美精品自拍偷拍| 日韩三级视频在线观看| 久久精品夜色噜噜亚洲a∨| 欧美高清一级片在线观看| 亚洲免费观看在线视频| 亚洲a一区二区| 久久狠狠亚洲综合| 粉嫩嫩av羞羞动漫久久久| 91婷婷韩国欧美一区二区| 欧美日韩激情在线| 亚洲精品一区二区在线观看| 欧美激情中文字幕一区二区| 一区二区三区免费网站| 蜜桃在线一区二区三区| 大胆亚洲人体视频| 欧美网站一区二区| www久久精品| 一区二区三区国产精华| 奇米四色…亚洲| 国产91在线观看丝袜| 在线视频你懂得一区| 精品国产一区二区三区忘忧草| 中文字幕乱码久久午夜不卡| 一区二区三区影院| 国产精品一区二区在线播放| 91丨九色丨尤物| 精品日韩在线观看| 亚洲三级视频在线观看| 麻豆精品久久精品色综合| 成人免费黄色大片| 欧美一级午夜免费电影| 国产精品进线69影院| 六月婷婷色综合| 在线视频欧美精品| 国产午夜精品久久久久久免费视| 一区二区三区在线视频观看58| 国内一区二区在线| 欧美日韩午夜在线视频| 国产精品三级视频| 美女国产一区二区三区| 欧洲精品中文字幕| 国产精品国产三级国产有无不卡| 蜜桃av一区二区在线观看| 色国产精品一区在线观看| 日本一区二区免费在线| 美女视频免费一区| 欧美日韩国产一级二级| 中文字幕一区二区在线播放| 国产主播一区二区三区| 欧美剧情片在线观看| 中文字幕一区二区三区四区| 国产一区二区女| 欧美一区二区三区影视| 亚洲精品视频在线看| 国产91综合网| 欧美精品一区二区精品网| 日本不卡视频在线| 欧美日韩综合在线免费观看| 亚洲欧洲精品成人久久奇米网| 国产乱码字幕精品高清av | 欧美理论在线播放| 亚洲欧美成aⅴ人在线观看| 丁香桃色午夜亚洲一区二区三区| 日韩欧美在线不卡| 日韩精品亚洲一区二区三区免费| 一本大道久久a久久综合婷婷| 中文一区二区完整视频在线观看| 国内精品久久久久影院一蜜桃| 日韩一级成人av| 日本欧美肥老太交大片| 欧美精品aⅴ在线视频| 香蕉加勒比综合久久| 在线观看不卡一区| 亚洲国产精品影院| 欧美日韩五月天| 天堂成人免费av电影一区| 欧美日韩高清在线| 天堂va蜜桃一区二区三区漫画版| 欧美日韩国产小视频在线观看| 亚洲最新视频在线观看| 欧美性三三影院| 亚洲国产日产av| 欧美女孩性生活视频| 日韩国产精品久久久久久亚洲| 欧美日韩激情一区二区三区| 日韩二区在线观看| 欧美一级夜夜爽| 国产一区不卡在线| 国产精品国产三级国产专播品爱网 | 免费观看日韩av| 日韩欧美中文字幕一区| 韩日欧美一区二区三区| 国产视频一区在线观看| 99在线精品视频| 亚洲一区二区三区精品在线| 欧美丰满高潮xxxx喷水动漫| 麻豆高清免费国产一区| 久久久久久久久伊人| 不卡区在线中文字幕| 一区二区国产盗摄色噜噜| 精品视频999| 久久精品二区亚洲w码| 亚洲国产激情av| 在线影院国内精品| 日本少妇一区二区| 综合久久综合久久| 色综合久久中文综合久久牛| 国产精品第四页| 91免费精品国自产拍在线不卡| 亚洲国产中文字幕| 精品久久人人做人人爽| 成人一区在线观看| 午夜av区久久| 中文字幕成人网|