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

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

?? att_pc2lsf.c

?? 網(wǎng)絡MPEG4IP流媒體開發(fā)源代碼
?? C
字號:
/*This software module was originally developed byP. Kabal (McGill University)Peter Kroon (Bell Laboratories, Lucent Technologies)in the course of development of the MPEG-2 NBC/MPEG-4 Audio standardISO/IEC 13818-7, 14496-1,2 and 3. This software module is animplementation of a part of one or more MPEG-2 NBC/MPEG-4 Audio toolsas specified by the MPEG-2 NBC/MPEG-4 Audio standard. ISO/IEC givesusers of the MPEG-2 NBC/MPEG-4 Audio standards free license to thissoftware module or modifications thereof for use in hardware orsoftware products claiming conformance to the MPEG-2 NBC/ MPEG-4 Audiostandards. Those intending to use this software module in hardware orsoftware products are advised that this use may infringe existingpatents. The original developer of this software module and his/hercompany, the subsequent editors and their companies, and ISO/IEC haveno liability for use of this software module or modifications thereofin an implementation. Copyright is not released for non MPEG-2NBC/MPEG-4 Audio conforming products. The original developer retainsfull right to use the code for his/her own purpose, assign or donatethe code to a third party and to inhibit third party from using thecode for non MPEG-2 NBC/MPEG-4 Audio conforming products. Thiscopyright notice must be included in all copies or derivative works.Copyright (c) 1996. *//**---------------------------------------------------------------------------- Telecommunications & Signal Processing Lab --------------- *                            McGill University * Author / revision: *  P. Kabal *  $Revision$  $Date$ *  Revised for speechlib library 8/15/94 */#include <math.h>#include <stdio.h>#include "att_proto.h"#define MAXORDER 20#ifndef PI#define PI 3.1415927#endif#define	NBIS		4		/* number of bisections */#define	DW		(0.01 * PI)	/* resolution for initial search *//*---------------------------------------------------------------------------- * pc2lsf -  Convert predictor coefficients to line spectral frequencies * * Description: *  The transfer function of the prediction error filter is formed from the *  predictor coefficients.  This polynomial is transformed into two reciprocal *  polynomials having roots on the unit circle. The roots of these polynomials *  interlace.  It is these roots that determine the line spectral frequencies. *  The two reciprocal polynomials are expressed as series expansions in *  Chebyshev polynomials with roots in the range -1 to +1.  The inverse cosine *  of the roots of the Chebyshev polynomial expansion gives the line spectral *  frequencies.  If np line spectral frequencies are not found, this routine *  stops with an error message.  This error occurs if the input coefficients *  do not give a prediction error filter with minimum phase. * *  Line spectral frequencies and predictor coefficients are usually expressed *  algebraically as vectors. *    lsf[0]     first (lowest frequency) line spectral frequency *    lsf[i]     1 <= i < np *    pc[0]=1.0  predictor coefficient corresponding to lag 0 *    pc[i]      1 <= 1 <= np * * Parameters: *  ->  float pc[] *      Vector of predictor coefficients (Np+1 values).  These are the  *      coefficients of the predictor filter, with pc[0] being the predictor  *      coefficient corresponding to lag 0, and pc[Np] corresponding to lag Np. *      The predictor coeffs. must correspond to a minimum phase prediction *      error filter. *  <-  float lsf[] *      Array of Np line spectral frequencies (in ascending order).  Each line *      spectral frequency lies in the range 0 to pi. *  ->  long Np *      Number of coefficients (at most MAXORDER = 50) *---------------------------------------------------------------------------- */long pc2lsf(		/* ret 1 on succ, 0 on failure */float lsf[],		/* output: the np line spectral freq. */const float pc[],	/* input : the np+1 predictor coeff. */long np			/* input : order = # of freq to cal. */){  float fa[(MAXORDER+1)/2+1], fb[(MAXORDER+1)/2+1];  float ta[(MAXORDER+1)/2+1], tb[(MAXORDER+1)/2+1];  float *t;  float xlow, xmid, xhigh;  float ylow, ymid, yhigh;  float xroot;  float dx;  long i, j, nf;  long odd;  long na, nb, n;  float ss, aa;  testbound(np, MAXORDER, "pc2lsf.c");/* Determine the number of coefficients in ta(.) and tb(.) */  odd = (np % 2 != 0);  if (odd) {    nb = (np + 1) / 2;    na = nb + 1;  }  else {    nb = np / 2 + 1;    na = nb;  }/**   Let D=z**(-1), the unit delay; the predictor coefficients form the**             N         n *     P(D) = SUM pc[n] D  .   ( pc[0] = 1.0 )*            n=0**   error filter polynomial, A(D)=P(D) with N+1 terms.  Two auxiliary*   polynomials are formed from the error filter polynomial,*     Fa(D) = A(D) + D**(N+1) A(D**(-1))  (N+2 terms, symmetric)*     Fb(D) = A(D) - D**(N+1) A(D**(-1))  (N+2 terms, anti-symmetric)*/  fa[0] = 1.0;  for (i = 1, j = np; i < na; ++i, --j)    fa[i] = pc[i] + pc[j];  fb[0] = 1.0;  for (i = 1, j = np; i < nb; ++i, --j)    fb[i] = pc[i] - pc[j];/** N even,  Fa(D)  includes a factor 1+D,*          Fb(D)  includes a factor 1-D* N odd,   Fb(D)  includes a factor 1-D**2* Divide out these factors, leaving even order symmetric polynomials, M is the* total number of terms and Nc is the number of unique terms,**   N       polynomial            M         Nc=(M+1)/2* even,  Ga(D) = F1(D)/(1+D)     N+1          N/2+1*        Gb(D) = F2(D)/(1-D)     N+1          N/2+1* odd,   Ga(D) = F1(D)           N+2        (N+1)/2+1*        Gb(D) = F2(D)/(1-D**2)   N          (N+1)/2*/  if (odd) {    for (i = 2; i < nb; ++i)      fb[i] = fb[i] + fb[i-2];  }  else {    for (i = 1; i < na; ++i) {      fa[i] = fa[i] - fa[i-1];      fb[i] = fb[i] + fb[i-1];    }  }/**   To look for roots on the unit circle, Ga(D) and Gb(D) are evaluated for*   D=exp(jw).  Since Gz(D) and Gb(D) are symmetric, they can be expressed in*   terms of a series in cos(nw) for D on the unit circle.  Since M is odd and*   D=exp(jw)**           M-1        n *   Ga(D) = SUM fa(n) D             (symmetric, fa(n) = fa(M-1-n))*           n=0*                                    Mh-1*         = exp(j Mh w) [ f1(Mh) + 2 SUM fa(n) cos((Mh-n)w) ]*                                    n=0*                       Mh*         = exp(j Mh w) SUM ta(n) cos(nw) ,*                       n=0**   where Mh=(M-1)/2=Nc-1.  The Nc=Mh+1 coefficients ta(n) are defined as**   ta(n) =   fa(Nc-1) ,    n=0,*         = 2 fa(Nc-1-n) ,  n=1,...,Nc-1.*   The next step is to identify cos(nw) with the Chebyshev polynomial T(n,x).*   The Chebyshev polynomials satisfy the relationship T(n,cos(w)) = cos(nw).*   Omitting the exponential delay term, the series expansion in terms of*   Chebyshev polynomials is**           Nc-1*   Ta(x) = SUM ta(n) T(n,x)*           n=0**   The domain of Ta(x) is -1 < x < +1.  For a given root of Ta(x), say x0,*   the corresponding position of the root of Fa(D) on the unit circle is*   exp(j arccos(x0)).*/  ta[0] = fa[na-1];  for (i = 1, j = na - 2; i < na; ++i, --j)    ta[i] = 2.0 * fa[j];  tb[0] = fb[nb-1];  for (i = 1, j = nb - 2; i < nb; ++i, --j)    tb[i] = 2.0 * fb[j];/**   To find the roots, we sample the polynomials Ta(x) and Tb(x) looking for*   sign changes.  An interval containing a root is successively bisected to*   narrow the interval and then linear interpolation is used to estimate the*   root.  For a given root at x0, the line spectral frequency is w0=acos(x0).**   Since the roots of the two polynomials interlace, the search for roots*   alternates between the polynomials Ta(x) and Tb(x).  The sampling interval*   must be small enough to avoid having two cancelling sign changes in the*   same interval.  Consider specifying the resolution in the LSF domain.  For*   an interval [xl, xh], the corresponding interval in frequency is [w1, w2],*   with xh=cos(w1) and xl=cos(w2) (note the reversal in order).  Let dw=w2-w1,*     dx = xh-xl = xh [1-cos(dw)] + sqrt(1-xh*xh) sin(dw).*   However, the calculation of the square root is overly time-consuming.  If*   instead, we use equal steps in the x-domain, the resolution in the LSF*   domain is best at at pi/2 and worst at 0 and pi.  As a compromise we fit a*   quadratic to the step size relationship.  At x=1, dx=(1-cos(dw); at x=0,*   dx=sin(dw).  Then the approximation is*     dx' = (a(1-cos(dw))-sin(dw)) x**2 + sin(dw)).*   For a=1, this value underestimates the step size in the range of interest.*   However, the step size for just below x=1 and just above x=-1 fall well*   below the desired step sizes.  To compensate for this, we use a=4.  Then at*   x=+1 and x=-1, the step sizes are too large by a factor of 4, but rapidly*   fall to about 60% of the desired values and then rise slowly to become *   equal to the desired step size at x=0.*/  nf = 0;  t = ta;  n = na;  xroot = 2.0;  xlow = 1.0;  ylow = FNevChebP(xlow, t, n);/**   Define the step-size function parameters*   The resolution in the LSF domain is at least DW/2**NBIS, not counting the*   increase in resolution due to the linear interpolation step.  For*   DW=0.02*Pi, and NBIS=4, and a sampling frequency of 8000, this corresponds*   to 5 Hz.*/  ss = sin (DW);  aa = 4.0 - 4.0 * cos (DW)  - ss;/* Root search loop */  while (xlow > -1.0 && nf < np) {    /* New trial point */    xhigh = xlow;    yhigh = ylow;    dx = aa * xhigh * xhigh + ss;    xlow = xhigh - dx;    if (xlow < -1.0)      xlow = -1.0;    ylow = FNevChebP(xlow, t, n);    if (ylow * yhigh <= 0.0) {    /* Bisections of the interval containing a sign change */      dx = xhigh - xlow;      for (i = 1; i <= NBIS; ++i) {	dx = 0.5 * dx;	xmid = xlow + dx;	ymid = FNevChebP(xmid, t, n);	if (ylow * ymid <= 0.0) {	  yhigh = ymid;	  xhigh = xmid;	}	else {	  ylow = ymid;	  xlow = xmid;	}      }      /*       * Linear interpolation in the subinterval with a sign change       * (take care if yhigh=ylow=0)       */      if (yhigh != ylow)	xmid = xlow + dx * ylow / (ylow - yhigh);      else	xmid = xlow + dx;      /* New root position */      lsf[nf] = acos((double) xmid);      ++nf;      /* Start the search for the roots of the next polynomial at the estimated       * location of the root just found.  We have to catch the case that the       * two polynomials have roots at the same place to avoid getting stuck at       * that root.       */      if (xmid >= xroot) {	xmid = xlow - dx;      }      xroot = xmid;      if (t == ta) {	t = tb;	n = nb;      }      else {	t = ta;	n = na;      }      xlow = xmid;      ylow = FNevChebP(xlow, t, n);    }  }/* Error if np roots have not been found */  if (nf != np) {    printf("\nWARNING: pc2lsf failed to find all lsf nf=%ld np=%ld\n", nf, np);    return(0);  }  return(1);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一卡二卡欧美日韩| 久久精品视频免费| 99久久久国产精品免费蜜臀| 国产成人精品一区二| 久久成人综合网| 老汉av免费一区二区三区| 视频在线观看国产精品| 石原莉奈在线亚洲二区| 首页国产欧美日韩丝袜| 精品一区二区三区欧美| 国产在线视频一区二区三区| 国产一二三精品| 成人午夜视频在线| 91一区二区在线| 欧美日韩久久一区| 91精品国产综合久久久蜜臀粉嫩| 欧美一级高清大全免费观看| 日韩午夜激情视频| 国产日韩在线不卡| 亚洲伦在线观看| 日韩中文字幕一区二区三区| 久国产精品韩国三级视频| 国产精品 日产精品 欧美精品| 波多野结衣一区二区三区| 日本二三区不卡| 欧美一级免费大片| 久久久夜色精品亚洲| 亚洲另类在线制服丝袜| 肉色丝袜一区二区| 国产传媒一区在线| 欧美这里有精品| 26uuu精品一区二区三区四区在线| 国产精品美女久久久久久久久久久 | 国产欧美一区二区精品秋霞影院| 国产精品乱子久久久久| 亚洲国产一二三| 国内精品伊人久久久久av一坑 | 亚洲欧美一区二区在线观看| 天天操天天色综合| 国产成人精品免费视频网站| 欧美探花视频资源| 国产精品拍天天在线| 天堂一区二区在线| 不卡大黄网站免费看| 777奇米成人网| 亚洲天堂免费在线观看视频| 九九**精品视频免费播放| 在线免费观看日本欧美| 国产女人18毛片水真多成人如厕 | 欧美一区二区三区四区视频 | 91精品国产免费久久综合| 国产精品乱码一区二区三区软件 | 欧洲色大大久久| 国产欧美日韩精品a在线观看| 亚洲第一精品在线| 91影院在线免费观看| 久久精品人人爽人人爽| 欧美a级理论片| 欧美少妇性性性| 亚洲免费三区一区二区| 国产成人免费视频网站| 26uuu久久综合| 精品一区二区三区免费播放| 91精品欧美福利在线观看| 亚洲国产成人精品视频| 91麻豆蜜桃一区二区三区| 国产日韩欧美高清| 国产一区二区精品久久99| 欧美电影免费提供在线观看| 日本三级韩国三级欧美三级| 欧美一卡2卡三卡4卡5免费| 午夜日韩在线观看| 欧美日韩小视频| 午夜精品久久一牛影视| 欧美视频三区在线播放| 一区2区3区在线看| 欧美性感一区二区三区| 亚洲第一福利视频在线| 欧美亚日韩国产aⅴ精品中极品| 亚洲激情欧美激情| 欧美影片第一页| 天天综合天天做天天综合| 欧美一区二区三区视频在线| 美国三级日本三级久久99| 日韩一区二区三区免费看| 免费一区二区视频| 欧美精品一区二区三区四区 | 欧美精品日日鲁夜夜添| 日韩激情中文字幕| 欧美成va人片在线观看| 国产一区在线精品| 国产欧美视频一区二区三区| aaa亚洲精品一二三区| 中文字幕中文字幕一区| 日本道精品一区二区三区 | 欧美大肚乱孕交hd孕妇| 九九精品一区二区| 色综合天天综合在线视频| 亚洲精品伦理在线| 欧美人牲a欧美精品| 免费看日韩a级影片| 久久久一区二区三区捆绑**| 91在线看国产| 视频一区国产视频| 久久影音资源网| 成人激情开心网| 亚洲午夜私人影院| 日韩欧美一级二级三级久久久| 国产精品亚洲а∨天堂免在线| 国产精品久久久久影院老司| 欧美日韩一区二区三区四区| 另类小说图片综合网| 国产精品高潮久久久久无| 精品视频在线免费| 国产一区二区三区四区五区入口| 一区免费观看视频| 日韩欧美在线一区二区三区| av不卡在线观看| 精品在线观看视频| 尤物在线观看一区| 久久久久久久性| 欧美欧美欧美欧美| 99视频精品在线| 激情六月婷婷久久| 亚洲成av人片在线观看| 国产精品三级电影| 精品国产一区二区三区av性色| 在线视频综合导航| 成人在线视频一区二区| 日韩av不卡一区二区| 亚洲欧美国产三级| 中文在线一区二区| 欧美成人一区二区三区在线观看| 91福利国产精品| 成年人网站91| 国产精品亚洲午夜一区二区三区| 日韩高清不卡在线| 一二三四社区欧美黄| 中文字幕一区二区三区乱码在线| 久久午夜色播影院免费高清| 欧美一卡二卡三卡四卡| 欧美嫩在线观看| 欧美日韩中字一区| 91黄色免费看| 欧洲精品中文字幕| 97久久人人超碰| jizzjizzjizz欧美| 成人黄色大片在线观看| 国产乱人伦精品一区二区在线观看| 日韩成人精品在线| 日韩一区精品字幕| 水野朝阳av一区二区三区| 亚洲国产成人av网| 亚洲国产精品一区二区久久恐怖片| 亚洲精品视频在线观看网站| 中文字幕一区av| 亚洲欧美另类综合偷拍| 亚洲久本草在线中文字幕| 亚洲欧美日韩在线播放| 1区2区3区欧美| 伊人一区二区三区| 久久综合色之久久综合| 精品国产一区久久| 国产精品视频你懂的| 中文字幕亚洲区| 亚洲国产一区二区视频| 日本视频一区二区| 国产乱码精品一区二区三区忘忧草 | 国产福利一区二区三区视频 | 免费精品视频最新在线| 麻豆国产精品一区二区三区| 欧美a级一区二区| 国产经典欧美精品| 色综合久久六月婷婷中文字幕| 在线观看区一区二| 日韩欧美不卡一区| 国产精品人成在线观看免费| 亚洲综合在线观看视频| 蜜桃91丨九色丨蝌蚪91桃色| 国产成人在线免费观看| 色综合久久99| 日韩三级精品电影久久久| 国产欧美日产一区| 午夜久久电影网| 精品一二三四区| 97久久精品人人爽人人爽蜜臀 | 久久蜜桃av一区二区天堂| 国产精品不卡一区| 美女性感视频久久| caoporn国产一区二区| 日韩一级片网站| 亚洲天堂精品视频| 久久精品国产亚洲aⅴ | 亚洲欧美激情一区二区| 久久99最新地址| 欧美自拍丝袜亚洲| 国产三级一区二区| 天堂久久一区二区三区| 暴力调教一区二区三区| 精品国产制服丝袜高跟|