亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美三级视频在线播放| 日韩欧美国产系列| 国产日韩综合av| 蜜桃精品在线观看| 欧美日韩在线三级| 视频在线观看91| 中文字幕永久在线不卡| 国产大陆精品国产| 午夜欧美一区二区三区在线播放| 久久九九影视网| 欧美一级在线观看| 91麻豆产精品久久久久久| 国产一区在线观看视频| 亚洲男人都懂的| 国产精品国模大尺度视频| 欧美一个色资源| 在线免费视频一区二区| 久久女同精品一区二区| 日韩天堂在线观看| 日韩国产在线观看一区| 亚洲欧洲精品天堂一级 | 99精品欧美一区二区蜜桃免费 | av高清不卡在线| 久久精品国产亚洲5555| 亚洲专区一二三| 国产欧美一区二区精品忘忧草| 欧美性xxxxxx少妇| 色综合久久中文综合久久97| 国产一区二区主播在线| 成人免费视频一区二区| 成人午夜免费av| 色综合久久中文综合久久97| 99久久综合国产精品| 欧美调教femdomvk| 日韩欧美一二三| 精品日韩在线一区| 中文字幕精品综合| 一区二区三区精品视频在线| 亚洲尤物在线视频观看| 亚洲国产精品麻豆| 日韩精品欧美精品| 国产美女主播视频一区| 97久久精品人人做人人爽| 色综合久久久久久久| 欧美一区二区日韩一区二区| 国产免费久久精品| 午夜精品在线视频一区| 91亚洲精品一区二区乱码| 一本在线高清不卡dvd| 亚洲成人av一区| 麻豆久久一区二区| 日韩欧美电影一二三| 国产最新精品免费| 国产无人区一区二区三区| 成人性生交大片免费看在线播放| 久久久精品欧美丰满| 99久久国产免费看| 亚洲高清免费视频| 国产亚洲欧美日韩俺去了| 99久久久无码国产精品| 免费久久99精品国产| 日本道在线观看一区二区| 蜜桃久久av一区| 日韩欧美三级在线| 日日夜夜免费精品| 美日韩黄色大片| 欧美一区二区三区视频| 一区二区三区在线免费观看| 成人理论电影网| 综合久久久久久| 欧美视频日韩视频在线观看| 香蕉久久一区二区不卡无毒影院 | 欧美日韩精品综合在线| 亚洲一卡二卡三卡四卡| 一区二区三区成人在线视频| 94-欧美-setu| 一区2区3区在线看| 91污在线观看| 午夜一区二区三区视频| 精品久久久久久久久久久院品网| 国产一区二区三区免费播放| 91免费看`日韩一区二区| 日韩二区在线观看| 国产精品视频在线看| 欧美日韩色综合| 高清不卡一区二区在线| 日韩成人一级片| 亚洲三级小视频| 久久97超碰色| 欧美日韩aaa| 懂色一区二区三区免费观看 | 午夜精品福利视频网站| 欧美成人国产一区二区| 色综合久久中文综合久久97| 高清国产一区二区| 欧美一区二区二区| 日韩电影免费在线| 国产精品成人在线观看| 欧美三电影在线| 91亚洲精品久久久蜜桃| 成人在线一区二区三区| 久久激五月天综合精品| 免费高清视频精品| 色婷婷亚洲一区二区三区| 国产精品日产欧美久久久久| 欧美成人一区二区三区片免费| 欧美精品xxxxbbbb| 在线观看欧美精品| 欧美日韩久久久久久| 3751色影院一区二区三区| 欧美日韩免费不卡视频一区二区三区| 亚洲欧美自拍偷拍| 丁香天五香天堂综合| 色综合色狠狠综合色| 在线精品国精品国产尤物884a| 色诱亚洲精品久久久久久| 日本高清不卡aⅴ免费网站| 欧美午夜精品一区二区蜜桃 | 欧美一区二区三区成人| jlzzjlzz亚洲女人18| 色综合久久天天| 欧美老女人在线| 精品国产乱码久久久久久夜甘婷婷| 7777女厕盗摄久久久| 精品日韩成人av| 樱桃视频在线观看一区| 精品一区二区久久| 一本到高清视频免费精品| 欧美刺激午夜性久久久久久久| 国产日韩av一区| 免播放器亚洲一区| 99精品欧美一区二区蜜桃免费| 日韩免费电影一区| 亚洲第一成人在线| 91小视频在线| 久久亚洲综合色| 久久国产尿小便嘘嘘尿| 欧美电影一区二区| 一区二区三区中文字幕| 国产成人av电影在线播放| 精品日韩99亚洲| 蜜桃视频免费观看一区| 欧美精品久久99久久在免费线 | 欧美一区二区精品在线| 综合激情成人伊人| 国内精品国产成人| 天堂成人国产精品一区| 欧美在线观看视频一区二区| 亚洲激情综合网| 欧美日韩国产另类一区| 欧美一区三区四区| 三级影片在线观看欧美日韩一区二区 | 麻豆精品新av中文字幕| 久久久午夜精品理论片中文字幕| 国产精品麻豆网站| 678五月天丁香亚洲综合网| 国产福利一区二区三区视频 | 欧美亚洲综合色| 国产一区二区三区黄视频 | 欧美电影一区二区三区| 丁香五精品蜜臀久久久久99网站| 国产精品久久久久久久久免费桃花 | 日日摸夜夜添夜夜添精品视频| 9i在线看片成人免费| 国产精品不卡一区二区三区| voyeur盗摄精品| 一区二区三区欧美日韩| 91原创在线视频| 亚洲一级电影视频| 欧美一区二区在线不卡| 国产乱码精品1区2区3区| 亚洲国产精品成人久久综合一区| 99v久久综合狠狠综合久久| 亚洲精品成人在线| 日韩一区二区三区视频在线观看| 国产一区二区网址| 亚洲女同一区二区| 日韩欧美综合在线| 欧美视频自拍偷拍| 国产乱色国产精品免费视频| 亚洲自拍偷拍网站| 国产欧美一区二区三区在线看蜜臀 | 欧美电视剧免费全集观看| 97久久精品人人做人人爽50路| 麻豆91精品视频| 欧美三级电影一区| 色av成人天堂桃色av| 99re视频这里只有精品| 久久综合精品国产一区二区三区| fc2成人免费人成在线观看播放| 久久国产精品一区二区| 亚洲电影激情视频网站| 亚洲男人的天堂网| 亚洲欧洲中文日韩久久av乱码| 国产日韩欧美精品在线| 欧美精品一区二| 欧美成人猛片aaaaaaa| 精品国产一区二区亚洲人成毛片| 91精品啪在线观看国产60岁| 8x福利精品第一导航|