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

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

?? lpc.c

?? itu-t g.729的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    t0   = L_Comp(Ah[i], Al[i]);
    old_A[i] = A[i] = round(L_shl(t0, 1));
  }
  old_rc[0] = rc[0];
  old_rc[1] = rc[1];

  return;
}




/*-------------------------------------------------------------*
 *  procedure Az_lsp:                                          *
 *            ~~~~~~                                           *
 *   Compute the LSPs from  the LPC coefficients  (order=10)   *
 *-------------------------------------------------------------*/

/* local function */

static Word16 Chebps_11(Word16 x, Word16 f[], Word16 n);
static Word16 Chebps_10(Word16 x, Word16 f[], Word16 n);

void Az_lsp(
  Word16 a[],        /* (i) Q12 : predictor coefficients              */
  Word16 lsp[],      /* (o) Q15 : line spectral pairs                 */
  Word16 old_lsp[]   /* (i)     : old lsp[] (in case not found 10 roots) */
)
{
 Word16 i, j, nf, ip;
 Word16 xlow, ylow, xhigh, yhigh, xmid, ymid, xint;
 Word16 x, y, sign, exp;
 Word16 *coef;
 Word16 f1[M/2+1], f2[M/2+1];
 Word32 t0, L_temp;
 Flag   ovf_coef;
 Word16 (*pChebps)(Word16 x, Word16 f[], Word16 n);

/*-------------------------------------------------------------*
 *  find the sum and diff. pol. F1(z) and F2(z)                *
 *    F1(z) <--- F1(z)/(1+z**-1) & F2(z) <--- F2(z)/(1-z**-1)  *
 *                                                             *
 * f1[0] = 1.0;                                                *
 * f2[0] = 1.0;                                                *
 *                                                             *
 * for (i = 0; i< NC; i++)                                     *
 * {                                                           *
 *   f1[i+1] = a[i+1] + a[M-i] - f1[i] ;                       *
 *   f2[i+1] = a[i+1] - a[M-i] + f2[i] ;                       *
 * }                                                           *
 *-------------------------------------------------------------*/

 ovf_coef = 0;
 pChebps = Chebps_11;

 f1[0] = 2048;          /* f1[0] = 1.0 is in Q11 */
 f2[0] = 2048;          /* f2[0] = 1.0 is in Q11 */

 for (i = 0; i< NC; i++)
 {
   Overflow = 0;
   t0 = L_mult(a[i+1], 16384);          /* x = (a[i+1] + a[M-i]) >> 1        */
   t0 = L_mac(t0, a[M-i], 16384);       /*    -> From Q12 to Q11             */
   x  = extract_h(t0);
   if ( Overflow ) {
     ovf_coef = 1;      }

   Overflow = 0;
   f1[i+1] = sub(x, f1[i]);    /* f1[i+1] = a[i+1] + a[M-i] - f1[i] */
   if ( Overflow ) {
     ovf_coef = 1;      }

   Overflow = 0;
   t0 = L_mult(a[i+1], 16384);          /* x = (a[i+1] - a[M-i]) >> 1        */
   t0 = L_msu(t0, a[M-i], 16384);       /*    -> From Q12 to Q11             */
   x  = extract_h(t0);
   if ( Overflow ) {
     ovf_coef = 1;      }

   Overflow = 0;
   f2[i+1] = add(x, f2[i]);    /* f2[i+1] = a[i+1] - a[M-i] + f2[i] */
   if ( Overflow ) {
     ovf_coef = 1;      }
 }

 if ( ovf_coef ) {
   /*printf("===== OVF ovf_coef =====\n");*/

   pChebps = Chebps_10;

   f1[0] = 1024;          /* f1[0] = 1.0 is in Q10 */
   f2[0] = 1024;          /* f2[0] = 1.0 is in Q10 */

   for (i = 0; i< NC; i++)
   {
     t0 = L_mult(a[i+1], 8192);          /* x = (a[i+1] + a[M-i]) >> 1        */
     t0 = L_mac(t0, a[M-i], 8192);       /*    -> From Q11 to Q10             */
     x  = extract_h(t0);
     f1[i+1] = sub(x, f1[i]);    /* f1[i+1] = a[i+1] + a[M-i] - f1[i] */

     t0 = L_mult(a[i+1], 8192);          /* x = (a[i+1] - a[M-i]) >> 1        */
     t0 = L_msu(t0, a[M-i], 8192);       /*    -> From Q11 to Q10             */
     x  = extract_h(t0);
     f2[i+1] = add(x, f2[i]);    /* f2[i+1] = a[i+1] - a[M-i] + f2[i] */
   }
 }

/*-------------------------------------------------------------*
 * find the LSPs using the Chebichev pol. evaluation           *
 *-------------------------------------------------------------*/

 nf=0;          /* number of found frequencies */
 ip=0;          /* indicator for f1 or f2      */

 coef = f1;

 xlow = grid[0];
 ylow = (*pChebps)(xlow, coef, NC);

 j = 0;
 while ( (nf < M) && (j < GRID_POINTS) )
 {
   j =add(j,1);
   xhigh = xlow;
   yhigh = ylow;
   xlow  = grid[j];
   ylow  = (*pChebps)(xlow,coef,NC);

   L_temp = L_mult(ylow ,yhigh);
   if ( L_temp <= (Word32)0)
   {

     /* divide 4 times the interval */

     for (i = 0; i < 4; i++)
     {
       xmid = add( shr(xlow, 1) , shr(xhigh, 1)); /* xmid = (xlow + xhigh)/2 */

       ymid = (*pChebps)(xmid,coef,NC);

       L_temp = L_mult(ylow,ymid);
       if ( L_temp <= (Word32)0)
       {
         yhigh = ymid;
         xhigh = xmid;
       }
       else
       {
         ylow = ymid;
         xlow = xmid;
       }
     }

    /*-------------------------------------------------------------*
     * Linear interpolation                                        *
     *    xint = xlow - ylow*(xhigh-xlow)/(yhigh-ylow);            *
     *-------------------------------------------------------------*/

     x   = sub(xhigh, xlow);
     y   = sub(yhigh, ylow);

     if(y == 0)
     {
       xint = xlow;
     }
     else
     {
       sign= y;
       y   = abs_s(y);
       exp = norm_s(y);
       y   = shl(y, exp);
       y   = div_s( (Word16)16383, y);
       t0  = L_mult(x, y);
       t0  = L_shr(t0, sub(20, exp) );
       y   = extract_l(t0);            /* y= (xhigh-xlow)/(yhigh-ylow) in Q11 */

       if(sign < 0) y = negate(y);

       t0   = L_mult(ylow, y);                  /* result in Q26 */
       t0   = L_shr(t0, 11);                    /* result in Q15 */
       xint = sub(xlow, extract_l(t0));         /* xint = xlow - ylow*y */
     }

     lsp[nf] = xint;
     xlow    = xint;
     nf =add(nf,1);

     if(ip == 0)
     {
       ip = 1;
       coef = f2;
     }
     else
     {
       ip = 0;
       coef = f1;
     }
     ylow = (*pChebps)(xlow,coef,NC);

   }
 }

 /* Check if M roots found */

 if( sub(nf, M) < 0)
 {
    for(i=0; i<M; i++)
    {
      lsp[i] = old_lsp[i];
    }

 /* printf("\n !!Not 10 roots found in Az_lsp()!!!\n"); */
 }

 return;
}

