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

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

?? cod_ld8a.c

?? 完成g.729編碼解碼的算法
?? C
?? 第 1 頁 / 共 2 頁
字號:

    /*--------------------------------------------------------------------*
     * Find interpolated LPC parameters in all subframes                  *
     * The interpolated parameters are in array Aq_t[].                   *
     *--------------------------------------------------------------------*/

    Int_qlpc(lsp_old_q, lsp_new_q, Aq_t);

    /* Compute A(z/gamma) */

    Weight_Az(&Aq_t[0],   GAMMA1, M, &Ap_t[0]);
    Weight_Az(&Aq_t[MP1], GAMMA1, M, &Ap_t[MP1]);

    /* update the LSPs for the next frame */

    Copy(lsp_new,   lsp_old,   M);
    Copy(lsp_new_q, lsp_old_q, M);
  }

 /*----------------------------------------------------------------------*
  * - Find the weighted input speech w_sp[] for the whole speech frame   *
  * - Find the open-loop pitch delay                                     *
  *----------------------------------------------------------------------*/

  Residu(&Aq_t[0], &speech[0], &exc[0], L_SUBFR);
  Residu(&Aq_t[MP1], &speech[L_SUBFR], &exc[L_SUBFR], L_SUBFR);

  {
    Word16 Ap1[MP1];

    Ap = Ap_t;
    Ap1[0] = 4096;
    for(i=1; i<=M; i++)    /* Ap1[i] = Ap[i] - 0.7 * Ap[i-1]; */
       Ap1[i] = sub(Ap[i], mult(Ap[i-1], 22938));
    Syn_filt(Ap1, &exc[0], &wsp[0], L_SUBFR, mem_w, 1);

    Ap += MP1;
    for(i=1; i<=M; i++)    /* Ap1[i] = Ap[i] - 0.7 * Ap[i-1]; */
       Ap1[i] = sub(Ap[i], mult(Ap[i-1], 22938));
    Syn_filt(Ap1, &exc[L_SUBFR], &wsp[L_SUBFR], L_SUBFR, mem_w, 1);
  }

  /* Find open loop pitch lag */

  T_op = Pitch_ol_fast(wsp, PIT_MAX, L_FRAME);

  /* Range for closed loop pitch search in 1st subframe */

  T0_min = sub(T_op, 3);
  if (sub(T0_min,PIT_MIN)<0) {
    T0_min = PIT_MIN;
  }

  T0_max = add(T0_min, 6);
  if (sub(T0_max ,PIT_MAX)>0)
  {
     T0_max = PIT_MAX;
     T0_min = sub(T0_max, 6);
  }


 /*------------------------------------------------------------------------*
  *          Loop for every subframe in the analysis frame                 *
  *------------------------------------------------------------------------*
  *  To find the pitch and innovation parameters. The subframe size is     *
  *  L_SUBFR and the loop is repeated 2 times.                             *
  *     - find the weighted LPC coefficients                               *
  *     - find the LPC residual signal res[]                               *
  *     - compute the target signal for pitch search                       *
  *     - compute impulse response of weighted synthesis filter (h1[])     *
  *     - find the closed-loop pitch parameters                            *
  *     - encode the pitch delay                                           *
  *     - find target vector for codebook search                           *
  *     - codebook search                                                  *
  *     - VQ of pitch and codebook gains                                   *
  *     - update states of weighting filter                                *
  *------------------------------------------------------------------------*/

  Aq = Aq_t;    /* pointer to interpolated quantized LPC parameters */
  Ap = Ap_t;    /* pointer to weighted LPC coefficients             */

  for (i_subfr = 0;  i_subfr < L_FRAME; i_subfr += L_SUBFR)
  {

    /*---------------------------------------------------------------*
     * Compute impulse response, h1[], of weighted synthesis filter  *
     *---------------------------------------------------------------*/

    h1[0] = 4096;
    Set_zero(&h1[1], L_SUBFR-1);
    Syn_filt(Ap, h1, h1, L_SUBFR, &h1[1], 0);

   /*----------------------------------------------------------------------*
    *  Find the target vector for pitch search:                            *
    *----------------------------------------------------------------------*/

    Syn_filt(Ap, &exc[i_subfr], xn, L_SUBFR, mem_w0, 0);

    /*---------------------------------------------------------------------*
     *                 Closed-loop fractional pitch search                 *
     *---------------------------------------------------------------------*/

    T0 = Pitch_fr3_fast(&exc[i_subfr], xn, h1, L_SUBFR, T0_min, T0_max,
                    i_subfr, &T0_frac);

    index = Enc_lag3(T0, T0_frac, &T0_min, &T0_max,PIT_MIN,PIT_MAX,i_subfr);

    *ana++ = index;

    if (i_subfr == 0) {
      *ana++ = Parity_Pitch(index);
    }

   /*-----------------------------------------------------------------*
    *   - find filtered pitch exc                                     *
    *   - compute pitch gain and limit between 0 and 1.2              *
    *   - update target vector for codebook search                    *
    *-----------------------------------------------------------------*/

    Syn_filt(Ap, &exc[i_subfr], y1, L_SUBFR, mem_zero, 0);

    gain_pit = G_pitch(xn, y1, g_coeff, L_SUBFR);

    /* clip pitch gain if taming is necessary */

    taming = test_err(T0, T0_frac);

    if( taming == 1){
      if (sub(gain_pit, GPCLIP) > 0) {
        gain_pit = GPCLIP;
      }
    }

    /* xn2[i]   = xn[i] - y1[i] * gain_pit  */

    for (i = 0; i < L_SUBFR; i++)
    {
      L_temp = L_mult(y1[i], gain_pit);
      L_temp = L_shl(L_temp, 1);               /* gain_pit in Q14 */
      xn2[i] = sub(xn[i], extract_h(L_temp));
    }


   /*-----------------------------------------------------*
    * - Innovative codebook search.                       *
    *-----------------------------------------------------*/

    index = ACELP_Code_A(xn2, h1, T0, sharp, code, y2, &i);

    *ana++ = index;        /* Positions index */
    *ana++ = i;            /* Signs index     */


   /*-----------------------------------------------------*
    * - Quantization of gains.                            *
    *-----------------------------------------------------*/

    g_coeff_cs[0]     = g_coeff[0];            /* <y1,y1> */
    exp_g_coeff_cs[0] = negate(g_coeff[1]);    /* Q-Format:XXX -> JPN */
    g_coeff_cs[1]     = negate(g_coeff[2]);    /* (xn,y1) -> -2<xn,y1> */
    exp_g_coeff_cs[1] = negate(add(g_coeff[3], 1)); /* Q-Format:XXX -> JPN */

    Corr_xy2( xn, y1, y2, g_coeff_cs, exp_g_coeff_cs );  /* Q0 Q0 Q12 ^Qx ^Q0 */
                         /* g_coeff_cs[3]:exp_g_coeff_cs[3] = <y2,y2>   */
                         /* g_coeff_cs[4]:exp_g_coeff_cs[4] = -2<xn,y2> */
                         /* g_coeff_cs[5]:exp_g_coeff_cs[5] = 2<y1,y2>  */

    *ana++ = Qua_gain(code, g_coeff_cs, exp_g_coeff_cs,
                         L_SUBFR, &gain_pit, &gain_code, taming);


   /*------------------------------------------------------------*
    * - Update pitch sharpening "sharp" with quantized gain_pit  *
    *------------------------------------------------------------*/

    sharp = gain_pit;
    if (sub(sharp, SHARPMAX) > 0) { sharp = SHARPMAX;         }
    if (sub(sharp, SHARPMIN) < 0) { sharp = SHARPMIN;         }

   /*------------------------------------------------------*
    * - Find the total excitation                          *
    * - update filters memories for finding the target     *
    *   vector in the next subframe                        *
    *------------------------------------------------------*/

    for (i = 0; i < L_SUBFR;  i++)
    {
      /* exc[i] = gain_pit*exc[i] + gain_code*code[i]; */
      /* exc[i]  in Q0   gain_pit in Q14               */
      /* code[i] in Q13  gain_cod in Q1                */

      L_temp = L_mult(exc[i+i_subfr], gain_pit);
      L_temp = L_mac(L_temp, code[i], gain_code);
      L_temp = L_shl(L_temp, 1);
      exc[i+i_subfr] = round(L_temp);
    }

    update_exc_err(gain_pit, T0);

    for (i = L_SUBFR-M, j = 0; i < L_SUBFR; i++, j++)
    {
      temp       = extract_h(L_shl( L_mult(y1[i], gain_pit),  1) );
      k          = extract_h(L_shl( L_mult(y2[i], gain_code), 2) );
      mem_w0[j]  = sub(xn[i], add(temp, k));
    }

    Aq += MP1;           /* interpolated LPC parameters for next subframe */
    Ap += MP1;

  }

 /*--------------------------------------------------*
  * Update signal for next frame.                    *
  * -> shift to the left by L_FRAME:                 *
  *     speech[], wsp[] and  exc[]                   *
  *--------------------------------------------------*/

  Copy(&old_speech[L_FRAME], &old_speech[0], L_TOTAL-L_FRAME);
  Copy(&old_wsp[L_FRAME], &old_wsp[0], PIT_MAX);
  Copy(&old_exc[L_FRAME], &old_exc[0], PIT_MAX+L_INTERPOL);

  return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜久久久久中文字幕久| 欧洲人成人精品| 成人高清视频在线观看| 在线一区二区三区四区| 欧美mv日韩mv国产| 一区二区三区高清在线| 国产一区福利在线| 欧美三区在线观看| 欧美国产日韩在线观看| 免费看日韩a级影片| 色综合色综合色综合| 久久先锋影音av| 日韩电影在线看| 91久久精品一区二区三| 国产日韩欧美一区二区三区综合| 肉肉av福利一精品导航| 91丝袜高跟美女视频| 久久久久9999亚洲精品| 蜜臀久久99精品久久久画质超高清| 一本色道**综合亚洲精品蜜桃冫| 久久久99免费| 美国一区二区三区在线播放| 欧美婷婷六月丁香综合色| 亚洲视频1区2区| 成人av在线一区二区三区| 久久综合色之久久综合| 男女男精品视频网| 欧美日韩国产免费| 亚洲成人免费在线观看| 91丨porny丨中文| 国产精品麻豆欧美日韩ww| 国产精品资源网| 欧美精品一区二区蜜臀亚洲| 麻豆精品一区二区三区| 欧美一级淫片007| 日韩av一区二| 欧美美女黄视频| 视频一区二区欧美| 正在播放亚洲一区| 午夜精品一区二区三区三上悠亚| 欧美系列亚洲系列| 亚洲国产精品影院| 在线视频一区二区三| 亚洲一卡二卡三卡四卡五卡| 日本精品视频一区二区| 亚洲精品水蜜桃| 在线看一区二区| 亚洲国产视频直播| 日韩一区二区三区在线| 久久se精品一区精品二区| 日韩精品专区在线| 国产精品影视在线观看| 中文av一区特黄| 色欲综合视频天天天| 亚洲午夜一区二区| 日韩欧美亚洲国产精品字幕久久久| 午夜亚洲国产au精品一区二区| 91精品国产综合久久精品图片| 日韩精品一二三四| 久久久综合精品| 91视频xxxx| 日韩精品乱码免费| 久久久噜噜噜久久中文字幕色伊伊 | 91首页免费视频| 亚洲一区二区在线观看视频| 91精品国产欧美日韩| 国产在线不卡一区| 亚洲欧美在线视频| 制服丝袜国产精品| 国产99久久久精品| 亚洲一区二区三区四区在线观看 | 日韩精品一级中文字幕精品视频免费观看 | 欧美成人a视频| 波多野洁衣一区| 午夜精品一区二区三区电影天堂 | 国产精品国产三级国产aⅴ无密码| 欧美性猛片xxxx免费看久爱| 美女爽到高潮91| 亚洲欧美aⅴ...| 精品久久久久香蕉网| 91视频91自| 国产一区二区三区精品欧美日韩一区二区三区 | www.亚洲精品| 日韩电影在线观看一区| 国产精品成人免费精品自在线观看 | 强制捆绑调教一区二区| 日韩一区在线看| 精品日韩欧美在线| 在线视频欧美区| 成人美女视频在线看| 美女网站色91| 亚洲最大色网站| 国产精品三级在线观看| 欧美一区二区日韩一区二区| 在线一区二区三区四区五区| 丰满白嫩尤物一区二区| 美国三级日本三级久久99| 亚洲与欧洲av电影| 国产精品久久久久久久久免费丝袜| 日韩午夜激情电影| 欧美日韩国产一二三| 91丨九色丨黑人外教| 成人午夜av电影| 国产精品一区二区久激情瑜伽 | 国产欧美综合在线| 精品国产露脸精彩对白| 777a∨成人精品桃花网| 91官网在线观看| 91小视频在线免费看| 成人精品视频一区二区三区| 国产成人日日夜夜| 国产成人午夜99999| 国产成人免费av在线| 国产成人免费在线观看| 国产成人一区在线| 成人激情免费视频| 成人在线综合网站| 奇米888四色在线精品| 一区二区三区丝袜| 中文字幕不卡的av| 中文字幕一区日韩精品欧美| 国产亚洲美州欧州综合国| 日韩一区二区三区视频在线观看| 欧美日韩免费电影| 欧美日韩国产首页| 欧美日产在线观看| 欧美视频一二三区| 在线视频国内自拍亚洲视频| av电影一区二区| 色8久久人人97超碰香蕉987| 福利一区二区在线| 成人国产精品免费观看动漫| 国产成人精品午夜视频免费| 国产精品一区免费视频| 不卡一区中文字幕| 99久久精品免费| 99riav一区二区三区| 成人网男人的天堂| 99久久99精品久久久久久 | av午夜精品一区二区三区| 国产99久久久精品| 成人国产电影网| 欧美日韩在线观看一区二区 | 国产成人精品亚洲午夜麻豆| 成人永久免费视频| 成人性生交大片免费| 99久久国产综合精品色伊| 一本大道久久a久久综合婷婷| 国产精品综合网| 91精彩视频在线| 欧美卡1卡2卡| 久久这里只有精品首页| 欧美国产视频在线| 亚洲欧洲成人精品av97| 天堂蜜桃91精品| 久久国产精品区| 成人午夜精品一区二区三区| 99久久精品免费看| 色天天综合色天天久久| 日韩欧美不卡在线观看视频| 久久久久久久久久看片| 亚洲激情在线激情| 日本成人在线不卡视频| 青青草成人在线观看| 99免费精品视频| 欧美日本国产视频| 日韩欧美国产一区二区在线播放| 久久久精品国产免大香伊| 国产精品久久久久毛片软件| 亚洲午夜电影在线观看| 亚洲国产成人av| jlzzjlzz亚洲女人18| 欧美久久久久久久久| 久久男人中文字幕资源站| 最新久久zyz资源站| 久久国内精品视频| 日本伦理一区二区| 精品国产3级a| 亚洲欧美日韩中文播放| 亚洲欧美福利一区二区| 国产成人亚洲精品狼色在线 | 91精品欧美福利在线观看| 精品国产sm最大网站| 国产精品久久久久久亚洲毛片 | 五月婷婷久久丁香| 国产精品香蕉一区二区三区| 91偷拍与自偷拍精品| 日韩精品一区二区三区蜜臀| 亚洲欧洲综合另类| 国产寡妇亲子伦一区二区| 欧美日韩大陆在线| 中文字幕一区av| 成人一级黄色片| 精品蜜桃在线看| 视频一区在线视频| 在线免费观看日韩欧美| 亚洲免费av高清| 成人午夜激情影院| 久久久91精品国产一区二区精品| 秋霞成人午夜伦在线观看|