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

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

?? lspgetq.c

?? 本源代碼包含了各種聲音
?? C
字號:
/* Version 3.3    Last modified: December 26, 1995 */

#include <stdio.h>
#include "typedef.h"
#include "basic_op.h"
#include "ld8k.h"


void Lsp_get_quant(
  Word16 lspcb1[][M],      /* (i) Q13 : first stage LSP codebook      */
  Word16 lspcb2[][M],      /* (i) Q13 : Second stage LSP codebook     */
  Word16 code0,               /* (i)     : selected code of first stage  */
  Word16 code1,               /* (i)     : selected code of second stage */
  Word16 code2,               /* (i)     : selected code of second stage */
  Word16 fg[][M],          /* (i) Q15 : MA prediction coef.           */
  Word16 freq_prev[][M],   /* (i) Q13 : previous LSP vector           */
  Word16 lspq[],              /* (o) Q13 : quantized LSP parameters      */
  Word16 fg_sum[]             /* (i) Q15 : present MA prediction coef.   */
)
{
  Word16 j;
  Word16 buf[M];           /* Q13 */


  for ( j = 0 ; j < NC ; j++ )
    buf[j] = add( lspcb1[code0][j], lspcb2[code1][j] );

  for ( j = NC ; j < M ; j++ )
    buf[j] = add( lspcb1[code0][j], lspcb2[code2][j] );

  Lsp_expand_1_2(buf, GAP1);
  Lsp_expand_1_2(buf, GAP2);

  Lsp_prev_compose(buf, lspq, fg, freq_prev, fg_sum);

  Lsp_prev_update(buf, freq_prev);

  Lsp_stability( lspq );

  return;
}


void Lsp_expand_1(
  Word16 buf[],        /* (i/o) Q13 : LSP vectors */
  Word16 gap           /* (i)   Q13 : gap         */
)
{
  Word16 j, tmp;
  Word16 diff;        /* Q13 */

  for ( j = 1 ; j < NC ; j++ ) {
    diff = sub( buf[j-1], buf[j] );
    tmp = shr( add( diff, gap), 1 );

    if ( tmp >  0 ) {
      buf[j-1] = sub( buf[j-1], tmp );
      buf[j]   = add( buf[j], tmp );
    }
  }
  return;
}


void Lsp_expand_2(
  Word16 buf[],       /* (i/o) Q13 : LSP vectors */
  Word16 gap          /* (i)   Q13 : gap         */
)
{
  Word16 j, tmp;
  Word16 diff;        /* Q13 */

  for ( j = NC ; j < M ; j++ ) {
    diff = sub( buf[j-1], buf[j] );
    tmp = shr( add( diff, gap), 1 );

    if ( tmp > 0 ) {
      buf[j-1] = sub( buf[j-1], tmp );
      buf[j]   = add( buf[j], tmp );
    }
  }
  return;
}


void Lsp_expand_1_2(
  Word16 buf[],       /* (i/o) Q13 : LSP vectors */
  Word16 gap          /* (i)   Q13 : gap         */
)
{
  Word16 j, tmp;
  Word16 diff;        /* Q13 */

  for ( j = 1 ; j < M ; j++ ) {
    diff = sub( buf[j-1], buf[j] );
    tmp = shr( add( diff, gap), 1 );

    if ( tmp > 0 ) {
      buf[j-1] = sub( buf[j-1], tmp );
      buf[j]   = add( buf[j], tmp );
    }
  }
  return;
}


/*
  Functions which use previous LSP parameter (freq_prev).
*/


/*
  compose LSP parameter from elementary LSP with previous LSP.
*/
void Lsp_prev_compose(
  Word16 lsp_ele[],             /* (i) Q13 : LSP vectors                 */
  Word16 lsp[],                 /* (o) Q13 : quantized LSP parameters    */
  Word16 fg[][M],            /* (i) Q15 : MA prediction coef.         */
  Word16 freq_prev[][M],     /* (i) Q13 : previous LSP vector         */
  Word16 fg_sum[]               /* (i) Q15 : present MA prediction coef. */
)
{
  Word16 j, k;
  Word32 L_acc;                 /* Q29 */

  for ( j = 0 ; j < M ; j++ ) {
    L_acc = L_mult( lsp_ele[j], fg_sum[j] );
    for ( k = 0 ; k < MA_NP ; k++ )
      L_acc = L_mac( L_acc, freq_prev[k][j], fg[k][j] );

    lsp[j] = extract_h(L_acc);
  }
  return;
}


/*
  extract elementary LSP from composed LSP with previous LSP
*/
void Lsp_prev_extract(
  Word16 lsp[M],                 /* (i) Q13 : unquantized LSP parameters  */
  Word16 lsp_ele[M],             /* (o) Q13 : target vector               */
  Word16 fg[MA_NP][M],           /* (i) Q15 : MA prediction coef.         */
  Word16 freq_prev[MA_NP][M],    /* (i) Q13 : previous LSP vector         */
  Word16 fg_sum_inv[M]           /* (i) Q12 : inverse previous LSP vector */
)
{
  Word16 j, k;
  Word32 L_temp;                    /* Q19 */
  Word16 temp;                      /* Q13 */


  for ( j = 0 ; j < M ; j++ ) {
    L_temp = L_deposit_h(lsp[j]);
    for ( k = 0 ; k < MA_NP ; k++ )
      L_temp = L_msu( L_temp, freq_prev[k][j], fg[k][j] );

    temp = extract_h(L_temp);
    L_temp = L_mult( temp, fg_sum_inv[j] );
    lsp_ele[j] = extract_h( L_shl( L_temp, 3 ) );

  }
  return;
}


/*
  update previous LSP parameter
*/
void Lsp_prev_update(
  Word16 lsp_ele[M],             /* (i)   Q13 : LSP vectors           */
  Word16 freq_prev[MA_NP][M]     /* (i/o) Q13 : previous LSP vectors  */
)
{
  Word16 k;

  for ( k = MA_NP-1 ; k > 0 ; k-- )
    Copy(freq_prev[k-1], freq_prev[k], M);

  Copy(lsp_ele, freq_prev[0], M);
  return;
}

void Lsp_stability(
  Word16 buf[]       /* (i/o) Q13 : quantized LSP parameters      */
)
{
  Word16 j;
  Word16 tmp;
  Word32 L_diff;
  Word32 L_acc, L_accb;

  for(j=0; j<M-1; j++) {
    L_acc = L_deposit_l( buf[j+1] );
    L_accb = L_deposit_l( buf[j] );
    L_diff = L_sub( L_acc, L_accb );

    if( L_diff < 0L ) {
      /* exchange buf[j]<->buf[j+1] */
      tmp      = buf[j+1];
      buf[j+1] = buf[j];
      buf[j]   = tmp;
    }
  }


  if( sub(buf[0], L_LIMIT) <0 ) {
    buf[0] = L_LIMIT;
    printf("lsp_stability warning Low \n");
  }
  for(j=0; j<M-1; j++) {
    L_acc = L_deposit_l( buf[j+1] );
    L_accb = L_deposit_l( buf[j] );
    L_diff = L_sub( L_acc, L_accb );

    if( L_sub(L_diff, GAP3)<0L ) {
      buf[j+1] = add( buf[j], GAP3 );
    }
  }

  if( sub(buf[M-1],M_LIMIT)>0 ) {
    buf[M-1] = M_LIMIT;
    printf("lsp_stability warning High \n");
  }
  return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
手机精品视频在线观看| 日韩一区日韩二区| 欧美三级欧美一级| 欧美在线小视频| 欧美羞羞免费网站| 欧美精品国产精品| 日韩欧美综合一区| 精品国产乱码久久久久久免费| 日韩一级视频免费观看在线| 欧美va天堂va视频va在线| 日韩精品一区二区三区中文不卡 | 色综合久久久久久久久| 国产69精品久久久久毛片| 国产精品77777| 99久久久久久| 91精品福利在线| 91精品国产综合久久福利软件| 精品国产网站在线观看| 国产人成一区二区三区影院| 亚洲美女电影在线| 亚洲一二三区不卡| 国产精品综合久久| 色婷婷久久久亚洲一区二区三区| 欧美亚洲愉拍一区二区| 精品福利视频一区二区三区| 亚洲欧洲另类国产综合| 亚洲午夜激情av| 国产精品影视天天线| 91麻豆高清视频| 日韩亚洲欧美一区二区三区| 中文字幕一区二区三区在线不卡| 视频一区二区国产| 国产成a人亚洲| 这里只有精品99re| 国产欧美日韩在线观看| 亚洲午夜国产一区99re久久| 国产精品1区二区.| 欧美日韩一区二区不卡| 国产精品色婷婷| 日本网站在线观看一区二区三区 | 国产另类ts人妖一区二区| 91片黄在线观看| 精品国产免费人成在线观看| 亚洲免费观看视频| 国内欧美视频一区二区 | 青青草伊人久久| 91欧美一区二区| 久久久久久日产精品| 五月婷婷久久丁香| 色综合久久综合网97色综合| 国产亚洲午夜高清国产拍精品 | 中文无字幕一区二区三区| 亚洲一区二区中文在线| 国产精品一区一区三区| 欧美日韩在线三级| 中文字幕一区二区三区色视频| 狠狠色综合日日| 欧美一级电影网站| 亚洲成人午夜影院| 在线精品观看国产| 亚洲免费看黄网站| 不卡视频在线看| 中文字幕国产精品一区二区| 韩国女主播成人在线观看| 3d动漫精品啪啪| 天天影视色香欲综合网老头| 日本韩国一区二区| 一区二区三区美女| 91九色最新地址| 亚洲国产一区二区三区青草影视| 色狠狠av一区二区三区| 亚洲欧美日韩国产成人精品影院| eeuss影院一区二区三区| 久久久久久毛片| 国产a视频精品免费观看| 2020国产精品| 成人免费视频视频在线观看免费| 久久这里只有精品视频网| 国产一区二区看久久| 国产日韩欧美一区二区三区乱码| 精品一区二区三区免费视频| 久久久国产一区二区三区四区小说| 国产尤物一区二区| 久久综合九色综合欧美亚洲| 国产成人午夜精品影院观看视频| 久久精品夜夜夜夜久久| 国产不卡免费视频| 国产精品久久久久久久久免费相片| 成人av免费在线| 亚洲欧美日本在线| 欧美日韩视频一区二区| 美脚の诱脚舐め脚责91| 26uuu亚洲| 99国产精品久久久| 香蕉久久一区二区不卡无毒影院| 欧美二区在线观看| 国产一区二区主播在线| 国产精品毛片大码女人| 欧美在线一区二区三区| 久久精品久久综合| 国产精品久久久久9999吃药| 欧美性猛交xxxx乱大交退制版| 麻豆免费看一区二区三区| 国产欧美一区二区三区在线看蜜臀 | 日本特黄久久久高潮| 久久欧美中文字幕| 91精品国产aⅴ一区二区| 美女脱光内衣内裤视频久久网站| 国产女人aaa级久久久级| 欧美日韩综合在线| 九九九精品视频| 亚洲黄色小说网站| 欧美xxxxx牲另类人与| 99精品国产一区二区三区不卡| 天天色 色综合| 国产精品青草久久| 日韩欧美亚洲另类制服综合在线| 99国产精品久| 国产精品主播直播| 亚洲图片自拍偷拍| 中文字幕一区二区三区在线播放| 欧美va亚洲va香蕉在线| 色系网站成人免费| 国产二区国产一区在线观看| 亚洲成人福利片| 亚洲美女屁股眼交3| 国产视频一区二区三区在线观看| 欧美日韩在线播放三区| 成人一区在线观看| 久久99热这里只有精品| 午夜伦欧美伦电影理论片| 亚洲人成精品久久久久| 国产亚洲综合在线| 欧美videos大乳护士334| 欧美裸体一区二区三区| 欧美制服丝袜第一页| 色婷婷av一区二区三区之一色屋| 成人妖精视频yjsp地址| 国内精品伊人久久久久影院对白| 日韩主播视频在线| 亚洲九九爱视频| 亚洲精品视频自拍| 国产精品夫妻自拍| 国产精品剧情在线亚洲| 亚洲国产成人午夜在线一区| 久久久亚洲精品石原莉奈| 精品成人在线观看| 久久综合99re88久久爱| 久久蜜臀精品av| 久久综合狠狠综合| 国产欧美日韩久久| 国产精品免费观看视频| 中文字幕在线不卡| 亚洲欧洲99久久| 亚洲成人免费看| 五月天欧美精品| 麻豆国产精品一区二区三区| 久久99九九99精品| 韩国理伦片一区二区三区在线播放 | 91精品国产色综合久久不卡蜜臀| 欧美日韩国产另类一区| 在线综合视频播放| 日韩免费视频一区| 26uuu色噜噜精品一区| 国产拍揄自揄精品视频麻豆| 中国av一区二区三区| 亚洲桃色在线一区| 天天影视色香欲综合网老头| 另类综合日韩欧美亚洲| 国产精一区二区三区| 972aa.com艺术欧美| 欧美日韩久久久一区| 欧美r级在线观看| 国产欧美精品区一区二区三区 | 欧美在线观看视频一区二区 | 欧美一区2区视频在线观看| 日韩免费视频一区| 日本一区二区三区免费乱视频| 亚洲欧美在线观看| 丝袜a∨在线一区二区三区不卡| 精品一区二区三区在线视频| av亚洲产国偷v产偷v自拍| 欧美视频日韩视频| 精品区一区二区| 亚洲人成网站精品片在线观看| 日韩中文字幕麻豆| av高清久久久| 精品国产露脸精彩对白| 亚洲免费观看高清在线观看| 免费在线观看不卡| av中文一区二区三区| 欧美一级理论片| 中文字幕亚洲一区二区av在线 | 日韩午夜av电影| 亚洲视频小说图片| 九九九精品视频| 777奇米四色成人影色区| 自拍av一区二区三区| 国产乱码精品一区二区三 | 国产在线精品一区二区不卡了|