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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sb_celp.cpp

?? KphoneSI (kpsi) is a SIP (Session Initiation Protocol) user agent for Linux, with which you can in
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* Copyright (C) 2002 Jean-Marc Valin    File: sb_celp.c   Redistribution and use in source and binary forms, with or without   modification, are permitted provided that the following conditions   are met:      - Redistributions of source code must retain the above copyright   notice, this list of conditions and the following disclaimer.      - Redistributions in binary form must reproduce the above copyright   notice, this list of conditions and the following disclaimer in the   documentation and/or other materials provided with the distribution.      - Neither the name of the Xiph.org Foundation nor the names of its   contributors may be used to endorse or promote products derived from   this software without specific prior written permission.      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/#include <math.h>#include "sb_celp.h"#include "stdlib.h"#include "filters.h"#include "lpc.h"#include "lsp.h"#include "stack_alloc.h"#include "cb_search.h"#include "quant_lsp.h"#include "vq.h"#include "ltp.h"#include "misc.h"#ifndef M_PI#define M_PI           3.14159265358979323846  /* pi */#endif#define sqr(x) ((x)*(x))#define SUBMODE(x) st->submodes[st->submodeID]->x#define QMF_ORDER 64static float h0[64] = {   3.596189e-05, -0.0001123515,   -0.0001104587, 0.0002790277,   0.0002298438, -0.0005953563,   -0.0003823631, 0.00113826,   0.0005308539, -0.001986177,   -0.0006243724, 0.003235877,   0.0005743159, -0.004989147,   -0.0002584767, 0.007367171,   -0.0004857935, -0.01050689,   0.001894714, 0.01459396,   -0.004313674, -0.01994365,   0.00828756, 0.02716055,   -0.01485397, -0.03764973,   0.026447, 0.05543245,   -0.05095487, -0.09779096,   0.1382363, 0.4600981,   0.4600981, 0.1382363,   -0.09779096, -0.05095487,   0.05543245, 0.026447,   -0.03764973, -0.01485397,   0.02716055, 0.00828756,   -0.01994365, -0.004313674,   0.01459396, 0.001894714,   -0.01050689, -0.0004857935,   0.007367171, -0.0002584767,   -0.004989147, 0.0005743159,   0.003235877, -0.0006243724,   -0.001986177, 0.0005308539,   0.00113826, -0.0003823631,   -0.0005953563, 0.0002298438,   0.0002790277, -0.0001104587,   -0.0001123515, 3.596189e-05};static float h1[64] = {   3.596189e-05, 0.0001123515,   -0.0001104587, -0.0002790277,   0.0002298438, 0.0005953563,   -0.0003823631, -0.00113826,   0.0005308539, 0.001986177,   -0.0006243724, -0.003235877,   0.0005743159, 0.004989147,   -0.0002584767, -0.007367171,   -0.0004857935, 0.01050689,   0.001894714, -0.01459396,   -0.004313674, 0.01994365,   0.00828756, -0.02716055,   -0.01485397, 0.03764973,   0.026447, -0.05543245,   -0.05095487, 0.09779096,   0.1382363, -0.4600981,   0.4600981, -0.1382363,   -0.09779096, 0.05095487,   0.05543245, -0.026447,   -0.03764973, 0.01485397,   0.02716055, -0.00828756,   -0.01994365, 0.004313674,   0.01459396, -0.001894714,   -0.01050689, 0.0004857935,   0.007367171, 0.0002584767,   -0.004989147, -0.0005743159,   0.003235877, 0.0006243724,   -0.001986177, -0.0005308539,   0.00113826, 0.0003823631,   -0.0005953563, -0.0002298438,   0.0002790277, 0.0001104587,   -0.0001123515, -3.596189e-05};void *sb_encoder_init(SpeexMode *m){   int i;   SBEncState *st;   SpeexSBMode *mode;   st = (SBEncState*)speex_alloc(sizeof(SBEncState)+8000*sizeof(float));   st->mode = m;   mode = (SpeexSBMode*)m->mode;   st->stack = ((char*)st) + sizeof(SBEncState);   st->st_low = speex_encoder_init(mode->nb_mode);   st->full_frame_size = 2*mode->frameSize;   st->frame_size = mode->frameSize;   st->subframeSize = mode->subframeSize;   st->nbSubframes = mode->frameSize/mode->subframeSize;   st->windowSize = st->frame_size*3/2;   st->lpcSize=mode->lpcSize;   st->bufSize=mode->bufSize;   st->submodes=mode->submodes;   st->submodeSelect = st->submodeID=mode->defaultSubmode;      i=9;   speex_encoder_ctl(st->st_low, SPEEX_SET_QUALITY, &i);   st->lag_factor = mode->lag_factor;   st->lpc_floor = mode->lpc_floor;   st->gamma1=mode->gamma1;   st->gamma2=mode->gamma2;   st->first=1;   st->x0d=PUSH(st->stack, st->frame_size, float);   st->x1d=PUSH(st->stack, st->frame_size, float);   st->high=PUSH(st->stack, st->full_frame_size, float);   st->y0=PUSH(st->stack, st->full_frame_size, float);   st->y1=PUSH(st->stack, st->full_frame_size, float);   st->h0_mem=PUSH(st->stack, QMF_ORDER, float);   st->h1_mem=PUSH(st->stack, QMF_ORDER, float);   st->g0_mem=PUSH(st->stack, QMF_ORDER, float);   st->g1_mem=PUSH(st->stack, QMF_ORDER, float);   st->buf=PUSH(st->stack, st->windowSize, float);   st->excBuf=PUSH(st->stack, st->bufSize, float);   st->exc = st->excBuf + st->bufSize - st->windowSize;   st->res=PUSH(st->stack, st->frame_size, float);   st->sw=PUSH(st->stack, st->frame_size, float);   st->target=PUSH(st->stack, st->frame_size, float);   /*Asymmetric "pseudo-Hamming" window*/   {      int part1, part2;      part1 = st->subframeSize*7/2;      part2 = st->subframeSize*5/2;      st->window = PUSH(st->stack, st->windowSize, float);      for (i=0;i<part1;i++)         st->window[i]=.54-.46*cos(M_PI*i/part1);      for (i=0;i<part2;i++)         st->window[part1+i]=.54+.46*cos(M_PI*i/part2);   }   st->lagWindow = PUSH(st->stack, st->lpcSize+1, float);   for (i=0;i<st->lpcSize+1;i++)      st->lagWindow[i]=exp(-.5*sqr(2*M_PI*st->lag_factor*i));   st->rc = PUSH(st->stack, st->lpcSize, float);   st->autocorr = PUSH(st->stack, st->lpcSize+1, float);   st->lpc = PUSH(st->stack, st->lpcSize+1, float);   st->bw_lpc1 = PUSH(st->stack, st->lpcSize+1, float);   st->bw_lpc2 = PUSH(st->stack, st->lpcSize+1, float);   st->lsp = PUSH(st->stack, st->lpcSize, float);   st->qlsp = PUSH(st->stack, st->lpcSize, float);   st->old_lsp = PUSH(st->stack, st->lpcSize, float);   st->old_qlsp = PUSH(st->stack, st->lpcSize, float);   st->interp_lsp = PUSH(st->stack, st->lpcSize, float);   st->interp_qlsp = PUSH(st->stack, st->lpcSize, float);   st->interp_lpc = PUSH(st->stack, st->lpcSize+1, float);   st->interp_qlpc = PUSH(st->stack, st->lpcSize+1, float);   st->pi_gain = PUSH(st->stack, st->nbSubframes, float);   st->mem_sp = PUSH(st->stack, st->lpcSize, float);   st->mem_sp2 = PUSH(st->stack, st->lpcSize, float);   st->mem_sw = PUSH(st->stack, st->lpcSize, float);   st->vbr_quality = 8;   st->vbr_enabled = 0;   st->vad_enabled = 0;   st->abr_enabled = 0;   st->relative_quality=0;   st->complexity=2;   speex_encoder_ctl(st->st_low, SPEEX_GET_SAMPLING_RATE, &st->sampling_rate);   st->sampling_rate*=2;   return st;}void sb_encoder_destroy(void *state){   SBEncState *st=(SBEncState*)state;   speex_encoder_destroy(st->st_low);   speex_free(st);}int sb_encode(void *state, float *in, SpeexBits *bits){   SBEncState *st;   int i, roots, sub;   char *stack;   float *mem, *innov, *syn_resp;   float *low_pi_gain, *low_exc, *low_innov;   SpeexSBMode *mode;   int dtx;   st = (SBEncState*)state;   stack=st->stack;   mode = (SpeexSBMode*)(st->mode->mode);   /* Compute the two sub-bands by filtering with h0 and h1*/   qmf_decomp(in, h0, st->x0d, st->x1d, st->full_frame_size, QMF_ORDER, st->h0_mem, stack);       /* Encode the narrowband part*/   speex_encode(st->st_low, st->x0d, bits);   /* High-band buffering / sync with low band */   for (i=0;i<st->windowSize-st->frame_size;i++)      st->high[i] = st->high[st->frame_size+i];   for (i=0;i<st->frame_size;i++)      st->high[st->windowSize-st->frame_size+i]=st->x1d[i];   speex_move(st->excBuf, st->excBuf+st->frame_size, (st->bufSize-st->frame_size)*sizeof(float));   low_pi_gain = PUSH(stack, st->nbSubframes, float);   low_exc = PUSH(stack, st->frame_size, float);   low_innov = PUSH(stack, st->frame_size, float);   speex_encoder_ctl(st->st_low, SPEEX_GET_PI_GAIN, low_pi_gain);   speex_encoder_ctl(st->st_low, SPEEX_GET_EXC, low_exc);   speex_encoder_ctl(st->st_low, SPEEX_GET_INNOV, low_innov);      speex_encoder_ctl(st->st_low, SPEEX_GET_LOW_MODE, &dtx);   if (dtx==0)      dtx=1;   else      dtx=0;   /* Start encoding the high-band */   for (i=0;i<st->windowSize;i++)      st->buf[i] = st->high[i] * st->window[i];   /* Compute auto-correlation */   _spx_autocorr(st->buf, st->autocorr, st->lpcSize+1, st->windowSize);   st->autocorr[0] += 1;        /* prevents NANs */   st->autocorr[0] *= st->lpc_floor; /* Noise floor in auto-correlation domain */   /* Lag windowing: equivalent to filtering in the power-spectrum domain */   for (i=0;i<st->lpcSize+1;i++)      st->autocorr[i] *= st->lagWindow[i];   /* Levinson-Durbin */   wld(st->lpc+1, st->autocorr, st->rc, st->lpcSize);   st->lpc[0]=1;   /* LPC to LSPs (x-domain) transform */   roots=lpc_to_lsp (st->lpc, st->lpcSize, st->lsp, 15, 0.2, stack);   if (roots!=st->lpcSize)   {      roots = lpc_to_lsp (st->lpc, st->lpcSize, st->lsp, 11, 0.02, stack);      if (roots!=st->lpcSize) {         /*If we can't find all LSP's, do some damage control and use a flat filter*/         for (i=0;i<st->lpcSize;i++)         {            st->lsp[i]=cos(M_PI*((float)(i+1))/(st->lpcSize+1));         }      }   }   /* x-domain to angle domain*/   for (i=0;i<st->lpcSize;i++)      st->lsp[i] = acos(st->lsp[i]);   /* VBR code */   if ((st->vbr_enabled || st->vad_enabled) && !dtx)   {      float e_low=0, e_high=0;      float ratio;      if (st->abr_enabled)      {         float qual_change=0;         if (st->abr_drift2 * st->abr_drift > 0)         {            /* Only adapt if long-term and short-term drift are the same sign */            qual_change = -.00001*st->abr_drift/(1+st->abr_count);            if (qual_change>.1)               qual_change=.1;            if (qual_change<-.1)               qual_change=-.1;         }         st->vbr_quality += qual_change;         if (st->vbr_quality>10)            st->vbr_quality=10;         if (st->vbr_quality<0)            st->vbr_quality=0;      }      for (i=0;i<st->frame_size;i++)      {         e_low  += st->x0d[i]* st->x0d[i];         e_high += st->high[i]* st->high[i];      }      ratio = log((1+e_high)/(1+e_low));      speex_encoder_ctl(st->st_low, SPEEX_GET_RELATIVE_QUALITY, &st->relative_quality);      if (ratio<-4)         ratio=-4;      if (ratio>2)         ratio=2;      /*if (ratio>-2)*/      if (st->vbr_enabled)       {         int modeid;         modeid = mode->nb_modes-1;         st->relative_quality+=1.0*(ratio+2);	 if (st->relative_quality<-1)            st->relative_quality=-1;         while (modeid)         {            int v1;            float thresh;            v1=(int)floor(st->vbr_quality);            if (v1==10)               thresh = mode->vbr_thresh[modeid][v1];            else               thresh = (st->vbr_quality-v1)   * mode->vbr_thresh[modeid][v1+1] +                         (1+v1-st->vbr_quality) * mode->vbr_thresh[modeid][v1];            if (st->relative_quality >= thresh)               break;            modeid--;         }         speex_encoder_ctl(state, SPEEX_SET_HIGH_MODE, &modeid);         if (st->abr_enabled)         {            int bitrate;            speex_encoder_ctl(state, SPEEX_GET_BITRATE, &bitrate);            st->abr_drift+=(bitrate-st->abr_enabled);            st->abr_drift2 = .95*st->abr_drift2 + .05*(bitrate-st->abr_enabled);            st->abr_count += 1.0;         }      } else {         /* VAD only */         int modeid;         if (st->relative_quality<2.0)            modeid=1;         else            modeid=st->submodeSelect;         /*speex_encoder_ctl(state, SPEEX_SET_MODE, &mode);*/         st->submodeID=modeid;      }      /*fprintf (stderr, "%f %f\n", ratio, low_qual);*/   }   speex_bits_pack(bits, 1, 1);   if (dtx)      speex_bits_pack(bits, 0, SB_SUBMODE_BITS);   else      speex_bits_pack(bits, st->submodeID, SB_SUBMODE_BITS);   /* If null mode (no transmission), just set a couple things to zero*/   if (dtx || st->submodes[st->submodeID] == NULL)   {      for (i=0;i<st->frame_size;i++)         st->exc[i]=st->sw[i]=VERY_SMALL;      for (i=0;i<st->lpcSize;i++)         st->mem_sw[i]=0;      st->first=1;      /* Final signal synthesis from excitation */      iir_mem2(st->exc, st->interp_qlpc, st->high, st->subframeSize, st->lpcSize, st->mem_sp);#ifndef RELEASE      /* Reconstruct the original */      fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);      fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);      for (i=0;i<st->full_frame_size;i++)         in[i]=2*(st->y0[i]-st->y1[i]);#endif      if (dtx)         return 0;      else         return 1;   }   /* LSP quantization */   SUBMODE(lsp_quant)(st->lsp, st->qlsp, st->lpcSize, bits);      if (st->first)   {      for (i=0;i<st->lpcSize;i++)         st->old_lsp[i] = st->lsp[i];      for (i=0;i<st->lpcSize;i++)         st->old_qlsp[i] = st->qlsp[i];   }      mem=PUSH(stack, st->lpcSize, float);   syn_resp=PUSH(stack, st->subframeSize, float);   innov = PUSH(stack, st->subframeSize, float);   for (sub=0;sub<st->nbSubframes;sub++)   {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色乱码一区二区三区88| 中文字幕在线观看一区二区| 欧美亚洲尤物久久| 色综合咪咪久久| 色综合咪咪久久| 在线亚洲欧美专区二区| 欧美丝袜丝交足nylons图片| 欧美亚洲国产一区在线观看网站| 色欧美乱欧美15图片| 91久久免费观看| 在线观看av不卡| 欧美精品日韩一本| 日韩欧美激情四射| 欧美精品一区二区三区高清aⅴ | 精品日韩av一区二区| 日韩欧美在线一区二区三区| 日韩女优av电影| 精品国产伦理网| 久久久精品免费免费| 中文字幕第一区| 亚洲欧美一区二区久久| 亚洲午夜在线电影| 青椒成人免费视频| 国产一区二区三区香蕉| 成人不卡免费av| 91成人在线免费观看| 91麻豆精品久久久久蜜臀| 欧美xxxxx裸体时装秀| 国产亚洲1区2区3区| 亚洲视频1区2区| 亚洲动漫第一页| 美女高潮久久久| 高清av一区二区| 91福利国产成人精品照片| 91精品久久久久久久91蜜桃| www欧美成人18+| 亚洲三级小视频| 日本不卡123| 粉嫩在线一区二区三区视频| 91福利社在线观看| 日韩美女一区二区三区| 亚洲国产精品激情在线观看| 亚洲视频图片小说| 琪琪一区二区三区| 国产91在线看| 欧美日韩亚洲综合| 国产女人18毛片水真多成人如厕| 一区二区三区久久| 国产一区二区精品久久| 日本高清视频一区二区| 精品美女被调教视频大全网站| 中文字幕一区二区三区不卡 | 日韩av不卡在线观看| 国产成人av电影在线观看| 色中色一区二区| 欧美电影免费观看高清完整版在线 | 欧美色国产精品| 国产日韩v精品一区二区| 一区二区三区日韩精品视频| 九九在线精品视频| 色94色欧美sute亚洲13| 久久久久青草大香线综合精品| 夜夜嗨av一区二区三区网页| 国产一级精品在线| 欧美三级韩国三级日本一级| 国产视频一区二区在线观看| 午夜精品免费在线观看| aaa亚洲精品| 精品美女在线观看| 日韩专区中文字幕一区二区| 91丨九色丨黑人外教| 欧美xxxxxxxx| 亚洲成a人在线观看| www.成人网.com| 精品国产一区二区精华| 香蕉久久一区二区不卡无毒影院 | 91精品国产91久久综合桃花| 综合激情成人伊人| 粉嫩绯色av一区二区在线观看| 日韩一区二区在线观看视频播放| 亚洲激情自拍偷拍| 成人av动漫在线| 国产婷婷色一区二区三区| 久久国内精品视频| 欧美一二三区在线观看| 亚洲电影一级片| 91麻豆国产香蕉久久精品| 久久久91精品国产一区二区精品 | 欧美精品乱人伦久久久久久| 一区二区三区久久| 色噜噜狠狠成人中文综合| 中文字幕不卡的av| 国产成人精品午夜视频免费| 精品国产一区久久| 精品影院一区二区久久久| 欧美一级二级在线观看| 日韩在线一区二区三区| 欧美日韩国产在线观看| 亚洲午夜精品久久久久久久久| 一本大道综合伊人精品热热| 国产精品大尺度| jiyouzz国产精品久久| 国产精品国产自产拍高清av| 成人免费av网站| 国产精品人成在线观看免费| 国产 日韩 欧美大片| 国产精品国产三级国产普通话三级| 国产成人在线色| 日本一区二区电影| av在线播放不卡| 亚洲欧美偷拍卡通变态| 在线欧美一区二区| 亚洲大片免费看| 欧美一区二区国产| 激情综合色综合久久综合| 26uuu色噜噜精品一区| 国产一区二区三区四区在线观看| 国产欧美一区二区三区网站| 成人网在线播放| 亚洲日本中文字幕区| 欧美午夜在线观看| 人人精品人人爱| 2023国产精品| 成人激情黄色小说| 一区二区免费在线| 91麻豆精品91久久久久同性| 久久爱www久久做| 国产农村妇女毛片精品久久麻豆| 波多野结衣的一区二区三区| 亚洲女同ⅹxx女同tv| 欧美日韩一级片在线观看| 麻豆成人在线观看| 国产欧美va欧美不卡在线| 91成人免费电影| 日精品一区二区三区| 亚洲精品在线观看视频| 99久久综合狠狠综合久久| 亚洲成人av一区二区三区| 久久这里都是精品| 91麻豆国产在线观看| 蜜臀av性久久久久av蜜臀妖精| 久久久久国产成人精品亚洲午夜| av资源站一区| 婷婷综合五月天| 久久精品一区二区三区不卡牛牛| 91美女福利视频| 欧美aaa在线| 国产精品久久久久天堂| 欧美精选在线播放| 国产ts人妖一区二区| 亚洲国产成人tv| 国产日本欧美一区二区| 欧美日韩一区 二区 三区 久久精品| 久草精品在线观看| 亚洲制服丝袜在线| 国产亚洲一区二区在线观看| 91久久精品一区二区| 韩国理伦片一区二区三区在线播放| 中文字幕在线不卡| 日韩免费性生活视频播放| 91同城在线观看| 国产一区二区毛片| 亚洲va在线va天堂| 国产精品午夜电影| 日韩视频123| 日本高清不卡在线观看| 国产乱人伦精品一区二区在线观看| 亚洲综合成人在线视频| 国产偷国产偷精品高清尤物| 欧美精品久久一区二区三区| 99精品视频中文字幕| 精品一区二区三区在线观看国产| 亚洲精品成人天堂一二三| 精品对白一区国产伦| 欧美色倩网站大全免费| 成人18精品视频| 激情五月激情综合网| 婷婷夜色潮精品综合在线| 中文字幕亚洲在| 久久久99久久精品欧美| 日韩一区二区视频| 欧美日韩一区不卡| 91行情网站电视在线观看高清版| 国产成人自拍高清视频在线免费播放| 日韩激情一二三区| 亚洲国产欧美在线| 亚洲天堂av一区| 亚洲国产成人在线| 久久精品视频免费| 亚洲精品在线免费播放| 日韩午夜中文字幕| 在线不卡免费欧美| 欧美日韩国产综合视频在线观看 | 久久久亚洲午夜电影| 欧美电视剧免费观看| 3d成人动漫网站| 欧美高清视频www夜色资源网| 欧洲色大大久久| 日本精品一区二区三区高清| 99精品久久99久久久久|