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

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

?? common.c

?? mp3 源代碼void III_hufman_decode
?? C
?? 第 1 頁 / 共 4 頁
字號:
    while( (c = *s++)!='\0' && isspace((int)c)) /* strip leading ws */
        ;
    if( c == '+' || c == '-' )
        c = *s++;               /* perhaps skip leading + or - */
    return isdigit((int)c);
}

int BitrateIndex(layr, bRate)   /* convert bitrate in kbps to index */
int     layr;           /* 1 or 2 */
int     bRate;          /* legal rates from 32 to 448 */
{
int     index = 0;
int     found = 0;

    while(!found && index<15)   {
        if(bitrate[layr-1][index] == bRate)
            found = 1;
        else
            ++index;
    }
    if(found)
        return(index);
    else {
        fprintf(stderr, "BitrateIndex: %d (layer %d) is not a legal bitrate\n",
                bRate, layr);
        return(-1);     /* Error! */
    }
}

int SmpFrqIndex(sRate)  /* convert samp frq in Hz to index */
long sRate;             /* legal rates 32000, 44100, 48000 */
{
    if(sRate == 44100L)
        return(0);
    else if(sRate == 48000L)
        return(1);
    else if(sRate == 32000L)
        return(2);
    else {
        fprintf(stderr, "SmpFrqIndex: %ld is not a legal sample rate\n", sRate);
        return(-1);      /* Error! */
    }
}

/*******************************************************************************
*
*  Allocate number of bytes of memory equal to "block".
*
*******************************************************************************/

void  FAR *mem_alloc(block, item)
unsigned long   block;
char            *item;
{

    void    *ptr;

#ifdef  MACINTOSH
    ptr = NewPtr(block);
#endif

#ifdef MSC60
    /*ptr = (void FAR *) _fmalloc((unsigned int)block);*/ /* far memory, 92-07-08 sr */
    ptr = (void FAR *) malloc((unsigned int)block); /* far memory, 93-08-24 ss */
#endif

#if ! defined (MACINTOSH) && ! defined (MSC60)
    ptr = (void FAR *) malloc(block);
#endif

    if (ptr != NULL){
#ifdef  MSC60
        _fmemset(ptr, 0, (unsigned int)block); /* far memory, 92-07-08 sr */
#else
        memset(ptr, 0, block);
#endif
    }
    else{
        printf("Unable to allocate %s\n", item);
        exit(0);
    }
    return(ptr);
}


/****************************************************************************
*
*  Free memory pointed to by "*ptr_addr".
*
*****************************************************************************/

void    mem_free(ptr_addr)
void    **ptr_addr;
{

    if (*ptr_addr != NULL){
#ifdef  MACINTOSH
        DisposPtr(*ptr_addr);
#else
        free(*ptr_addr);
#endif
        *ptr_addr = NULL;
    }

}

/*******************************************************************************
*
*  Check block of memory all equal to a single byte, else return FALSE
*
*******************************************************************************/

int memcheck(array, test, num)
char *array;
int test;       /* but only tested as a char (bottom 8 bits) */
int num;
{
 int i=0;

   while (array[i] == test && i<num) i++;
   if (i==num) return TRUE;
   else return FALSE;
}

/****************************************************************************
*
*  Routines to convert between the Apple SANE extended floating point format
*  and the IEEE double precision floating point format.  These routines are
*  called from within the Audio Interchange File Format (AIFF) routines.
*
*****************************************************************************/

/*
*** Apple's 80-bit SANE extended has the following format:

 1       15      1            63
+-+-------------+-+-----------------------------+
|s|       e     |i|            f                |
+-+-------------+-+-----------------------------+
  msb        lsb   msb                       lsb

The value v of the number is determined by these fields as follows:
If 0 <= e < 32767,              then v = (-1)^s * 2^(e-16383) * (i.f).
If e == 32767 and f == 0,       then v = (-1)^s * (infinity), regardless of i.
If e == 32767 and f != 0,       then v is a NaN, regardless of i.

*** IEEE Draft Standard 754 Double Precision has the following format:

MSB
+-+---------+-----------------------------+
|1| 11 Bits |           52 Bits           |
+-+---------+-----------------------------+
 ^     ^                ^
 |     |                |
 Sign  Exponent         Mantissa
*/

/*****************************************************************************
*
*  double_to_extended()
*
*  Purpose:     Convert from IEEE double precision format to SANE extended
*               format.
*
*  Passed:      Pointer to the double precision number and a pointer to what
*               will hold the Apple SANE extended format value.
*
*  Outputs:     The SANE extended format pointer will be filled with the
*               converted value.
*
*  Returned:    Nothing.
*
*****************************************************************************/

