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

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

?? lame.c

?? MP3編碼程序和資料
?? C
?? 第 1 頁 / 共 4 頁
字號:
	n_out=Min(gfp->framesize,nsamples);	n_in = n_out;	memcpy( (char *) &mfbuf[ch][gfc->mf_size],(char *)in_buffer[ch],sizeof(short int)*n_out);      }      in_buffer[ch] += n_in;    }    nsamples -= n_in;    gfc->mf_size += n_out;    assert(gfc->mf_size<=MFSIZE);    gfc->mf_samples_to_encode += n_out;    if (gfc->mf_size >= mf_needed) {      /* encode the frame.  */      ret = lame_encode_frame(gfp,mfbuf[0],mfbuf[1],mp3buf,mp3buf_size);      if (ret < 0) return ret;      mp3buf += ret;      mp3size += ret;      /* shift out old samples */      gfc->mf_size -= gfp->framesize;      gfc->mf_samples_to_encode -= gfp->framesize;      for (ch=0; ch<gfc->stereo; ch++)	for (i=0; i<gfc->mf_size; i++)	  mfbuf[ch][i]=mfbuf[ch][i+gfp->framesize];    }  }  assert(nsamples==0);  return mp3size;}int lame_encode_buffer_interleaved(lame_global_flags *gfp,   short int buffer[], int nsamples, char *mp3buf, int mp3buf_size){  int mp3size=0,ret=0,i,ch,mf_needed;  lame_internal_flags *gfc=gfp->internal_flags;  short int *mfbuf[2];  if (!gfc->lame_init_params_init) return -3;  mfbuf[0]=gfc->mfbuf[0];  mfbuf[1]=gfc->mfbuf[1];  /* some sanity checks */  assert(ENCDELAY>=MDCTDELAY);  assert(BLKSIZE-FFTOFFSET >= 0);  mf_needed = BLKSIZE+gfp->framesize-FFTOFFSET;  assert(MFSIZE>=mf_needed);  if (gfp->num_channels == 1) {    return lame_encode_buffer(gfp,buffer, NULL ,nsamples,mp3buf,mp3buf_size);  }  if (gfc->resample_ratio!=1)  {    short int *buffer_l;    short int *buffer_r;    buffer_l=malloc(sizeof(short int)*nsamples);    buffer_r=malloc(sizeof(short int)*nsamples);    if (buffer_l == NULL || buffer_r == NULL) {      return -2;    }    for (i=0; i<nsamples; i++) {      buffer_l[i]=buffer[2*i];      buffer_r[i]=buffer[2*i+1];    }    ret = lame_encode_buffer(gfp,buffer_l,buffer_r,nsamples,mp3buf,mp3buf_size);    free(buffer_l);    free(buffer_r);    return ret;  }  if (gfp->num_channels==2  && gfc->stereo==1) {    /* downsample to mono */    for (i=0; i<nsamples; ++i) {      buffer[2*i]=((int)buffer[2*i]+(int)buffer[2*i+1])/2;      buffer[2*i+1]=0;    }  }  while (nsamples > 0) {    int n_out;    /* copy in new samples */    n_out = Min(gfp->framesize,nsamples);    for (i=0; i<n_out; ++i) {      mfbuf[0][gfc->mf_size+i]=buffer[2*i];      mfbuf[1][gfc->mf_size+i]=buffer[2*i+1];    }    buffer += 2*n_out;    nsamples -= n_out;    gfc->mf_size += n_out;    assert(gfc->mf_size<=MFSIZE);    gfc->mf_samples_to_encode += n_out;    if (gfc->mf_size >= mf_needed) {      /* encode the frame */      ret = lame_encode_frame(gfp,mfbuf[0],mfbuf[1],mp3buf,mp3buf_size);      if (ret < 0) {	/* fatel error: mp3buffer was too small */	return ret;      }      mp3buf += ret;      mp3size += ret;      /* shift out old samples */      gfc->mf_size -= gfp->framesize;      gfc->mf_samples_to_encode -= gfp->framesize;      for (ch=0; ch<gfc->stereo; ch++)	for (i=0; i<gfc->mf_size; i++)	  mfbuf[ch][i]=mfbuf[ch][i+gfp->framesize];    }  }  assert(nsamples==0);  return mp3size;}/* old LAME interface.  use lame_encode_buffer instead */int lame_encode(lame_global_flags *gfp, short int in_buffer[2][1152],char *mp3buf,int size){  int imp3;  lame_internal_flags *gfc=gfp->internal_flags;  if (!gfc->lame_init_params_init) return -3;  imp3= lame_encode_buffer(gfp,in_buffer[0],in_buffer[1],gfp->framesize,mp3buf,size);  return imp3;}/*****************************************************************//* flush internal mp3 buffers,                                   *//*****************************************************************/int lame_encode_finish(lame_global_flags *gfp,char *mp3buffer, int mp3buffer_size){  int imp3=0,mp3count,mp3buffer_size_remaining;  short int buffer[2][1152];  lame_internal_flags *gfc=gfp->internal_flags;  memset((char *)buffer,0,sizeof(buffer));  mp3count = 0;  while (gfc->mf_samples_to_encode > 0) {    mp3buffer_size_remaining = mp3buffer_size - mp3count;    /* if user specifed buffer size = 0, dont check size */    if (mp3buffer_size == 0) mp3buffer_size_remaining=0;      /* send in a frame of 0 padding until all internal sample buffers flushed */    imp3=lame_encode_buffer(gfp,buffer[0],buffer[1],gfp->framesize,mp3buffer,mp3buffer_size_remaining);    /* dont count the above padding: */    gfc->mf_samples_to_encode -= gfp->framesize;    if (imp3 < 0) {      /* some type of fatel error */      freegfc(gfc);          return imp3;    }    mp3buffer += imp3;    mp3count += imp3;  }  gfp->frameNum--;  if (!gfp->gtkflag && !gfp->silent) {      timestatus(gfp->out_samplerate,gfp->frameNum,gfp->totalframes,gfp->framesize);      if (gfp->brhist_disp)	{	  brhist_disp(gfp->totalframes);	  brhist_disp_total(gfp);	}      timestatus_finish();  }  mp3buffer_size_remaining = mp3buffer_size - mp3count;  /* if user specifed buffer size = 0, dont check size */  if (mp3buffer_size == 0) mp3buffer_size_remaining=0;    if (gfp->ogg) {#ifdef HAVEVORBIS        /* ogg related stuff */    imp3 = lame_encode_ogg_finish(gfp,mp3buffer,mp3buffer_size_remaining);#endif  }else{    /* mp3 related stuff.  bit buffer might still contain some data */    flush_bitstream(gfp);    imp3= copy_buffer(mp3buffer,mp3buffer_size_remaining,&gfc->bs);  }  if (imp3 < 0) {    freegfc(gfc);        return imp3;  }  mp3count += imp3;  freegfc(gfc);      return mp3count;}/*****************************************************************//* write VBR Xing header, and ID3 tag, if asked for               *//*****************************************************************/void lame_mp3_tags(lame_global_flags *gfp){  if (gfp->bWriteVbrTag)    {      /* Calculate relative quality of VBR stream       * 0=best, 100=worst */      int nQuality=gfp->VBR_q*100/9;      /* Write Xing header again */      PutVbrTag(gfp,gfp->outPath,nQuality);    }  /* write an ID3 tag  */  if(gfp->id3tag_used) {    id3_buildtag(&gfp->id3tag);    id3_writetag(gfp->outPath, &gfp->id3tag);  }}void lame_version(lame_global_flags *gfp,char *ostring) {  strncpy(ostring,get_lame_version(),20);}/* initialize mp3 encoder */int lame_init(lame_global_flags *gfp){  lame_internal_flags *gfc;  /*   *  Disable floating point exepctions   */#ifdef __FreeBSD__# include <floatingpoint.h>  {  /* seet floating point mask to the Linux default */  fp_except_t mask;  mask=fpgetmask();  /* if bit is set, we get SIGFPE on that error! */  fpsetmask(mask & ~(FP_X_INV|FP_X_DZ));  /*  DEBUGF("FreeBSD mask is 0x%x\n",mask); */  }#endif#if defined(__riscos__) && !defined(ABORTFP)  /* Disable FPE's under RISC OS */  /* if bit is set, we disable trapping that error! */  /*   _FPE_IVO : invalid operation */  /*   _FPE_DVZ : divide by zero */  /*   _FPE_OFL : overflow */  /*   _FPE_UFL : underflow */  /*   _FPE_INX : inexact */  DisableFPETraps( _FPE_IVO | _FPE_DVZ | _FPE_OFL );#endif  /*   *  Debugging stuff   *  The default is to ignore FPE's, unless compiled with -DABORTFP   *  so add code below to ENABLE FPE's.   */#if defined(ABORTFP) #if defined(_MSC_VER)  {	#include <float.h>	unsigned int mask;	mask=_controlfp( 0, 0 );	mask&=~(_EM_OVERFLOW|_EM_UNDERFLOW|_EM_ZERODIVIDE|_EM_INVALID);	mask=_controlfp( mask, _MCW_EM );	}#elif defined(__CYGWIN__)#  define _FPU_GETCW(cw) __asm__ ("fnstcw %0" : "=m" (*&cw))#  define _FPU_SETCW(cw) __asm__ ("fldcw %0" : : "m" (*&cw))#  define _EM_INEXACT     0x00000001 /* inexact (precision) */#  define _EM_UNDERFLOW   0x00000002 /* underflow */#  define _EM_OVERFLOW    0x00000004 /* overflow */#  define _EM_ZERODIVIDE  0x00000008 /* zero divide */#  define _EM_INVALID     0x00000010 /* invalid */  {    unsigned int mask;    _FPU_GETCW(mask);    /* Set the FPU control word to abort on most FPEs */    mask &= ~(_EM_UNDERFLOW | _EM_OVERFLOW | _EM_ZERODIVIDE | _EM_INVALID);    _FPU_SETCW(mask);  }# elif (defined(__linux__) || defined(__FreeBSD__))  {#  include <fpu_control.h>#  ifndef _FPU_GETCW#  define _FPU_GETCW(cw) __asm__ ("fnstcw %0" : "=m" (*&cw))#  endif#  ifndef _FPU_SETCW#  define _FPU_SETCW(cw) __asm__ ("fldcw %0" : : "m" (*&cw))#  endif    unsigned int mask;    _FPU_GETCW(mask);    /* Set the Linux mask to abort on most FPE's */    /* if bit is set, we _mask_ SIGFPE on that error! */    /*  mask &= ~( _FPU_MASK_IM | _FPU_MASK_ZM | _FPU_MASK_OM | _FPU_MASK_UM );*/    mask &= ~( _FPU_MASK_IM | _FPU_MASK_ZM | _FPU_MASK_OM );    _FPU_SETCW(mask);  }#endif#endif /* ABORTFP */  memset(gfp,0,sizeof(lame_global_flags));  if (NULL==(gfp->internal_flags = malloc(sizeof(lame_internal_flags))))    return -1;  gfc=(lame_internal_flags *) gfp->internal_flags;  memset(gfc,0,sizeof(lame_internal_flags));  /* Global flags.  set defaults here */  gfp->mode = MPG_MD_JOINT_STEREO;  gfp->mode_fixed=0;  gfp->force_ms=0;  gfp->brate=0;  gfp->copyright=0;  gfp->original=1;  gfp->extension=0;  gfp->error_protection=0;  gfp->emphasis=0;  gfp->in_samplerate=1000*44.1;  gfp->out_samplerate=0;  gfp->num_channels=2;  gfp->num_samples=MAX_U_32_NUM;  gfp->allow_diff_short=0;  gfp->ATHonly=0;  gfp->noATH=0;  gfp->bWriteVbrTag=1;  gfp->cwlimit=0;  gfp->disable_reservoir=0;  gfp->experimentalX = 0;  gfp->experimentalY = 0;  gfp->experimentalZ = 0;  gfp->gtkflag=0;  gfp->quality=5;  gfp->input_format=sf_unknown;  gfp->lowpassfreq=0;  gfp->highpassfreq=0;  gfp->lowpasswidth=-1;  gfp->highpasswidth=-1;  gfp->no_short_blocks=0;  gfp->padding_type=2;  gfp->swapbytes=0;  gfp->silent=1;  gfp->VBR=vbr_off;  gfp->VBR_q=4;  gfp->VBR_mean_bitrate_kbps=128;  gfp->VBR_min_bitrate_kbps=0;  gfp->VBR_max_bitrate_kbps=0;  gfp->VBR_hard_min=0;  gfc->pcmbitwidth = 16;  gfc->resample_ratio=1;  gfc->lowpass_band=32;  gfc->highpass_band=-1;  gfc->VBR_min_bitrate=1;  gfc->VBR_max_bitrate=13;  gfc->OldValue[0]=180;  gfc->OldValue[1]=180;  gfc->CurrentStep=4;  gfc->masking_lower=1;  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频国产视频| 国产精品成人在线观看| 成人午夜电影久久影院| 亚洲超碰精品一区二区| 国产农村妇女毛片精品久久麻豆| 日本伦理一区二区| 国产精品888| 男人的天堂久久精品| 亚洲综合在线电影| 久久久久久亚洲综合影院红桃| 欧美日韩亚洲不卡| 97精品国产露脸对白| 国产精品白丝jk黑袜喷水| 亚洲成a人v欧美综合天堂| 亚洲欧洲精品一区二区精品久久久| 欧美成人一区二区三区片免费| 91成人在线精品| 91在线视频免费观看| 国产一区二区主播在线| 琪琪久久久久日韩精品| 亚洲综合一二三区| 亚洲精品成人天堂一二三| 中文字幕精品三区| 久久久综合视频| 精品剧情在线观看| 日韩欧美国产小视频| 日韩一区二区电影| 欧美日本乱大交xxxxx| 欧美午夜精品理论片a级按摩| 99天天综合性| 波多野结衣中文一区| 国产成人精品免费一区二区| 国产一区二区三区观看| 精一区二区三区| 久久成人综合网| 久久精品国产亚洲高清剧情介绍 | 欧美色综合影院| 色综合一个色综合| 99精品欧美一区二区三区小说 | 精品午夜一区二区三区在线观看| 日日噜噜夜夜狠狠视频欧美人| 亚洲动漫第一页| 午夜精品久久久久久不卡8050| 亚洲国产中文字幕| 天天影视色香欲综合网老头| 奇米精品一区二区三区在线观看| 青青国产91久久久久久| 美日韩一区二区| 国产美女av一区二区三区| 九九在线精品视频| 懂色中文一区二区在线播放| 99久久99精品久久久久久| 日本韩国欧美三级| 欧美日本不卡视频| 精品国产精品网麻豆系列| 久久嫩草精品久久久精品一| 中文字幕一区二| 亚洲成人在线观看视频| 九九视频精品免费| bt欧美亚洲午夜电影天堂| 欧美性色欧美a在线播放| 日韩欧美国产不卡| 国产精品网曝门| 夜夜嗨av一区二区三区中文字幕| 五月天视频一区| 国产一区二区免费在线| 99久久精品国产导航| 欧美肥妇bbw| 久久久久久夜精品精品免费| 亚洲免费观看高清| 免费三级欧美电影| 播五月开心婷婷综合| 欧美男生操女生| 亚洲国产精品成人综合| 一区二区免费看| 国内精品国产三级国产a久久| 成人av免费在线观看| 在线播放国产精品二区一二区四区| 精品美女一区二区三区| 一区二区三区四区乱视频| 日韩1区2区日韩1区2区| 波波电影院一区二区三区| 欧美日韩在线免费视频| 久久精品这里都是精品| 一区二区三区四区在线| 国产综合色在线| 欧美日韩一区成人| 国产欧美精品区一区二区三区 | 亚洲第一搞黄网站| 国产精品一品二品| 欧美日韩aaaaa| 成人欧美一区二区三区| 久久99精品久久久久婷婷| 色婷婷av一区二区三区软件 | 日韩精彩视频在线观看| 成人精品视频一区二区三区| 欧美精品久久一区| 亚洲男帅同性gay1069| 国产一区二区三区免费| 欧美日韩精品电影| 1000部国产精品成人观看| 久久成人免费网| 6080日韩午夜伦伦午夜伦| 中文字幕综合网| 国产成人精品亚洲日本在线桃色 | 日本韩国欧美在线| 日本一区二区动态图| 久久国产福利国产秒拍| 欧美精品高清视频| 一区二区三区四区在线免费观看| 成人性色生活片| 久久综合九色综合97婷婷女人| 香蕉久久一区二区不卡无毒影院| 99综合电影在线视频| 日本一区二区三区在线不卡| 精品一区二区三区香蕉蜜桃| 欧美精品在线视频| 亚洲国产欧美日韩另类综合| 99国产欧美另类久久久精品| 国产女主播视频一区二区| 久久国产精品色| 欧美xxxx老人做受| 久久99国产精品免费| 欧美一区二区黄色| 日韩主播视频在线| 91精品国产综合久久精品性色| 亚洲一区自拍偷拍| 欧美中文一区二区三区| 亚洲欧美日韩小说| 一本大道久久精品懂色aⅴ| 国产精品乱人伦| 成人福利电影精品一区二区在线观看 | 成人综合婷婷国产精品久久| 久久天堂av综合合色蜜桃网| 久久疯狂做爰流白浆xx| 欧美tickle裸体挠脚心vk| 蜜乳av一区二区三区| 日韩欧美亚洲国产另类| 久久av中文字幕片| 久久夜色精品国产噜噜av| 国产精品亚洲一区二区三区妖精| 国产午夜亚洲精品理论片色戒| 国产不卡免费视频| 亚洲欧洲性图库| 欧美性生活影院| 日本少妇一区二区| 2024国产精品视频| 国产剧情av麻豆香蕉精品| 中文字幕国产一区| 96av麻豆蜜桃一区二区| 亚洲综合小说图片| 制服丝袜中文字幕亚洲| 精品亚洲免费视频| 国产欧美一区二区三区鸳鸯浴| 国产.精品.日韩.另类.中文.在线.播放| 亚洲国产精品高清| 日本精品裸体写真集在线观看| 亚洲电影一级黄| 日韩精品中午字幕| 成人av资源下载| 亚洲成人一二三| 精品免费国产二区三区 | 91美女片黄在线| 亚洲国产综合在线| 日韩精品一区二区三区视频播放 | 国产一区二区三区在线观看免费视频| 久久一二三国产| 日韩欧美一级精品久久| 韩国女主播一区| 亚洲欧美中日韩| 欧美一级欧美三级| 国产成人av自拍| 亚洲国产精品久久久男人的天堂| 制服丝袜av成人在线看| 丁香网亚洲国际| 亚洲成人av资源| 国产欧美日韩在线观看| 欧美亚洲免费在线一区| 精品亚洲国产成人av制服丝袜 | 精品一区二区av| 亚洲视频免费观看| 日韩美女主播在线视频一区二区三区| 懂色av一区二区三区免费看| 亚洲国产精品麻豆| 国产欧美日韩综合精品一区二区| 在线视频一区二区三区| 精品在线一区二区| 一区二区三区自拍| 久久久久久久久免费| 欧美日韩一区中文字幕| 成人av第一页| 欧美a一区二区| 亚洲综合在线免费观看| 日本一区二区视频在线观看| 欧美一区二区三区成人| 日本高清不卡一区| 国产成a人无v码亚洲福利| 青青草97国产精品免费观看无弹窗版| 亚洲欧美区自拍先锋| 中文字幕精品三区|