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

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

?? bitwise.c

?? VC++視頻開發實例集錦(包括“遠程視頻監控”"語音識別系統"等13個經典例子)
?? C
?? 第 1 頁 / 共 2 頁
字號:


#include <string.h>
#include <stdlib.h>
#include <ogg/ogg.h>

#define BUFFER_INCREMENT 256

static unsigned long mask[]=
{0x00000000,0x00000001,0x00000003,0x00000007,0x0000000f,
 0x0000001f,0x0000003f,0x0000007f,0x000000ff,0x000001ff,
 0x000003ff,0x000007ff,0x00000fff,0x00001fff,0x00003fff,
 0x00007fff,0x0000ffff,0x0001ffff,0x0003ffff,0x0007ffff,
 0x000fffff,0x001fffff,0x003fffff,0x007fffff,0x00ffffff,
 0x01ffffff,0x03ffffff,0x07ffffff,0x0fffffff,0x1fffffff,
 0x3fffffff,0x7fffffff,0xffffffff };

static unsigned int mask8B[]=
{0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe0,0xff};

void oggpack_writeinit(oggpack_buffer *b){
  memset(b,0,sizeof(*b));
  b->ptr=b->buffer=_ogg_malloc(BUFFER_INCREMENT);
  b->buffer[0]='\0';
  b->storage=BUFFER_INCREMENT;
}

void oggpackB_writeinit(oggpack_buffer *b){
  oggpack_writeinit(b);
}

void oggpack_writetrunc(oggpack_buffer *b,long bits){
  long bytes=bits>>3;
  bits-=bytes*8;
  b->ptr=b->buffer+bytes;
  b->endbit=bits;
  b->endbyte=bytes;
  *b->ptr&=mask[bits];
}

void oggpackB_writetrunc(oggpack_buffer *b,long bits){
  long bytes=bits>>3;
  bits-=bytes*8;
  b->ptr=b->buffer+bytes;
  b->endbit=bits;
  b->endbyte=bytes;
  *b->ptr&=mask8B[bits];
}

void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){
  if(b->endbyte+4>=b->storage){
    b->buffer=_ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT);
    b->storage+=BUFFER_INCREMENT;
    b->ptr=b->buffer+b->endbyte;
  }

  value&=mask[bits]; 
  bits+=b->endbit;

  b->ptr[0]|=value<<b->endbit;  
  
  if(bits>=8){
    b->ptr[1]=value>>(8-b->endbit);  
    if(bits>=16){
      b->ptr[2]=value>>(16-b->endbit);  
      if(bits>=24){
	b->ptr[3]=value>>(24-b->endbit);  
	if(bits>=32){
	  if(b->endbit)
	    b->ptr[4]=value>>(32-b->endbit);
	  else
	    b->ptr[4]=0;
	}
      }
    }
  }

  b->endbyte+=bits/8;
  b->ptr+=bits/8;
  b->endbit=bits&7;
}

void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits){
  if(b->endbyte+4>=b->storage){
    b->buffer=_ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT);
    b->storage+=BUFFER_INCREMENT;
    b->ptr=b->buffer+b->endbyte;
  }

  value=(value&mask[bits])<<(32-bits); 
  bits+=b->endbit;

  b->ptr[0]|=value>>(24+b->endbit);  
  
  if(bits>=8){
    b->ptr[1]=value>>(16+b->endbit);  
    if(bits>=16){
      b->ptr[2]=value>>(8+b->endbit);  
      if(bits>=24){
	b->ptr[3]=value>>(b->endbit);  
	if(bits>=32){
	  if(b->endbit)
	    b->ptr[4]=value<<(8-b->endbit);
	  else
	    b->ptr[4]=0;
	}
      }
    }
  }

  b->endbyte+=bits/8;
  b->ptr+=bits/8;
  b->endbit=bits&7;
}

void oggpack_writealign(oggpack_buffer *b){
  int bits=8-b->endbit;
  if(bits<8)
    oggpack_write(b,0,bits);
}

void oggpackB_writealign(oggpack_buffer *b){
  int bits=8-b->endbit;
  if(bits<8)
    oggpackB_write(b,0,bits);
}