void    double_to_extended(pd, ps)
double  *pd;
char    ps[10];
{

#ifdef  MACINTOSH

        x96tox80(pd, (extended *) ps);

#else

register unsigned long  top2bits;

register unsigned short *ps2;
register IEEE_DBL       *p_dbl;
register SANE_EXT       *p_ext;
 
   p_dbl = (IEEE_DBL *) pd;
   p_ext = (SANE_EXT *) ps;
   top2bits = p_dbl->hi & 0xc0000000;
   p_ext->l1 = ((p_dbl->hi >> 4) & 0x3ff0000) | top2bits;
   p_ext->l1 |= ((p_dbl->hi >> 5) & 0x7fff) | 0x8000;
   p_ext->l2 = (p_dbl->hi << 27) & 0xf8000000;
   p_ext->l2 |= ((p_dbl->lo >> 5) & 0x07ffffff);
   ps2 = (unsigned short *) & (p_dbl->lo);
   ps2++;
   p_ext->s1 = (*ps2 << 11) & 0xf800;

#endif

}

/*****************************************************************************
*
*  extended_to_double()
*
*  Purpose:     Convert from SANE extended format to IEEE double precision
*               format.
*
*  Passed:      Pointer to the Apple SANE extended format value and a pointer
*               to what will hold the the IEEE double precision number.
*
*  Outputs:     The IEEE double precision format pointer will be filled with
*               the converted value.
*
*  Returned:    Nothing.
*
*****************************************************************************/

void    extended_to_double(ps, pd)
char    ps[10];
double  *pd;
{

#ifdef  MACINTOSH

   x80tox96((extended *) ps, pd);

#else

register unsigned long  top2bits;

register IEEE_DBL       *p_dbl;
register SANE_EXT       *p_ext;

   p_dbl = (IEEE_DBL *) pd;
   p_ext = (SANE_EXT *) ps;
   top2bits = p_ext->l1 & 0xc0000000;
   p_dbl->hi = ((p_ext->l1 << 4) & 0x3ff00000) | top2bits;
   p_dbl->hi |= (p_ext->l1 << 5) & 0xffff0;
   p_dbl->hi |= (p_ext->l2 >> 27) & 0x1f;
   p_dbl->lo = (p_ext->l2 << 5) & 0xffffffe0;
   p_dbl->lo |= (unsigned long) ((p_ext->s1 >> 11) & 0x1f);

#endif

}

/*****************************************************************************
*
*  Read Audio Interchange File Format (AIFF) headers.
*
*****************************************************************************/