/*--------------------------------------------------------------*
 * function  Chebps_11, Chebps_10:                              *
 *           ~~~~~~~~~~~~~~~~~~~~                               *
 *    Evaluates the Chebichev polynomial series                 *
 *--------------------------------------------------------------*
 *                                                              *
 *  The polynomial order is                                     *
 *     n = M/2   (M is the prediction order)                    *
 *  The polynomial is given by                                  *
 *    C(x) = T_n(x) + f(1)T_n-1(x) + ... +f(n-1)T_1(x) + f(n)/2 *
 * Arguments:                                                   *
 *  x:     input value of evaluation; x = cos(frequency) in Q15 *
 *  f[]:   coefficients of the pol.                             *
 *                         in Q11(Chebps_11), in Q10(Chebps_10) *
 *  n:     order of the pol.                                    *
 *                                                              *
 * The value of C(x) is returned. (Saturated to +-1.99 in Q14)  *
 *                                                              *
 *--------------------------------------------------------------*/
static Word16 Chebps_11(Word16 x, Word16 f[], Word16 n)
{
  Word16 i, cheb;
  Word16 b0_h, b0_l, b1_h, b1_l, b2_h, b2_l;
  Word32 t0;

 /* Note: All computation are done in Q24. */

  b2_h = 256;                    /* b2 = 1.0 in Q24 DPF */
  b2_l = 0;

  t0 = L_mult(x, 512);                  /* 2*x in Q24          */
  t0 = L_mac(t0, f[1], 4096);           /* + f[1] in Q24       */
  L_Extract(t0, &b1_h, &b1_l);          /* b1 = 2*x + f[1]     */

  for (i = 2; i<n; i++)
  {
    t0 = Mpy_32_16(b1_h, b1_l, x);      /* t0 = 2.0*x*b1              */
    t0 = L_shl(t0, 1);
    t0 = L_mac(t0,b2_h,(Word16)-32768L); /* t0 = 2.0*x*b1 - b2         */
    t0 = L_msu(t0, b2_l, 1);
    t0 = L_mac(t0, f[i], 4096);         /* t0 = 2.0*x*b1 - b2 + f[i]; */

    L_Extract(t0, &b0_h, &b0_l);        /* b0 = 2.0*x*b1 - b2 + f[i]; */

    b2_l = b1_l;                 /* b2 = b1; */
    b2_h = b1_h;
    b1_l = b0_l;                 /* b1 = b0; */
    b1_h = b0_h;
  }

  t0 = Mpy_32_16(b1_h, b1_l, x);        /* t0 = x*b1;              */
  t0 = L_mac(t0, b2_h,(Word16)-32768L);  /* t0 = x*b1 - b2          */
  t0 = L_msu(t0, b2_l, 1);
  t0 = L_mac(t0, f[i], 2048);           /* t0 = x*b1 - b2 + f[i]/2 */

  t0 = L_shl(t0, 6);                    /* Q24 to Q30 with saturation */
  cheb = extract_h(t0);                 /* Result in Q14              */


  return(cheb);
}