static void oggpack_writecopy_helper(oggpack_buffer *b,
				     void *source,
				     long bits,
				     void (*w)(oggpack_buffer *,
					       unsigned long,
					       int)){
  unsigned char *ptr=(unsigned char *)source;

  long bytes=bits/8;
  bits-=bytes*8;

  if(b->endbit){
    int i;
    for(i=0;i<bytes;i++)
      w(b,(unsigned long)(ptr[i]),8);    
  }else{
    if(b->endbyte+bytes+1>=b->storage){
      b->storage=b->endbyte+bytes+BUFFER_INCREMENT;
      b->buffer=_ogg_realloc(b->buffer,b->storage);
      b->ptr=b->buffer+b->endbyte;
    }

    memmove(b->ptr,source,bytes);
    b->ptr+=bytes;
    b->buffer+=bytes;
    *b->ptr=0;

  }
  if(bits)
    w(b,(unsigned long)(ptr[bytes]),bits);    
}

void oggpack_writecopy(oggpack_buffer *b,void *source,long bits){
  oggpack_writecopy_helper(b,source,bits,oggpack_write);
}

void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits){
  oggpack_writecopy_helper(b,source,bits,oggpackB_write);
}

void oggpack_reset(oggpack_buffer *b){
  b->ptr=b->buffer;
  b->buffer[0]=0;
  b->endbit=b->endbyte=0;
}

void oggpackB_reset(oggpack_buffer *b){
  oggpack_reset(b);
}

void oggpack_writeclear(oggpack_buffer *b){
  _ogg_free(b->buffer);
  memset(b,0,sizeof(*b));
}

void oggpackB_writeclear(oggpack_buffer *b){
  oggpack_writeclear(b);
}

void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes){
  memset(b,0,sizeof(*b));
  b->buffer=b->ptr=buf;
  b->storage=bytes;
}

void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes){
  oggpack_readinit(b,buf,bytes);
}

long oggpack_look(oggpack_buffer *b,int bits){
  unsigned long ret;
  unsigned long m=mask[bits];

  bits+=b->endbit;

  if(b->endbyte+4>=b->storage){
    if(b->endbyte*8+bits>b->storage*8)return(-1);
  }
  
  ret=b->ptr[0]>>b->endbit;
  if(bits>8){
    ret|=b->ptr[1]<<(8-b->endbit);  
    if(bits>16){
      ret|=b->ptr[2]<<(16-b->endbit);  
      if(bits>24){
	ret|=b->ptr[3]<<(24-b->endbit);  
	if(bits>32 && b->endbit)
	  ret|=b->ptr[4]<<(32-b->endbit);
      }
    }
  }
  return(m&ret);
}

long oggpackB_look(oggpack_buffer *b,int bits){
  unsigned long ret;
  int m=32-bits;

  bits+=b->endbit;

  if(b->endbyte+4>=b->storage){
    if(b->endbyte*8+bits>b->storage*8)return(-1);
  }
  
  ret=b->ptr[0]<<(24+b->endbit);
  if(bits>8){
    ret|=b->ptr[1]<<(16+b->endbit);  
    if(bits>16){
      ret|=b->ptr[2]<<(8+b->endbit);  
      if(bits>24){
	ret|=b->ptr[3]<<(b->endbit);  
	if(bits>32 && b->endbit)
	  ret|=b->ptr[4]>>(8-b->endbit);
      }
    }
  }
  return(ret>>m);
}

long oggpack_look1(oggpack_buffer *b){
  if(b->endbyte>=b->storage)return(-1);
  return((b->ptr[0]>>b->endbit)&1);
}

long oggpackB_look1(oggpack_buffer *b){
  if(b->endbyte>=b->storage)return(-1);
  return((b->ptr[0]>>(7-b->endbit))&1);
}

void oggpack_adv(oggpack_buffer *b,int bits){
  bits+=b->endbit;
  b->ptr+=bits/8;
  b->endbyte+=bits/8;
  b->endbit=bits&7;
}

void oggpackB_adv(oggpack_buffer *b,int bits){
  oggpack_adv(b,bits);
}

void oggpack_adv1(oggpack_buffer *b){
  if(++(b->endbit)>7){
    b->endbit=0;
    b->ptr++;
    b->endbyte++;
  }
}

void oggpackB_adv1(oggpack_buffer *b){
  oggpack_adv1(b);
}

