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

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

?? lpc.c

?? G.729 coder and decoder, ANSI C, for windows, unix, DSP, etc.
?? 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丨porny丨最新| 国产精品一卡二卡在线观看| 亚洲一区二区三区小说| 亚洲日本免费电影| 亚洲欧美日韩电影| 一区二区三区中文在线观看| 国产精品伦一区二区三级视频| 久久久久久久久久久久久久久99 | 欧美网站大全在线观看| 99精品偷自拍| 色婷婷综合久久久中文一区二区 | 91精品国产综合久久精品性色| 在线看国产一区| 欧美日韩午夜精品| 日韩天堂在线观看| 精品粉嫩超白一线天av| 久久精品这里都是精品| 久久先锋影音av| 中文字幕乱码日本亚洲一区二区| 中文字幕 久热精品 视频在线| 国产精品人人做人人爽人人添| 中文字幕在线观看一区二区| 自拍偷拍亚洲激情| 亚洲福利国产精品| 国产一区二区三区精品视频| 国产91精品精华液一区二区三区| 不卡视频一二三| 欧美日韩精品一区二区三区蜜桃 | 免费成人小视频| 国产成人精品一区二区三区四区| 不卡一区二区中文字幕| 欧美揉bbbbb揉bbbbb| 精品福利av导航| 亚洲欧美国产77777| 视频一区二区三区在线| 国产精品1区2区3区在线观看| 不卡影院免费观看| 制服丝袜av成人在线看| 国产欧美一区二区精品久导航| 亚洲色图在线播放| 久久精品国产一区二区三区免费看| 国产乱码精品一区二区三| 欧洲人成人精品| 久久日韩精品一区二区五区| 亚洲欧美日韩国产成人精品影院| 麻豆精品国产传媒mv男同| 99久久久免费精品国产一区二区| 制服视频三区第一页精品| 中文字幕亚洲成人| 国产在线不卡视频| 欧美日韩免费电影| 国产精品亲子乱子伦xxxx裸| 日本va欧美va瓶| 色婷婷综合视频在线观看| 久久久久88色偷偷免费| 亚洲高清不卡在线| 色婷婷综合久久久中文一区二区| 欧美电影免费观看高清完整版在线观看| 亚洲美女屁股眼交3| 国产精品一卡二| 欧美v日韩v国产v| 调教+趴+乳夹+国产+精品| 91亚洲午夜精品久久久久久| 欧美精品一区二| 免费看黄色91| 欧美人体做爰大胆视频| 亚洲精品亚洲人成人网| 成人性色生活片免费看爆迷你毛片| 91精品国产丝袜白色高跟鞋| 亚洲图片有声小说| 欧美日韩你懂的| 亚洲成av人片一区二区| 在线一区二区三区四区五区| 中文字幕一区二区5566日韩| 成人动漫在线一区| 国产精品色婷婷| 丁香激情综合国产| 欧美激情中文字幕| 成人自拍视频在线观看| 国产欧美日韩在线看| 国产成人免费视频网站| 久久亚洲二区三区| 高清beeg欧美| 国产精品初高中害羞小美女文| 高清免费成人av| 最新国产成人在线观看| 不卡视频一二三| 亚洲精品乱码久久久久久黑人 | 欧美午夜免费电影| 性久久久久久久久久久久| 欧美人牲a欧美精品| 美女视频黄免费的久久| 精品999在线播放| 懂色av中文一区二区三区 | 欧美精品aⅴ在线视频| 水野朝阳av一区二区三区| 日韩美女视频在线| 福利91精品一区二区三区| 国产精品精品国产色婷婷| 色婷婷久久综合| 日本在线播放一区二区三区| 26uuu国产在线精品一区二区| 国产成+人+日韩+欧美+亚洲| 1024国产精品| 制服丝袜中文字幕亚洲| 国产精品综合二区| 亚洲一区在线免费观看| 日韩欧美国产一区在线观看| a美女胸又www黄视频久久| 日韩av中文在线观看| 国产日产精品1区| 欧美高清精品3d| 成人午夜精品在线| 午夜不卡av免费| 国产精品欧美久久久久无广告| 欧美三级电影网| 成人精品国产一区二区4080| 香蕉加勒比综合久久| 久久久久久麻豆| 欧美日韩视频一区二区| av午夜一区麻豆| 国内久久精品视频| 亚洲777理论| 亚洲欧美日韩国产成人精品影院| 2017欧美狠狠色| 欧美一区二区三区爱爱| 色婷婷综合激情| 国产成人综合视频| 日韩精品电影在线观看| 久久久亚洲高清| 成人av片在线观看| 国模无码大尺度一区二区三区| 国产精品久久综合| 欧美三片在线视频观看| 蜜臀久久99精品久久久久宅男| 一区二区久久久| 精品三级在线观看| 在线欧美小视频| 国内国产精品久久| 亚洲国产视频一区二区| 久久久www免费人成精品| 丁香一区二区三区| 奇米一区二区三区av| 欧美精品一区二区高清在线观看| 欧美日韩精品高清| 成人国产精品免费观看| 日本欧美一区二区在线观看| 久久久精品免费观看| 欧美三级欧美一级| 欧美三级在线播放| 色综合中文字幕| 国产成人精品免费| 亚洲国产视频网站| 中文字幕在线不卡一区| 亚洲精品一区二区三区四区高清 | 欧美视频你懂的| 成人做爰69片免费看网站| 亚洲男人的天堂一区二区| 自拍偷自拍亚洲精品播放| 久久精品免视看| 制服视频三区第一页精品| 欧美日韩日日夜夜| 欧美一卡二卡三卡四卡| 91麻豆精品国产91| 欧美日本国产视频| 欧美日韩1234| 久久亚区不卡日本| 久久久五月婷婷| 精品国产区一区| 精品国产成人系列| 国产女同互慰高潮91漫画| 欧美一区二区三区人| 欧美精品在线观看播放| 欧美视频自拍偷拍| 成人av动漫网站| 欧美制服丝袜第一页| 国产成人福利片| 久久国产乱子精品免费女| 亚洲成人你懂的| 五月天一区二区三区| 亚洲一区二区三区在线播放| 亚洲精品国产成人久久av盗摄 | 蜜乳av一区二区三区| 天天色综合天天| 蜜臂av日日欢夜夜爽一区| 国产经典欧美精品| 成人天堂资源www在线| 99久久99精品久久久久久| 一本大道久久精品懂色aⅴ| 成人av在线影院| 成人av在线播放网址| 捆绑调教美女网站视频一区| 国产综合色视频| 91伊人久久大香线蕉| av一区二区三区四区| 欧美美女直播网站| 欧美成人精品1314www| 国产精品毛片a∨一区二区三区|