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

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

?? dec_sid.c

?? ITU-T G.729的一個實現例子(包括附錄b的vod檢測等功能)
?? C
字號:
/*
   ITU-T G.729 Annex B     ANSI-C Source Code
   Version 1.4    Last modified: November 2000

   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]={
  31441,  27566,  21458,  13612,   4663,
  -4663, -13612, -21458, -27566, -31441};
static Word16 sid_gain;

/*
**
** Function:        Init_Dec_cng()
**
** Description:     Initialize dec_cng static variables
**
**
*/
void Init_Dec_cng(void)
{
  
  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一区二区三区免费野_久草精品视频
久久久不卡网国产精品一区| 亚洲一二三区视频在线观看| 国产精品福利一区二区三区| 性做久久久久久久久| 国产一区二区在线电影| 欧美老女人在线| www一区二区| 亚洲女与黑人做爰| 国产最新精品免费| 91.com视频| 亚洲国产一二三| 99久久久无码国产精品| 国产亚洲美州欧州综合国| 偷拍一区二区三区| 欧美色综合网站| 亚洲精品中文在线影院| 国产成人免费视频网站| 精品久久国产字幕高潮| 亚洲 欧美综合在线网络| 色av一区二区| ㊣最新国产の精品bt伙计久久| 久久精品99国产精品| 欧美日韩mp4| 图片区日韩欧美亚洲| 91高清在线观看| 自拍偷拍亚洲欧美日韩| 99久久免费视频.com| 国产精品网曝门| 成人一道本在线| 国产精品素人一区二区| 国产馆精品极品| 久久精品亚洲麻豆av一区二区 | 欧美日韩一级大片网址| 亚洲三级电影全部在线观看高清| 丁香一区二区三区| 国产三区在线成人av| 国产精品亚洲综合一区在线观看| 久久综合九色综合97婷婷| 国产一区二区三区免费播放| 91精品国产美女浴室洗澡无遮挡| 亚洲亚洲精品在线观看| 成人av电影在线播放| 国产色一区二区| 国产91精品免费| 中文字幕精品在线不卡| 日韩欧美亚洲另类制服综合在线| 91精品国产综合久久蜜臀| 国产成人在线色| 亚洲成av人在线观看| 亚洲国产精品高清| 欧美电影精品一区二区| 色婷婷久久久综合中文字幕| 国产精品自拍在线| 日韩精品久久理论片| 国产一区二区美女诱惑| 日韩一区二区在线观看视频| 一区二区三区日韩在线观看| 国产99久久久久久免费看农村| 26uuu亚洲综合色| 国产精品一区二区你懂的| 粉嫩aⅴ一区二区三区四区| 欧美v亚洲v综合ⅴ国产v| 亚洲国产精品激情在线观看| 精品久久一区二区三区| 成人黄色a**站在线观看| 精品日韩一区二区三区免费视频| 欧美日韩在线播| 9191国产精品| 91精品国产色综合久久不卡电影| 国产成人一区在线| 蜜臀久久99精品久久久画质超高清 | 日韩黄色在线观看| 在线播放亚洲一区| 99久久综合精品| 日韩成人一级片| 亚洲日本va午夜在线影院| 在线影院国内精品| 国产一区二区三区不卡在线观看 | 亚洲亚洲人成综合网络| 国产激情91久久精品导航| 666欧美在线视频| 国产成人av网站| 国产精品视频看| 国产乱码精品一区二区三区av| 日韩免费福利电影在线观看| 日本中文字幕一区二区视频 | 亚洲成在人线在线播放| 91精品国产一区二区三区香蕉 | 成人av综合在线| 国产成人精品三级| 日韩电影在线观看网站| 国产欧美日韩不卡| 91久久精品午夜一区二区| 久久99精品国产麻豆不卡| 精品剧情在线观看| 精品精品国产高清一毛片一天堂| 精品久久人人做人人爰| 91久久精品一区二区二区| 欧美电影免费观看高清完整版在线观看| 一本大道av一区二区在线播放| 人人超碰91尤物精品国产| 日韩电影在线一区二区| 日韩精品久久久久久| 久久精品国产免费| 精品一区二区国语对白| 国产一区二区三区高清播放| 国产美女视频一区| 成人午夜私人影院| av在线不卡网| 国产v综合v亚洲欧| 久久福利视频一区二区| 国产在线视视频有精品| 久久av中文字幕片| av在线不卡免费看| 日韩一区欧美二区| 麻豆精品久久久| 日韩一卡二卡三卡国产欧美| 丁香一区二区三区| 成人动漫中文字幕| 色诱视频网站一区| 欧美巨大另类极品videosbest | 麻豆高清免费国产一区| 国产呦精品一区二区三区网站| 国产成人亚洲精品青草天美| 91啪在线观看| 日韩一区二区在线观看视频播放| 国产精品国产自产拍高清av| 亚洲欧美电影院| 肉色丝袜一区二区| 狠狠狠色丁香婷婷综合久久五月| 成人app网站| 欧美一区二区黄| 亚洲国产成人午夜在线一区| 夜夜嗨av一区二区三区| 老汉av免费一区二区三区| 久久精品国产**网站演员| 狠狠色狠狠色综合系列| 成人av资源在线| 欧美精品粉嫩高潮一区二区| 欧美精品一区在线观看| 一区二区三区美女视频| 久久99久久精品| a级高清视频欧美日韩| 91精品啪在线观看国产60岁| 国产精品乱码人人做人人爱 | 国产日韩精品一区二区浪潮av | 欧美一区二区三级| 日本免费新一区视频| 亚洲三级在线观看| 日韩中文字幕不卡| 不卡视频一二三四| 精品伦理精品一区| 亚洲一区二区欧美| 精品一区二区综合| 91麻豆精品国产91久久久久久久久| 亚洲欧洲另类国产综合| 久久精品99国产国产精| 欧美在线观看视频一区二区| 国产午夜精品久久久久久久 | 福利一区在线观看| 日韩一级视频免费观看在线| 一区二区三区高清不卡| 国产成人精品网址| 久久先锋影音av| 日韩精品一二三| 欧美这里有精品| 中文字幕在线不卡视频| 国产传媒欧美日韩成人| 日韩精品中文字幕在线一区| 国产精品色在线| 精品一区二区精品| 欧美一级高清片| 三级亚洲高清视频| 欧美色图第一页| 亚洲精品乱码久久久久久久久| 国产1区2区3区精品美女| 精品国产一区二区亚洲人成毛片| 亚洲一区免费视频| 国产乱人伦偷精品视频免下载| 久久久久久久久99精品| 极品少妇一区二区| 欧美r级在线观看| 精一区二区三区| 欧美成人三级在线| 国内外成人在线| xfplay精品久久| 国产精品一区二区黑丝| 久久亚洲免费视频| 国产成人免费在线观看| 国产精品每日更新在线播放网址| 成人国产精品免费网站| 亚洲欧美乱综合| 欧美精品一二三四| 亚洲综合色自拍一区| 欧美欧美午夜aⅴ在线观看| 日本中文字幕不卡| 欧美xxxxx牲另类人与| 国产精品一区二区三区乱码| 中文乱码免费一区二区| 91麻豆免费视频|