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

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

?? shorten.c

?? 無損音頻壓縮源碼. 畢業設計 qq 64134703 更多畢業設計 www.rmlcd.cn
?? C
?? 第 1 頁 / 共 4 頁
字號:
    }    /* define type to be RIFF WAVE if not already committed */    if(ftype == TYPE_EOF)      ftype = TYPE_RIFF_WAVE;    /* If we're dealing with RIFF WAVE, process the header now,     * before calling fread_type_init() which will want to know the     * sample type. This also resets ftype to the _real_ sample     * type, and nchan to the correct number of channels, and     * prepares a verbatim section containing the header, which we     * will write out after the filetype and channel count. */    if (ftype == TYPE_RIFF_WAVE)    {      int wtype;      wavhdr = riff_wave_prochdr(filei, &ftype, &nchan, &datalen, &wtype);      if (wavhdr == NULL)      {        if (wtype == 0)          /* the header must have been invalid */          usage_exit(1, "input file is not a valid RIFF WAVE file\n");        else          /* the wave type is wrong */          usage_exit(1,"RIFF WAVE file has unhandled format tag %d\n",wtype);      }      else      {        /* we have a valid RIFF WAVE so override anything the user may have said to do with the alignment */        nskip = 0;      }    }    /* sort out specific types for ULAW and ALAW */    if(ftype == TYPE_GENERIC_ULAW || ftype == TYPE_GENERIC_ALAW)    {      int linearLossy=(Satof(maxresnstr)!=Satof(DEFAULT_MAXRESNSTR)||quanterror!=DEFAULT_QUANTERROR);      /* sort out which ulaw type we are going to use */      if(ftype == TYPE_GENERIC_ULAW)      {        if(linearLossy)          ftype = TYPE_ULAW;        else if(version < 2 || ulawZeroMerge == 1)          ftype = TYPE_AU1;        else          ftype = TYPE_AU2;      }      /* sort out which alaw type we are going to use */      if(ftype == TYPE_GENERIC_ALAW)      {        if(linearLossy)          ftype = TYPE_ALAW;        else          ftype = TYPE_AU3;      }    }    /* mean compensation is not supported for TYPE_AU1 or TYPE_AU2 */    /* (the bit shift compensation can't cope with the lag vector) */    if(ftype == TYPE_AU1 || ftype == TYPE_AU2)      nmean = 0;    nwrap = MAX(NWRAP, maxnlpc);    if(maxnlpc > 0)      qlpc = (int*) pmalloc((ulong) (maxnlpc * sizeof(*qlpc)));    /* verbatim copy of skip bytes from input to output checking for the       existence of magic number in header, and defaulting to internal storage       if that happens */    if(version >= 2)    {      while(nskip - nscan > 0 && vbyte > MAX_VERSION)      {        int byte = getc_exit(filei);        if(magic[nscan] != '\0' && byte == magic[nscan])          nscan++;        else if(magic[nscan] == '\0' && byte <= MAX_VERSION)          vbyte = byte;        else        {          for(i = 0; i < nscan; i++)            putc_exit(magic[i], fileo);          if(byte == magic[0])          {            nskip -= nscan;            nscan = 1;          }          else          {            putc_exit(byte, fileo);            nskip -= nscan + 1;            nscan = 0;          }        }      }      if(vbyte > MAX_VERSION)      {        for(i = 0; i < nscan; i++)          putc_exit(magic[i], fileo);        nskip -= nscan;        nscan = 0;      }    }    /* write magic number */    if(fwrite(magic, 1, strlen(magic), fileo) != strlen(magic))      usage_exit(1, "could not write the magic number\n");    /* write version number */    putc_exit(version, fileo);    /* grab some space for the input buffers */    buffer = long2d((ulong) nchan, (ulong) (blocksize + nwrap));    offset = long2d((ulong) nchan, (ulong) MAX(1, nmean));    maxresn = parseList(maxresnstr, nchan);    for(chan = 0; chan < nchan; chan++)      if(maxresn[chan] < MINBITRATE)        usage_exit(1,"channel %d: expected bit rate must be >= %3.1f: %3.1f\n",chan, MINBITRATE, maxresn[chan]);      else        maxresn[chan] -= 3.0;    for(chan = 0; chan < nchan; chan++)    {      for(i = 0; i < nwrap; i++)        buffer[chan][i] = 0;      buffer[chan] += nwrap;    }    /* initialise the fixed length file read for the uncompressed stream */    fread_type_init();    /* initialise the variable length file write for the compressed stream */    var_put_init();    /* put file type and number of channels */    UINT_PUT(ftype, TYPESIZE, fileo);    UINT_PUT(nchan, CHANSIZE, fileo);    /* put blocksize if version > 0 */    if(version == 0)    {      if(blocksize != DEFAULT_BLOCK_SIZE)      {        uvar_put((ulong) FN_BLOCKSIZE, FNSIZE, fileo);        UINT_PUT(blocksize, (int) (log((double) DEFAULT_BLOCK_SIZE) / M_LN2),fileo);      }    }    else    {      UINT_PUT(blocksize, (int) (log((double) DEFAULT_BLOCK_SIZE) / M_LN2),fileo);      UINT_PUT(maxnlpc, LPCQSIZE, fileo);      UINT_PUT(nmean, 0, fileo);      UINT_PUT(nskip, NSKIPSIZE, fileo);      if(version == 1)      {        for(i = 0; i < nskip; i++)        {          int byte = getc_exit(filei);          uvar_put((ulong) byte, XBYTESIZE, fileo);        }      }      else      {        if(vbyte <= MAX_VERSION)        {          for(i = 0; i < nscan; i++)            uvar_put((ulong) magic[i], XBYTESIZE, fileo);          uvar_put((ulong) vbyte, XBYTESIZE, fileo);        }        for(i = 0; i < nskip - nscan - 1; i++)        {          int byte = getc_exit(filei);          uvar_put((ulong) byte, XBYTESIZE, fileo);        }        lpcqoffset = V2LPCQOFFSET;      }    }    /* if we had a RIFF WAVE header, write it out in the form of verbatim     * chunks at this point */    if (wavhdr)      write_header(wavhdr, fileo);    init_offset(offset, nchan, MAX(1, nmean), ftype);    /* this is the main read/code/write loop for the whole file */    while((nread = fread_type(buffer, ftype, nchan,blocksize, filei, &datalen)) != 0)    {#ifdef _WINDOWS      /* Include processing to enable Windows program to abort */      CheckWindowsAbort();#endif      /* put blocksize if changed */      if(nread != blocksize)      {        uvar_put((ulong) FN_BLOCKSIZE, FNSIZE, fileo);        UINT_PUT(nread, (int) (log((double) blocksize) / M_LN2), fileo);        blocksize = nread;      }      /* loop over all channels, processing each channel in turn */      for(chan = 0; chan < nchan; chan++)      {        float sigbit;  /* PT expected root mean squared value of the signal */        float resbit;  /* PT expected root mean squared value of the residual*/        slong coffset, *cbuffer = buffer[chan], fulloffset = 0L;        int  fnd, resn = 0, nlpc = 0;        /* force the lower quanterror bits to be zero */        if(quanterror != 0)        {          slong offset = (1L << (quanterror - 1));          for(i = 0; i < blocksize; i++)            cbuffer[i] = (cbuffer[i] + offset) >> quanterror;        }        /* merge both ulaw zeros if required */        if(ulawZeroMerge == 1)          for(i = 0; i < blocksize; i++)            if(cbuffer[i] == NEGATIVE_ULAW_ZERO)              cbuffer[i]=POSITIVE_ULAW_ZERO;        /* test for excessive and exploitable quantisation, and exploit!! */        bitshift = find_bitshift(cbuffer, blocksize, ftype) + quanterror;        if(bitshift > NBITPERLONG)          bitshift = NBITPERLONG;        /* find mean offset : N.B. this code duplicated */        if(nmean == 0)          fulloffset = coffset = offset[chan][0];        else        {          slong sum = (version < 2) ? 0 : nmean / 2;          for(i = 0; i < nmean; i++)            sum += offset[chan][i];          if(version < 2)            coffset = sum / nmean;          else          {            fulloffset = sum / nmean;            if(bitshift == NBITPERLONG && version >= 2)              coffset = ROUNDEDSHIFTDOWN(fulloffset, lastbitshift);            else              coffset = ROUNDEDSHIFTDOWN(fulloffset, bitshift);          }        }        /* find the best model */        if(bitshift == NBITPERLONG && version >= 2)        {          bitshift = lastbitshift;          fnd = FN_ZERO;        }        else        {          int maxresnbitshift, snrbitshift, extrabitshift;          float sigpow, nn;          if(maxnlpc == 0)            fnd = wav2poly(cbuffer, blocksize,coffset,version,&sigbit,&resbit);          else          {            nlpc = wav2lpc(cbuffer, blocksize, coffset, qlpc, maxnlpc, version, &sigbit, &resbit);            fnd  = FN_QLPC;          }          if(resbit > 0.0)            resn = floor(resbit + 0.5);          else            resn = 0;          maxresnbitshift = floor(resbit - maxresn[chan] + 0.5);          sigpow          = exp(2.0 * M_LN2 * sigbit) / (0.5 * M_LN2 * M_LN2);          nn              = 12.0 * sigpow / pow(10.0, minsnr / 10.0);          snrbitshift     = (nn>25.0/12.0)?floor(0.5*log(nn-25.0/12.0)/M_LN2):0;          extrabitshift   = MAX(maxresnbitshift, snrbitshift);          if(extrabitshift > resn)            extrabitshift = resn;          if(extrabitshift > 0)          {            slong offset = (1L << (extrabitshift - 1));            for(i = 0; i < blocksize; i++)              cbuffer[i] = (cbuffer[i] + offset) >> extrabitshift;            bitshift += extrabitshift;            if(version >= 2)              coffset = ROUNDEDSHIFTDOWN(fulloffset, bitshift);            resn -= extrabitshift;          }        }        /* store mean value if appropriate : N.B. Duplicated code */        if(nmean > 0)        {          slong sum = (version < 2) ? 0 : blocksize / 2;          for(i = 0; i < blocksize; i++)            sum += cbuffer[i];          for(i = 1; i < nmean; i++)            offset[chan][i - 1] = offset[chan][i];          if(version < 2)            offset[chan][nmean - 1] = sum / blocksize;          else            offset[chan][nmean - 1] = (sum / blocksize) << bitshift;        }        if(bitshift != lastbitshift)        {          uvar_put((ulong) FN_BITSHIFT, FNSIZE, fileo);          uvar_put((ulong) bitshift, BITSHIFTSIZE, fileo);          lastbitshift = bitshift;        }        if(fnd == FN_ZERO)        {          uvar_put((ulong) fnd, FNSIZE, fileo);        }        else if(maxnlpc == 0)        {          uvar_put((ulong) fnd, FNSIZE, fileo);          uvar_put((ulong) resn, ENERGYSIZE, fileo);          switch(fnd)          {            case FN_DIFF0:              for(i = 0; i < blocksize; i++)                VAR_PUT(cbuffer[i] - coffset, resn, fileo);              break;            case FN_DIFF1:              for(i = 0; i < blocksize; i++)                VAR_PUT(cbuffer[i] - cbuffer[i - 1], resn, fileo);              break;            case FN_DIFF2:              for(i = 0; i < blocksize; i++)                VAR_PUT(cbuffer[i] - 2 * cbuffer[i - 1] + cbuffer[i - 2],resn, fileo);              break;            case FN_DIFF3:              for(i = 0; i < blocksize; i++)                VAR_PUT(cbuffer[i] - 3 * (cbuffer[i - 1] - cbuffer[i - 2])-cbuffer[i - 3], resn, fileo);              break;          }        }        else        {          uvar_put((ulong) FN_QLPC, FNSIZE, fileo);          uvar_put((ulong) resn, ENERGYSIZE, fileo);          uvar_put((ulong) nlpc, LPCQSIZE, fileo);          for(i = 0; i < nlpc; i++)            var_put((slong) qlpc[i], LPCQUANT, fileo);          /* deduct mean from everything */          for(i = -nlpc; i < blocksize; i++)            cbuffer[i] -= coffset;          /* use the quantised LPC coefficients to generate the residual */          for(i = 0; i < blocksize; i++)          {            int j;            slong sum = lpcqoffset;            slong *obuffer = &(cbuffer[i - 1]);            for(j = 0; j < nlpc; j++)              sum += qlpc[j] * obuffer[-j];            var_put(cbuffer[i] - (sum >> LPCQUANT), resn, fileo);          }          /* add mean back to those samples that will be wrapped */          for(i = blocksize - nwrap; i < blocksize; i++)            cbuffer[i] += coffset;        }        /* do the wrap */        for(i = -nwrap; i < 0; i++)          cbuffer[i] = cbuffer[i + blocksize];      }    }    /* if we had a RIFF WAVE header, we had better be prepared to deal with a RIFF WAVE footer too... */    if (wavhdr)      verbatim_file (filei, fileo);    /* wind up */    fread_type_quit();    uvar_put((ulong) FN_QUIT, FNSIZE, fileo);    var_put_quit(fileo);    /* and free the space used */    if (wavhdr)      free_header (wavhdr);    free((void *) buffer);    free((void *) offset);    if(maxnlpc > 0)      free((void *) qlpc);  }  else  {    /***********************/    /* EXTRACT starts here */    /***********************/    int i, cmd;    int internal_ftype;    bytes_read = 0;    /* Firstly skip the number of bytes requested in the command line */    for(i = 0; i < nskip; i++)    {      int byte = getc(filei);      bytes_read++;      if(byte == EOF)        usage_exit(1, "File too short for requested alignment\n");      putc_exit(byte, fileo);    }    /* read magic number */#ifdef STRICT_FORMAT_COMPATABILITY    if(FORMAT_VERSION < 2)    {      for(i = 0; i < strlen(magic); i++) {        if(getc_exit(filei) != magic[i])          usage_exit(1, "Bad magic number\n");        bytes_read++;      }      /* get version number */      version = getc_exit(filei);      bytes_read++;    }    else#endif /* STRICT_FORMAT_COMPATABILITY */    {      int nscan = 0;      version = MAX_VERSION + 1;      while(version > MAX_VERSION)      {        int byte = getc(filei);        bytes_read++;        if(byte == EOF) {          if (WriteSeekTable) {            unlink(SeekTableFilename);            usage_exit(1, "-k, -s and -S can only be used on shorten files\n");          }          else            usage_exit(1, "No magic number\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品福利影院| 粉嫩av亚洲一区二区图片| 暴力调教一区二区三区| 国产日韩欧美高清在线| 成人免费视频播放| 一区二区三区在线影院| 91麻豆精品国产91久久久久久久久| 美女脱光内衣内裤视频久久网站| 精品美女在线播放| av在线不卡观看免费观看| 亚洲激情成人在线| 日韩欧美一级精品久久| 成人av在线资源网站| 夜夜嗨av一区二区三区中文字幕 | 日本道免费精品一区二区三区| 亚洲一区二区三区在线播放| 日韩视频免费观看高清完整版| 国产精品18久久久久久久久| 一区二区三区成人在线视频| 日韩欧美电影一二三| 国产精品久久久久久久久免费桃花 | 色婷婷一区二区三区四区| 亚洲国产色一区| 久久亚洲一级片| 欧美综合在线视频| 国产在线国偷精品产拍免费yy | 国产精品污www在线观看| 色av成人天堂桃色av| 久久国产剧场电影| 一区二区久久久| 精品久久人人做人人爽| 在线免费视频一区二区| 韩国女主播一区| 偷拍日韩校园综合在线| 国产情人综合久久777777| 欧美另类变人与禽xxxxx| 成人网男人的天堂| 久久精品72免费观看| 一区二区三区在线视频观看58| 国产亚洲美州欧州综合国| 美女高潮久久久| 亚洲摸摸操操av| 国产丝袜欧美中文另类| 欧美日韩免费视频| 成人激情电影免费在线观看| 人人狠狠综合久久亚洲| 一区二区三区在线视频免费| 天天亚洲美女在线视频| 国产精品久久久久影院亚瑟| 日韩视频一区在线观看| 欧美人成免费网站| 色av一区二区| 91年精品国产| 成人高清视频免费观看| 精一区二区三区| 日本视频免费一区| 五月婷婷激情综合| 亚洲尤物视频在线| 亚洲一区中文日韩| 亚洲免费观看高清完整版在线观看 | 亚洲一区在线观看视频| 欧美极品少妇xxxxⅹ高跟鞋| 3atv一区二区三区| 欧美综合在线视频| 91福利在线免费观看| 99久久精品国产精品久久| 国产精品一区久久久久| 久久国产精品99久久人人澡| 免费不卡在线观看| 日韩av成人高清| 免费精品视频最新在线| 日本一区中文字幕| 美女一区二区三区在线观看| 美女在线观看视频一区二区| 人人狠狠综合久久亚洲| 蜜臀av性久久久久蜜臀aⅴ流畅 | 在线观看亚洲专区| 国产成人福利片| 91福利精品视频| 91网站最新网址| 91论坛在线播放| 欧美在线999| 3751色影院一区二区三区| 欧美精品久久99久久在免费线 | 色综合视频在线观看| 99国产精品一区| 日本丶国产丶欧美色综合| 欧美日韩亚洲丝袜制服| 91精品国产91久久久久久一区二区 | 麻豆91精品视频| 狠狠色丁香婷婷综合| 国产麻豆精品theporn| 成人性色生活片| 国产成人欧美日韩在线电影| 972aa.com艺术欧美| 欧美日韩一区视频| 精品99999| 国产精品久久综合| 亚洲午夜av在线| 国产美女精品人人做人人爽 | 91福利在线导航| 日韩一区二区在线免费观看| 久久精品视频一区二区三区| 亚洲欧美日韩国产综合| 日韩黄色免费网站| 国产69精品久久久久毛片| 91麻豆高清视频| 精品国产一二三| 亚洲精品欧美在线| 精品制服美女久久| 99re热视频这里只精品| 日韩亚洲电影在线| 18成人在线观看| 蜜臀av一区二区在线免费观看| 东方aⅴ免费观看久久av| 欧美日韩色一区| 日本一区二区久久| 日日夜夜免费精品| 99在线精品观看| 日韩美女一区二区三区四区| 亚洲欧美一区二区三区国产精品 | 亚洲国产三级在线| 国产福利91精品一区二区三区| 欧美性极品少妇| 国产目拍亚洲精品99久久精品| 国内精品在线播放| 午夜精品久久久久久久久| 美脚の诱脚舐め脚责91 | 夜夜嗨av一区二区三区网页| 欧美日免费三级在线| 国产日韩视频一区二区三区| 日本最新不卡在线| 欧美在线影院一区二区| 国产精品久久久久久久久搜平片 | 91精品免费在线| 夜夜操天天操亚洲| 成人免费视频视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 91麻豆成人久久精品二区三区| 欧美精品一区二区三区蜜臀| 一区二区三区成人| 波波电影院一区二区三区| 亚洲精品一线二线三线无人区| 亚洲国产成人高清精品| 色8久久精品久久久久久蜜| 亚洲天堂福利av| 7777精品伊人久久久大香线蕉完整版 | 国产资源精品在线观看| 日本韩国一区二区三区| 国产精品久久久久久久蜜臀| 国产美女精品在线| 精品日韩一区二区三区免费视频| 亚洲一级二级在线| 日本精品一区二区三区高清 | 亚洲精品videosex极品| 99久久国产免费看| 日本一区二区成人| 国产iv一区二区三区| 欧美激情在线观看视频免费| 国产精品影视在线| 国产日产欧美精品一区二区三区| 国产乱子伦视频一区二区三区 | 欧美成人一级视频| 日本亚洲电影天堂| 日韩欧美国产精品一区| 麻豆91免费观看| 久久久亚洲精华液精华液精华液| 亚洲国产乱码最新视频| 最好看的中文字幕久久| 国产精品系列在线观看| 久久精品在线观看| 丁香亚洲综合激情啪啪综合| 国产精品国产自产拍高清av王其| 大胆亚洲人体视频| 国产精品色眯眯| 在线观看日韩一区| 石原莉奈一区二区三区在线观看| 日韩一区二区三区免费看| 精品在线视频一区| 国产视频一区二区三区在线观看| 丁香婷婷综合色啪| 亚洲色图制服诱惑| 欧美日韩国产在线播放网站| 久久精品国产亚洲aⅴ| 欧美国产日本视频| 91浏览器入口在线观看| 午夜影视日本亚洲欧洲精品| 日韩你懂的在线播放| 风间由美一区二区三区在线观看 | 亚洲第一综合色| 日韩精品一区二区三区视频| 麻豆成人在线观看| 日韩欧美一区二区免费| 国产黄人亚洲片| 亚洲免费观看高清完整版在线| 精品视频色一区| 欧美色大人视频| 久久精品国产77777蜜臀| 欧美国产日韩亚洲一区| 精品视频123区在线观看|