long oggpack_read(oggpack_buffer *b,int bits){
  unsigned long ret;
  unsigned long m=mask[bits];

  bits+=b->endbit;

  if(b->endbyte+4>=b->storage){
    ret=-1UL;
    if(b->endbyte*8+bits>b->storage*8)goto overflow;
  }
  
  ret=b->ptr[0]>>b->endbit;
  if(bits>8){
    ret|=b->ptr[1]<<(8-b->endbit);  
    if(bits>16){
      ret|=b->ptr[2]<<(16-b->endbit);  
      if(bits>24){
	ret|=b->ptr[3]<<(24-b->endbit);  
	if(bits>32 && b->endbit){
	  ret|=b->ptr[4]<<(32-b->endbit);
	}
      }
    }
  }
  ret&=m;
  
 overflow:

  b->ptr+=bits/8;
  b->endbyte+=bits/8;
  b->endbit=bits&7;
  return(ret);
}

long oggpackB_read(oggpack_buffer *b,int bits){
  unsigned long ret;
  long m=32-bits;
  
  bits+=b->endbit;

  if(b->endbyte+4>=b->storage){
    ret=-1UL;
    if(b->endbyte*8+bits>b->storage*8)goto overflow;
  }
  
  ret=b->ptr[0]<<(24+b->endbit);
  if(bits>8){
    ret|=b->ptr[1]<<(16+b->endbit);  
    if(bits>16){
      ret|=b->ptr[2]<<(8+b->endbit);  
      if(bits>24){
	ret|=b->ptr[3]<<(b->endbit);  
	if(bits>32 && b->endbit)
	  ret|=b->ptr[4]>>(8-b->endbit);
      }
    }
  }
  ret>>=m;
  
 overflow:

  b->ptr+=bits/8;
  b->endbyte+=bits/8;
  b->endbit=bits&7;
  return(ret);
}

long oggpack_read1(oggpack_buffer *b){
  unsigned long ret;
  
  if(b->endbyte>=b->storage){
    ret=-1UL;
    goto overflow;
  }

  ret=(b->ptr[0]>>b->endbit)&1;
  
 overflow:

  b->endbit++;
  if(b->endbit>7){
    b->endbit=0;
    b->ptr++;
    b->endbyte++;
  }
  return(ret);
}