static Word16 Chebps_10(Word16 x, Word16 f[], Word16 n)
{
  Word16 i, cheb;
  Word16 b0_h, b0_l, b1_h, b1_l, b2_h, b2_l;
  Word32 t0;

 /* Note: All computation are done in Q23. */

  b2_h = 128;                    /* b2 = 1.0 in Q23 DPF */
  b2_l = 0;

  t0 = L_mult(x, 256);                  /* 2*x in Q23          */
  t0 = L_mac(t0, f[1], 4096);           /* + f[1] in Q23       */
  L_Extract(t0, &b1_h, &b1_l);          /* b1 = 2*x + f[1]     */

  for (i = 2; i<n; i++)
  {
    t0 = Mpy_32_16(b1_h, b1_l, x);      /* t0 = 2.0*x*b1              */
    t0 = L_shl(t0, 1);
    t0 = L_mac(t0,b2_h,(Word16)-32768L); /* t0 = 2.0*x*b1 - b2         */
    t0 = L_msu(t0, b2_l, 1);
    t0 = L_mac(t0, f[i], 4096);         /* t0 = 2.0*x*b1 - b2 + f[i]; */

    L_Extract(t0, &b0_h, &b0_l);        /* b0 = 2.0*x*b1 - b2 + f[i]; */

    b2_l = b1_l;                 /* b2 = b1; */
    b2_h = b1_h;
    b1_l = b0_l;                 /* b1 = b0; */
    b1_h = b0_h;
  }

  t0 = Mpy_32_16(b1_h, b1_l, x);        /* t0 = x*b1;              */
  t0 = L_mac(t0, b2_h,(Word16)-32768L);  /* t0 = x*b1 - b2          */
  t0 = L_msu(t0, b2_l, 1);
  t0 = L_mac(t0, f[i], 2048);           /* t0 = x*b1 - b2 + f[i]/2 */

  t0 = L_shl(t0, 7);                    /* Q23 to Q30 with saturation */
  cheb = extract_h(t0);                 /* Result in Q14              */


  return(cheb);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩国产综合| 成人深夜视频在线观看| 欧美日韩国产经典色站一区二区三区| 国产精品久久久久久久久快鸭| 久久成人免费日本黄色| 91小视频免费看| 国产三级精品视频| 在线这里只有精品| 亚洲妇女屁股眼交7| 亚洲国产视频网站| 亚洲成人一区在线| 亚洲国产经典视频| 欧美特级限制片免费在线观看| 色老汉av一区二区三区| 91丨porny丨蝌蚪视频| 色天使色偷偷av一区二区| 亚洲精品一区二区三区福利| 国产91色综合久久免费分享| 亚洲人成精品久久久久| 欧美精品亚洲二区| 日本乱码高清不卡字幕| 国产精品自在在线| 久久国产精品99精品国产| 一区二区三区四区精品在线视频| 精品国产一区二区三区四区四| 国产精品99久久久久| 久久国产精品99久久人人澡| 亚洲一区av在线| 亚洲高清视频中文字幕| 一区二区久久久| 亚洲国产一区在线观看| 一区二区三区不卡在线观看| 亚洲色图另类专区| 亚洲国产美女搞黄色| 亚洲国产中文字幕| 成人黄页在线观看| 91亚洲精华国产精华精华液| 69堂精品视频| 国产一区不卡视频| 欧美激情中文不卡| 风间由美一区二区三区在线观看| 日韩一区在线免费观看| 欧美天堂亚洲电影院在线播放| 色综合一个色综合| 欧美少妇xxx| 精品国产一区二区亚洲人成毛片| 91 com成人网| 中文字幕一区三区| 亚洲成人激情社区| 国产成人在线免费| 在线一区二区三区四区五区| 日韩欧美在线一区二区三区| 国产夜色精品一区二区av| 一区二区欧美国产| 精品影院一区二区久久久| 97精品视频在线观看自产线路二| 色婷婷激情一区二区三区| 久久精品一区二区三区不卡牛牛| 亚洲女性喷水在线观看一区| 美日韩一区二区三区| 日本韩国精品在线| 国产精品女主播av| 老司机精品视频线观看86 | 亚洲一区二区在线视频| 国产乱人伦偷精品视频不卡| 欧美卡1卡2卡| 亚洲第一综合色| 在线观看亚洲一区| 自拍视频在线观看一区二区| 国产精品1024| 国产精品伦一区二区三级视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美性欧美巨大黑白大战| 成人免费一区二区三区视频| 99国内精品久久| 一区二区三区在线视频播放| 成人av网站免费| 亚洲人成人一区二区在线观看| 成人动漫一区二区三区| 最新欧美精品一区二区三区| 91丨九色丨国产丨porny| 亚洲免费大片在线观看| 色综合咪咪久久| 亚洲高清在线精品| 日韩女优电影在线观看| 成人免费观看av| 亚洲免费资源在线播放| 欧美喷潮久久久xxxxx| 麻豆精品蜜桃视频网站| 中文字幕乱码久久午夜不卡| 91黄色在线观看| 麻豆免费看一区二区三区| 久久久99久久| 欧美无砖砖区免费| 国产在线精品一区二区| 亚洲第一av色| 国产精品毛片a∨一区二区三区| 欧美在线观看视频一区二区| 久久66热re国产| 亚洲成人7777| 亚洲免费高清视频在线| 欧美一区二区免费视频| 色综合中文字幕国产 | 国产麻豆午夜三级精品| 久久久精品免费观看| 欧美精品v日韩精品v韩国精品v| 日韩亚洲欧美在线| 麻豆91免费看| 久久久久久久电影| 日本午夜精品一区二区三区电影| 成人av网站大全| 国产午夜精品久久| 国产福利一区在线| 国产亚洲欧美激情| 国产91丝袜在线观看| 日韩一区二区三区免费看| ...中文天堂在线一区| 国产高清不卡一区二区| 欧美videos中文字幕| 天天av天天翘天天综合网色鬼国产| 成人激情校园春色| 国产精品看片你懂得| 韩国成人精品a∨在线观看| 日韩免费视频一区二区| 国产综合久久久久久鬼色| 91精品欧美久久久久久动漫| 中文一区一区三区高中清不卡| 黄色日韩网站视频| ㊣最新国产の精品bt伙计久久| 色一区在线观看| 九一久久久久久| 1024成人网色www| 欧美一区二区三区视频免费播放 | 国产精品中文字幕一区二区三区| 欧美性猛交xxxx乱大交退制版| 经典一区二区三区| 国产精品理论片| 欧美三级日韩三级| 午夜精品免费在线| 久久久高清一区二区三区| 91在线精品一区二区三区| 亚洲国产视频直播| 久久人人97超碰com| 99精品偷自拍| 国内外精品视频| 亚洲亚洲人成综合网络| √…a在线天堂一区| 综合久久久久久久| 日韩伦理免费电影| 一区二区三区国产| 午夜精品123| 三级影片在线观看欧美日韩一区二区| 精品毛片乱码1区2区3区| 91电影在线观看| eeuss影院一区二区三区| 国产1区2区3区精品美女| 日韩不卡免费视频| 日韩精品亚洲专区| 亚欧色一区w666天堂| 亚洲成人一区二区在线观看| 亚洲国产一区视频| 亚洲成人福利片| 亚洲高清中文字幕| 亚洲观看高清完整版在线观看| 亚洲免费电影在线| 午夜av一区二区三区| 欧美一区二区三区色| 678五月天丁香亚洲综合网| 成人理论电影网| 在线电影一区二区三区| 日本韩国一区二区| 99re8在线精品视频免费播放| 欧美在线影院一区二区| 欧美一级高清片在线观看| 国产午夜亚洲精品理论片色戒 | 亚洲h动漫在线| 亚洲男女一区二区三区| 亚洲成国产人片在线观看| 欧美日本在线视频| 六月丁香婷婷久久| 一区二区三区高清在线| 精品久久一区二区三区| 色老汉av一区二区三区| 捆绑紧缚一区二区三区视频| 亚洲麻豆国产自偷在线| 2019国产精品| 日韩三级.com| 日韩精品中文字幕一区二区三区 | 色视频一区二区| 99久久精品国产导航| 国产精品影视在线| 久久国产三级精品| 秋霞av亚洲一区二区三| 成人免费在线播放视频| 国产精品欧美一区二区三区| 久久综合成人精品亚洲另类欧美| 91精品在线一区二区| 欧美精品vⅰdeose4hd| 欧美午夜不卡在线观看免费| 色婷婷综合久久久久中文一区二区|