int             aiff_read_headers(file_ptr, aiff_ptr)
FILE            *file_ptr;
IFF_AIFF        *aiff_ptr;
{

register char   i;
register long   seek_offset;
register long   sound_position;

char            temp_sampleRate[10];

ChunkHeader     Header;
Chunk           FormChunk;
CommonChunk     CommChunk;
SoundDataChunk  SndDChunk;

   if (fseek(file_ptr, 0, SEEK_SET) != 0)
      return(-1);

   if (fread(&FormChunk, sizeof(Chunk), 1, file_ptr) != 1)
      return(-1);

#ifdef IFF_LONG
   if (*(unsigned long *) FormChunk.ckID != IFF_ID_FORM ||
       *(unsigned long *) FormChunk.formType != IFF_ID_AIFF)
      return(-1);
#else
   if (strncmp(FormChunk.ckID,IFF_ID_FORM,4) ||
       strncmp(FormChunk.formType,IFF_ID_AIFF,4))
      return(-1);
#endif

   /*
    * chunks need not be in any particular order
    */

   while (fread(&Header, sizeof(ChunkHeader), 1, file_ptr) == 1) {

#ifdef IFF_LONG
      if (*(unsigned long *)Header.ckID == IFF_ID_COMM) {
#else
      if (strncmp(Header.ckID,IFF_ID_COMM,4) == 0) {
#endif

	 /*
	  * read comm chunk
	  */
         if (fread(&CommChunk.numChannels, sizeof(short), 1, file_ptr) != 1)
            return(-1);

         if (fread(&CommChunk.numSampleFrames, sizeof(unsigned long), 1,
                   file_ptr) != 1)
            return(-1);

         if (fread(&CommChunk.sampleSize, sizeof(short), 1, file_ptr) != 1)
            return(-1);

         if (fread(CommChunk.sampleRate, sizeof(char[10]), 1, file_ptr) != 1)
            return(-1);

         for (i = 0; i < sizeof(char[10]); i++)
            temp_sampleRate[i] = CommChunk.sampleRate[i];

         extended_to_double(temp_sampleRate, &aiff_ptr->sampleRate);

	 aiff_ptr->numChannels = CommChunk.numChannels;
	 aiff_ptr->numSampleFrames = CommChunk.numSampleFrames;
	 aiff_ptr->sampleSize = CommChunk.sampleSize;

#ifdef IFF_LONG
      } else if (*(unsigned long *)Header.ckID == IFF_ID_SSND) {
#else
      } else if (strncmp(Header.ckID,IFF_ID_SSND,4) == 0) {
#endif
	 /*
	  * read ssnd chunk
	  */

	 if (fread(&SndDChunk.offset, sizeof(long), 1, file_ptr) != 1)
	    return(-1);

	 if (fread(&SndDChunk.blockSize, sizeof(long), 1, file_ptr) != 1)
	    return(-1);

	 aiff_ptr->blkAlgn.offset = SndDChunk.offset;
	 aiff_ptr->blkAlgn.blockSize = SndDChunk.blockSize;
	 aiff_ptr->sampleType = *(unsigned long *)Header.ckID;
	 
	 /*
	  * record position of sound data
	  */

	 sound_position = ftell(file_ptr);

	 /*
	  * skip over sound data to look at remaining chunks
	  */

         seek_offset = Header.ckSize - sizeof(SoundDataChunk) +
            sizeof(ChunkHeader);

         if (fseek(file_ptr, seek_offset, SEEK_CUR) != 0)
            return(-1);

      } else {

	 /*
	  * skip unknown chunk
	  */

	 seek_offset = Header.ckSize;

         if (fseek(file_ptr, seek_offset, SEEK_CUR) != 0)
            return(-1);

      }

   }

   return(sound_position);

}

/*****************************************************************************
*
*  Seek past some Audio Interchange File Format (AIFF) headers to sound data.
*
*****************************************************************************/

int   aiff_seek_to_sound_data(file_ptr)
FILE  *file_ptr;
{

   if (fseek(file_ptr, sizeof(Chunk) + sizeof(SoundDataChunk), SEEK_SET) != 0)
      return(-1);

   return(0);

}

/*******************************************************************************
*
*  Write Audio Interchange File Format (AIFF) headers.
*
*******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品亚洲人成人网在线播放| 欧美图区在线视频| 久久夜色精品一区| 国产美女一区二区三区| 国产偷国产偷精品高清尤物| 国产成人免费网站| 国产精品丝袜91| 91浏览器在线视频| 天使萌一区二区三区免费观看| 91麻豆精品久久久久蜜臀| 另类小说色综合网站| 国产精品乱码久久久久久| 色噜噜偷拍精品综合在线| 日韩国产精品久久久久久亚洲| 日韩视频中午一区| 国产成人日日夜夜| 亚洲午夜影视影院在线观看| 欧美一区午夜视频在线观看| 国内精品伊人久久久久av一坑| 亚洲国产精华液网站w| 在线视频一区二区三区| 人人超碰91尤物精品国产| 日本一区二区三区视频视频| 欧美视频在线不卡| 91亚洲精华国产精华精华液| 日韩中文字幕区一区有砖一区| 久久美女高清视频| 欧美性一级生活| 国产乱色国产精品免费视频| 亚洲乱码中文字幕| 久久免费视频色| 欧美日韩视频一区二区| 成人性视频网站| 三级久久三级久久久| 日本一区二区动态图| 欧美日韩国产精选| 国产麻豆成人精品| 亚洲成人777| 国产精品乱人伦| 欧美成人一级视频| 欧美亚一区二区| 国产91丝袜在线18| 免费不卡在线观看| 亚洲六月丁香色婷婷综合久久| 精品不卡在线视频| 色诱视频网站一区| 粉嫩绯色av一区二区在线观看| 日韩av电影天堂| 日韩美女啊v在线免费观看| 日韩一区二区三区av| 91国在线观看| 91一区二区三区在线观看| 国产69精品久久久久777| 久久草av在线| 男女激情视频一区| 日韩在线一区二区| 亚洲一区二区不卡免费| 国产精品美女久久久久久2018| 久久这里只有精品6| 欧美一级黄色片| 这里只有精品电影| 欧美肥胖老妇做爰| 在线观看视频欧美| 91蝌蚪porny成人天涯| 成人精品免费视频| 狠狠狠色丁香婷婷综合久久五月| 日本成人在线网站| 午夜精品123| 亚洲一区中文在线| 亚洲精品国产精华液| 亚洲欧洲精品一区二区精品久久久 | 久久久久久免费网| 日韩视频在线观看一区二区| 欧美顶级少妇做爰| 91麻豆精品国产91久久久资源速度| 91国在线观看| 欧美偷拍一区二区| 欧美性感一区二区三区| 色哟哟一区二区在线观看| 99re这里只有精品6| 99久久精品免费看国产免费软件| 国产91精品一区二区| 懂色av一区二区三区免费看| 国产精品91一区二区| 成人激情午夜影院| 日韩免费高清视频| 欧美精品一区二区在线播放| 久久综合狠狠综合| 久久久国产一区二区三区四区小说| 精品va天堂亚洲国产| 国产午夜亚洲精品不卡| 国产午夜精品一区二区三区视频| 久久综合久久久久88| 欧美激情资源网| 亚洲人成影院在线观看| 一区二区日韩电影| 蜜桃在线一区二区三区| 国产麻豆视频精品| av一区二区久久| 欧美性感一区二区三区| 欧美电影免费观看完整版 | 久久久久久97三级| 国产精品美女久久久久久| 亚洲综合色网站| 日本欧美在线观看| 国产91精品露脸国语对白| a亚洲天堂av| 欧美疯狂性受xxxxx喷水图片| 精品国产乱码久久久久久老虎| 国产欧美一区二区精品婷婷| 尤物av一区二区| 久久av资源网| 色综合一区二区三区| 欧美一区二区三区在| 国产日产欧美一区| 亚洲精品日日夜夜| 久久狠狠亚洲综合| 97aⅴ精品视频一二三区| 91精品国产色综合久久不卡蜜臀 | 国产经典欧美精品| 欧美日韩精品一区二区| 久久综合九色综合欧美就去吻 | 日韩电影免费在线| 国产成人久久精品77777最新版本| 色av成人天堂桃色av| 日韩欧美国产小视频| 亚洲男同性视频| 国内不卡的二区三区中文字幕| 95精品视频在线| www久久精品| 视频一区欧美日韩| 成人高清免费观看| 日韩欧美国产综合在线一区二区三区| 中文字幕一区二区不卡| 久久91精品国产91久久小草| 色欧美片视频在线观看在线视频| 2019国产精品| 午夜精品福利在线| 色狠狠色狠狠综合| 亚洲欧洲日韩av| 国产精品一二三在| 日韩一二三区不卡| 亚洲国产成人av网| 色综合天天狠狠| 国产精品美女一区二区在线观看| 青草国产精品久久久久久| 色噜噜狠狠色综合中国| 国产精品久久久99| 国产精品456露脸| 欧美成人精品1314www| 亚洲高清视频中文字幕| 91在线一区二区| 日本在线播放一区二区三区| 91日韩精品一区| 国产欧美日韩麻豆91| 国产精品一区免费在线观看| 欧美成人r级一区二区三区| 日韩国产成人精品| 欧美一区三区四区| 免费人成在线不卡| 日韩欧美国产1| 美女mm1313爽爽久久久蜜臀| 欧美电影一区二区三区| 日本va欧美va欧美va精品| 欧美一区欧美二区| 久久福利资源站| 久久丝袜美腿综合| 国产成人亚洲综合a∨婷婷图片| 国产亚洲欧美色| av在线不卡免费看| 亚洲激情图片小说视频| 一本色道久久加勒比精品| 亚洲最快最全在线视频| 欧美午夜影院一区| 午夜不卡av免费| 精品日韩在线一区| 国产一区二区三区最好精华液| 久久人人爽人人爽| 粉嫩一区二区三区在线看| 成人欧美一区二区三区在线播放| 色噜噜狠狠色综合欧洲selulu| 亚洲韩国一区二区三区| 欧美一区二区三区在线观看视频| 韩国在线一区二区| 国产精品久久久久影院亚瑟| 91伊人久久大香线蕉| 亚洲高清免费观看高清完整版在线观看 | 久久精品欧美一区二区三区不卡 | 亚洲在线免费播放| 欧美精品国产精品| 激情文学综合插| 国产精品国模大尺度视频| 色94色欧美sute亚洲线路一久| 五月天国产精品| 国产欧美一区二区精品性| 91黄色在线观看| 另类小说一区二区三区| 中文字幕在线不卡视频| 欧美日韩在线精品一区二区三区激情| 日韩电影在线看|