⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitwindow.cpp

📁 This code is based on mpeg_play, available from: http://bmrc.berkeley.edu/frame/research/mpeg/
💻 CPP
字号:
/* MPEG/WAVE Sound library   (C) 1997 by Jung woo-jae */// Bitwindow.cc// It's bit reservior for MPEG layer 3#ifdef HAVE_CONFIG_H#include "config.h"#endif#include "MPEGaudio.h"#if SDL_BYTEORDER == SDL_LIL_ENDIAN#define _KEY 0#else#define _KEY 3#endifint Mpegbitwindow::getbits(int bits){  union  {    char store[4];    int current;  }u;  int bi;  if(!bits)return 0;  u.current=0;  bi=(bitindex&7);  //  u.store[_KEY]=buffer[(bitindex>>3)&(WINDOWSIZE-1)]<<bi;  u.store[_KEY]=buffer[bitindex>>3]<<bi;  bi=8-bi;  bitindex+=bi;  while(bits)  {    if(!bi)    {      //      u.store[_KEY]=buffer[(bitindex>>3)&(WINDOWSIZE-1)];      u.store[_KEY]=buffer[bitindex>>3];      bitindex+=8;      bi=8;    }    if(bits>=bi)    {      u.current<<=bi;      bits-=bi;      bi=0;    }    else    {      u.current<<=bits;      bi-=bits;      bits=0;    }  }  bitindex-=bi;  return (u.current>>8);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -