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

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

?? dec_sid.c

?? ITU-T G.729B標準源代碼解碼端
?? C
字號:
/*
   ITU-T G.729 Annex B     ANSI-C Source Code
   Version 1.3    Last modified: August 1997

   Copyright (c) 1996, France Telecom, Rockwell International,
                       Universite de Sherbrooke.
   All rights reserved.
*/

/*
**
** File:            "dec_cng.c"
**
** Description:     Comfort noise generation
**                  performed at the decoder part
**
*/
/**** Fixed point version ***/

#include <stdio.h>
#include <stdlib.h>
#include "typedef.h"
#include "ld8k.h"
#include "tab_ld8k.h"
#include "basic_op.h"
#include "vad.h"
#include "dtx.h"
#include "sid.h"
#include "tab_dtx.h"

static Word16 cur_gain;
static Word16 lspSid[M];
static Word16 sid_gain;

/*
**
** Function:        Init_Dec_cng()
**
** Description:     Initialize dec_cng static variables
**
**
*/
void Init_Dec_cng(void)
{
  
  Copy( freq_prev_reset, lspSid, M);
  sid_gain = tab_Sidgain[0];

  return;
}

/*-----------------------------------------------------------*
 * procedure Dec_cng:                                        *
 *           ~~~~~~~~                                        *
 *                     Receives frame type                   *
 *                     0  :  for untransmitted frames        *
 *                     2  :  for SID frames                  *
 *                     Decodes SID frames                    *
 *                     Computes current frame excitation     *
 *                     Computes current frame LSPs
 *-----------------------------------------------------------*/
void Dec_cng(
  Word16 past_ftyp,     /* (i)   : past frame type                      */
  Word16 sid_sav,       /* (i)   : energy to recover SID gain           */
  Word16 sh_sid_sav,    /* (i)   : corresponding scaling factor         */
  Word16 *parm,         /* (i)   : coded SID parameters                 */
  Word16 *exc,          /* (i/o) : excitation array                     */
  Word16 *lsp_old,      /* (i/o) : previous lsp                         */
  Word16 *A_t,          /* (o)   : set of interpolated LPC coefficients */
  Word16 *seed,         /* (i/o) : random generator seed                */
  Word16 freq_prev[MA_NP][M]
                        /* (i/o) : previous LPS for quantization        */
)
{
  Word16 temp, ind;
  Word16 dif;

  dif = sub(past_ftyp, 1);
  
  /* SID Frame */
  /*************/
  if(parm[0] != 0) {

    sid_gain = tab_Sidgain[(int)parm[4]];           
    
    /* Inverse quantization of the LSP */
    sid_lsfq_decode(&parm[1], lspSid, freq_prev);
    
  }

  /* non SID Frame */
  /*****************/
  else {
    
    /* Case of 1st SID frame erased : quantize-decode   */
    /* energy estimate stored in sid_gain         */
    if(dif == 0) {
      Qua_Sidgain(&sid_sav, &sh_sid_sav, 0, &temp, &ind);
      sid_gain = tab_Sidgain[(int)ind];
    }
    
  }
  
  if(dif == 0) {
    cur_gain = sid_gain;
  }
  else {
    cur_gain = mult_r(cur_gain, A_GAIN0);
    cur_gain = add(cur_gain, mult_r(sid_gain, A_GAIN1));
  }
 
  Calc_exc_rand(cur_gain, exc, seed, FLAG_DEC);

  /* Interpolate the Lsp vectors */
  Int_qlpc(lsp_old, lspSid, A_t);
  Copy(lspSid, lsp_old, M);
  
  return;
}



/*---------------------------------------------------------------------------*
 * Function  Init_lsfq_noise                                                 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~                                                 *
 *                                                                           *
 * -> Initialization of variables for the lsf quantization in the SID        *
 *                                                                           *
 *---------------------------------------------------------------------------*/
void Init_lsfq_noise(void)
{
  Word16 i, j;
  Word32 acc0;

  /* initialize the noise_fg */
  for (i=0; i<4; i++)
    Copy(fg[0][i], noise_fg[0][i], M);
  
  for (i=0; i<4; i++)
    for (j=0; j<M; j++){
      acc0 = L_mult(fg[0][i][j], 19660);
      acc0 = L_mac(acc0, fg[1][i][j], 13107);
      noise_fg[1][i][j] = extract_h(acc0);
    }
}


void sid_lsfq_decode(Word16 *index,             /* (i) : quantized indices    */
                     Word16 *lspq,              /* (o) : quantized lsp vector */
                     Word16 freq_prev[MA_NP][M] /* (i) : memory of predictor  */
                     )
{
  Word32 acc0;
  Word16 i, j, k, lsfq[M], tmpbuf[M];

  /* get the lsf error vector */
  Copy(lspcb1[PtrTab_1[index[1]]], tmpbuf, M);
  for (i=0; i<M/2; i++)
    tmpbuf[i] = add(tmpbuf[i], lspcb2[PtrTab_2[0][index[2]]][i]);
  for (i=M/2; i<M; i++)
    tmpbuf[i] = add(tmpbuf[i], lspcb2[PtrTab_2[1][index[2]]][i]);

  /* guarantee minimum distance of 0.0012 (~10 in Q13) between tmpbuf[j] 
     and tmpbuf[j+1] */
  for (j=1; j<M; j++){
    acc0 = L_mult(tmpbuf[j-1], 16384);
    acc0 = L_mac(acc0, tmpbuf[j], -16384);
    acc0 = L_mac(acc0, 10, 16384);
    k = extract_h(acc0);

    if (k > 0){
      tmpbuf[j-1] = sub(tmpbuf[j-1], k);
      tmpbuf[j] = add(tmpbuf[j], k);
    }
  }
  
  /* compute the quantized lsf vector */
  Lsp_prev_compose(tmpbuf, lsfq, noise_fg[index[0]], freq_prev, 
                   noise_fg_sum[index[0]]);
  
  /* update the prediction memory */
  Lsp_prev_update(tmpbuf, freq_prev);
  
  /* lsf stability check */
  Lsp_stability(lsfq);

  /* convert lsf to lsp */
  Lsf_lsp2(lsfq, lspq, M);

}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费观看视频| 久久久久久一级片| 91在线云播放| 精品在线一区二区| 久久精品久久综合| 久久精品国产77777蜜臀| 麻豆成人av在线| 国产真实乱子伦精品视频| 韩国精品免费视频| 国产精品综合在线视频| 国产精品亚洲专一区二区三区| 奇米精品一区二区三区四区| 日韩福利视频导航| 久久狠狠亚洲综合| 激情综合色播激情啊| 日本伊人精品一区二区三区观看方式| 亚洲色图在线看| 亚洲蜜臀av乱码久久精品| 国产精品国产三级国产普通话蜜臀| 国产精品丝袜91| 一区二区三区四区在线播放| 亚洲欧美日韩一区| 亚洲国产aⅴ成人精品无吗| 亚洲欧美经典视频| 亚洲国产视频网站| 日本不卡中文字幕| 国产精品资源在线观看| 成人免费观看av| 成人免费av在线| 国产一区二区三区在线观看免费| 国产乱人伦偷精品视频免下载 | 精品成人一区二区三区四区| 久久免费精品国产久精品久久久久| 亚洲国产精品二十页| 亚洲国产日韩在线一区模特 | 国产一区二区三区综合| 韩国三级电影一区二区| 国产在线视频不卡二| 日本三级韩国三级欧美三级| 国产麻豆视频一区二区| 亚洲国产另类av| 久久久综合网站| 亚洲成人一区在线| 亚洲国产精品自拍| 国产精品一区2区| 国产剧情一区二区| 成人综合婷婷国产精品久久| 欧美日本不卡视频| 91精品婷婷国产综合久久| 欧美丝袜丝交足nylons| 欧美美女直播网站| 久久久久久久电影| 日韩成人一级大片| 国产成人亚洲综合a∨婷婷图片| 亚洲国产精品久久久男人的天堂 | 国产精品12区| 成人性生交大片免费看在线播放| 欧美乱妇23p| 久久久久久久综合色一本| 中文字幕一区三区| 一级做a爱片久久| 国精产品一区一区三区mba桃花| 国内精品伊人久久久久av影院 | 久久精品国产一区二区三| 亚洲欧美日韩精品久久久久| 国产精品1区2区| 欧美日韩在线播放三区| 久久久亚洲精华液精华液精华液| 亚洲国产精品高清| 日韩精品一二三区| 91精品蜜臀在线一区尤物| 日本一区二区三区四区在线视频| 91久久精品一区二区| 亚洲图片欧美激情| 国内成人精品2018免费看| www国产成人| 日本不卡视频在线| 99re6这里只有精品视频在线观看| 久久免费午夜影院| 日韩中文字幕麻豆| 美腿丝袜亚洲三区| 欧美色窝79yyyycom| 国产精品污污网站在线观看| 丰满亚洲少妇av| 欧美日韩国产美| 一区视频在线播放| 91福利视频在线| 国产欧美日韩激情| 色吊一区二区三区| 久久婷婷国产综合精品青草| 亚洲午夜一二三区视频| 欧美性色黄大片手机版| 久久精品亚洲一区二区三区浴池| 欧美三级视频在线| 日日嗨av一区二区三区四区| 91国产免费看| 亚洲男人天堂一区| 色综合久久久久网| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲日本一区二区| 正在播放一区二区| 视频一区二区三区中文字幕| 精品国产三级a在线观看| 天堂在线亚洲视频| 欧美丰满嫩嫩电影| 精品一区免费av| 精品国产一区二区三区四区四| 一区二区在线观看不卡| 国产一二精品视频| 久久亚洲综合色| 色哟哟精品一区| 亚洲图片欧美激情| 捆绑紧缚一区二区三区视频| 欧美国产激情二区三区| 不卡视频一二三| 精品亚洲成a人在线观看 | 在线观看视频一区二区| 日韩欧美国产系列| 99视频国产精品| 亚洲高清久久久| 国产精品狼人久久影院观看方式| 成人精品国产一区二区4080| 久久综合九色综合97婷婷| 欧美视频在线观看一区| 日韩高清中文字幕一区| 亚洲精品中文在线影院| 欧美视频精品在线| 午夜久久久久久电影| 一区二区中文视频| 欧美一区二区三区思思人| 色哟哟一区二区三区| 亚洲第一福利视频在线| 欧美一区二区国产| 欧美日韩精品一区二区三区| 无吗不卡中文字幕| 一区二区在线观看视频在线观看| 欧美巨大另类极品videosbest | 琪琪一区二区三区| 亚洲国产你懂的| 久久精品在这里| 国产欧美精品一区二区色综合| 欧美日韩成人一区| 国产成人aaa| 国产成人精品免费在线| 亚洲动漫第一页| 日韩欧美国产高清| 欧美性一二三区| 国产成人一级电影| 国产.精品.日韩.另类.中文.在线.播放| 国产欧美日产一区| 欧美性猛片aaaaaaa做受| 国产91精品露脸国语对白| 亚洲欧美日本在线| 亚洲欧美偷拍三级| 精品美女一区二区三区| 石原莉奈在线亚洲二区| 亚洲国产精品一区二区久久 | www.欧美日韩| 91啪在线观看| 日韩电影免费在线看| 99久久久免费精品国产一区二区| 国产乱码精品一品二品| 亚洲一区二区三区四区中文字幕| 精品久久久久久综合日本欧美| 久久精品国产亚洲一区二区三区| 日韩精品一级二级| 一区二区三区**美女毛片| 亚洲综合一区二区| 国产日韩一级二级三级| 中文字幕制服丝袜成人av| 久久久精品影视| 欧美性生活大片视频| 色综合久久99| 免费在线视频一区| 午夜亚洲福利老司机| 亚洲柠檬福利资源导航| 亚洲国产成人在线| 久久午夜国产精品| 中文字幕一区视频| 中文字幕av不卡| 樱花影视一区二区| 国产精品毛片久久久久久| 91精品国产综合久久小美女| 91免费视频大全| 91网站在线播放| 91精品免费观看| 91麻豆精品国产91久久久使用方法 | 婷婷夜色潮精品综合在线| 蜜臂av日日欢夜夜爽一区| 亚洲va欧美va人人爽| 国产伦精品一区二区三区视频青涩| 精品一区二区三区香蕉蜜桃| 国产精品你懂的| 青青草视频一区| 精品亚洲porn| 欧美日韩精品欧美日韩精品| 欧美日韩视频在线一区二区| 国产亚洲一本大道中文在线| 久久久久国产精品人| 偷拍一区二区三区四区|