long oggpackB_read1(oggpack_buffer *b){
  unsigned long ret;
  
  if(b->endbyte>=b->storage){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品久久综合| 国产一区二区三区免费观看| 欧美激情中文字幕| 久久蜜臀中文字幕| 欧美r级电影在线观看| 欧美精品久久99久久在免费线| 91久久精品国产91性色tv| 丁香婷婷综合五月| av在线播放一区二区三区| 99re免费视频精品全部| 91香蕉视频mp4| 色成年激情久久综合| 欧美在线观看视频一区二区| 91啪九色porn原创视频在线观看| 97aⅴ精品视频一二三区| 色丁香久综合在线久综合在线观看 | 色偷偷一区二区三区| 97精品视频在线观看自产线路二| 色伊人久久综合中文字幕| 色综合天天综合给合国产| 色欧美日韩亚洲| 制服丝袜国产精品| 久久久99精品免费观看不卡| 国产精品久线观看视频| 亚洲精品成人悠悠色影视| 五月婷婷综合激情| 国产尤物一区二区| jlzzjlzz亚洲日本少妇| 欧洲激情一区二区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲国产成人私人影院tom| 亚洲三级电影网站| 日产精品久久久久久久性色| 国产成人精品亚洲日本在线桃色 | 黄一区二区三区| 暴力调教一区二区三区| 欧美日韩一本到| 中文字幕成人在线观看| 玉足女爽爽91| 精品一区二区免费| 91免费版在线| 久久久亚洲精品一区二区三区| 亚洲卡通欧美制服中文| 久久99国产精品久久99| 色综合av在线| 国产日韩在线不卡| 日韩精品一二三| 91在线丨porny丨国产| 2019国产精品| 午夜精品久久久久久不卡8050| 国产一区二区三区在线观看精品| 欧美中文字幕一二三区视频| 国产日产精品一区| 免费成人av资源网| 欧美午夜精品免费| 亚洲国产成人一区二区三区| 久久超碰97中文字幕| 欧美日韩第一区日日骚| 中文字幕一区不卡| 国内精品国产成人国产三级粉色| 欧美日韩一区二区在线观看| 日韩一区日韩二区| 懂色av一区二区在线播放| 日韩你懂的在线观看| 石原莉奈一区二区三区在线观看| 91丨九色丨蝌蚪丨老版| 国产日韩欧美高清在线| 狠狠色狠狠色综合| 日韩久久精品一区| 久久精品国产第一区二区三区| 欧美日韩国产小视频在线观看| 亚洲免费av网站| 色综合中文综合网| 日韩一级在线观看| 五月激情六月综合| 欧美日韩国产综合久久 | 日韩国产欧美在线观看| 91国产免费观看| 亚洲精品成人悠悠色影视| 色悠悠久久综合| 亚洲激情校园春色| 91黄色在线观看| 亚洲综合激情网| 欧美精品在线一区二区三区| 亚洲成人免费电影| 日韩午夜av电影| 国产一区二区福利| 国产视频不卡一区| av电影天堂一区二区在线观看| 亚洲色图欧洲色图| 欧美日韩精品欧美日韩精品一综合| 亚欧色一区w666天堂| 欧洲人成人精品| 日韩国产欧美在线观看| 欧美一级高清大全免费观看| 久久99精品国产麻豆婷婷| 久久美女高清视频| 91丝袜国产在线播放| 亚洲成av人片www| 欧美成人精精品一区二区频| 国产麻豆精品视频| 亚洲日本va在线观看| 欧美日韩精品系列| 国产成人精品综合在线观看| 亚洲乱码精品一二三四区日韩在线| 欧美伊人久久久久久久久影院| 日本不卡视频在线| 中文字幕不卡在线观看| 欧美日韩精品一区视频| 韩国v欧美v日本v亚洲v| 亚洲欧美视频在线观看视频| 日韩一区二区免费在线电影| 国产精品白丝av| 亚洲成人久久影院| 国产日韩欧美精品在线| 精品污污网站免费看| 国产东北露脸精品视频| 亚洲女子a中天字幕| 精品国产乱码久久久久久图片| 91丨porny丨首页| 久久av老司机精品网站导航| 最新日韩在线视频| 精品国产麻豆免费人成网站| 91丨九色porny丨蝌蚪| 国产乱码精品一区二区三| 亚洲成人综合网站| 日韩码欧中文字| 精品久久久久久综合日本欧美| 在线免费观看日本欧美| 国产v日产∨综合v精品视频| 日韩精品高清不卡| 一区二区三区四区不卡在线 | 欧美丝袜自拍制服另类| 成人动漫在线一区| 国产一区亚洲一区| 午夜激情一区二区| 亚洲自拍偷拍麻豆| 亚洲视频香蕉人妖| 国产日本一区二区| 久久久久亚洲蜜桃| 欧美成人video| 欧美精品亚洲二区| 欧美日韩一级视频| 91国偷自产一区二区三区成为亚洲经典 | 日韩av二区在线播放| 亚洲成人免费在线| 亚洲mv在线观看| 亚洲成国产人片在线观看| 亚洲人被黑人高潮完整版| 中文欧美字幕免费| 国产精品日产欧美久久久久| 精品国产一区二区三区av性色| 91超碰这里只有精品国产| 日本韩国精品在线| 欧美天堂一区二区三区| 欧美中文字幕一区二区三区亚洲| 色婷婷综合久久久中文一区二区| 91影院在线免费观看| 91美女蜜桃在线| 欧美性欧美巨大黑白大战| 欧美日韩国产首页| 欧美男人的天堂一二区| 日韩免费福利电影在线观看| 日韩欧美国产一区二区在线播放| 日韩免费看的电影| 国产日产亚洲精品系列| 国产精品国产三级国产专播品爱网| 国产精品私人影院| 亚洲欧美日韩国产另类专区| 亚洲另类一区二区| 日韩极品在线观看| 久久精品99久久久| 国产精品一区三区| 99精品黄色片免费大全| 欧美日韩精品三区| 久久综合九色综合欧美亚洲| 日本一区免费视频| 亚洲综合免费观看高清完整版 | 成人app在线观看| 在线亚洲人成电影网站色www| 欧美一二三区在线| 久久色.com| 亚洲欧美一区二区在线观看| 亚洲成人7777| 成人一区二区三区视频在线观看| www.成人网.com| 欧美丰满嫩嫩电影| 中文字幕的久久| 青椒成人免费视频| 99国产精品99久久久久久| 欧美精品乱码久久久久久按摩| 久久久久久夜精品精品免费| 一区二区在线观看av| 九九视频精品免费| 99久久国产综合精品女不卡| 欧美一区二区三区视频免费| 中文字幕一区不卡| 久久99九九99精品| 欧美色倩网站大全免费| 国产精品久久久久久久久免费桃花|