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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tame.c

?? 本源代碼包含了各種聲音
?? C
字號(hào):

/*
**
** File:    tame.c
**
** Description: Functions used to avoid possible explosion of the decoder
**              excitation in case of series of long term unstable filters
**              and when the encoder and the decoder are de-synchronized
**
** Functions:
**
**  Computing excitation error estimation :
**      Update_Err()
**  Test excitation error :
**      Test_Err()
*/

/*
    ITU-T G.723 Speech Coder   ANSI-C Source Code     Version 5.0
    copyright (c) 1995, AudioCodes, DSP Group, France Telecom,
    Universite de Sherbrooke.  All rights reserved.
*/
#include <stdlib.h>
#include <stdio.h>

#include "typedef.h"
#include "basop.h"
#include "cst_lbc.h"
#include "lbccodec.h"
#include "coder.h"
#include "exc_lbc.h"
#include "tame.h"
#include "tab_lbc.h"


/*
**
** Function:        Update_Err()
**
** Description:     Estimation of the excitation error associated
**                  to the excitation signal when it is disturbed at
**                  the decoder, the disturbing signal being filtered
**                  by the long term synthesis filters
**                  one value for (SubFrLen/2) samples
**                  Updates the table CodStat.Err
**
** Links to text:   Section
**
** Arguments:
**
**  Word16 Olp      Center value for pitch delay
**  Word16 AcLg     Offset value for pitch delay
**  Word16 AcGn     Index of Gain LT filter
**
** Outputs: None
**
** Return value:    None
**
*/

void Update_Err(
    Word16 Olp, Word16 AcLg, Word16 AcGn
)
{
    Word16 *ptr_tab;
    Word16 i, iz, temp1, temp2;
    Word16 Lag;
    Word32 Worst1, Worst0, L_temp;
    Word16 beta;

    Lag = Olp - (Word16)Pstep + AcLg;

    /* Select Quantization tables */
    i = 0 ;
    ptr_tab = tabgain85;
    if ( WrkRate == Rate63 ) {
        if ( Olp >= (Word16) (SubFrLen-2) ) ptr_tab = tabgain170;
    }
    else {
        ptr_tab = tabgain170;
    }
    beta = ptr_tab[(int)AcGn]; /* beta = gain * 8192 */


    if(Lag <= (SubFrLen/2)) {
        Worst0 = L_mls(CodStat.Err[0], beta);
        Worst0 = L_shl(Worst0, 2);
        Worst0 = L_add(Err0, Worst0);
        Worst1 = Worst0;
    }

    else {
        iz = mult(Lag, 1092);   /* Lag / 30 */
        temp1 = add(iz, 1);
        temp2 = sub(shl(temp1, 5), shl(temp1, 1));      /* 30 (iz+1) */
        if(temp2 != Lag) {

            if(iz == 1) {
                Worst0 = L_mls(CodStat.Err[0], beta);
                Worst0 = L_shl(Worst0, 2);
                Worst0 = L_add(Err0, Worst0);
                Worst1 = L_mls(CodStat.Err[1], beta);
                Worst1 = L_shl(Worst1, 2);
                Worst1 = L_add(Err0, Worst1);
                if(Worst0 > Worst1) Worst1 = Worst0;
                else Worst0 = Worst1;
            }

            else {
                Worst0 = L_mls(CodStat.Err[iz-2], beta);
                Worst0 = L_shl(Worst0, 2);
                Worst0 = L_add(Err0, Worst0);
                L_temp = L_mls(CodStat.Err[iz-1], beta);
                L_temp = L_shl(L_temp, 2);
                L_temp = L_add(Err0, L_temp);
                if(L_temp > Worst0) Worst0 = L_temp;
                Worst1 = L_mls(CodStat.Err[iz], beta);
                Worst1 = L_shl(Worst1, 2);
                Worst1 = L_add(Err0, Worst1);
                if(L_temp > Worst1) Worst1 = L_temp;
            }
        }
        else {  /* Lag % SubFrLen = 0 */
            Worst0 = L_mls(CodStat.Err[iz-1], beta);
            Worst0 = L_shl(Worst0, 2);
            Worst0 = L_add(Err0, Worst0);
            Worst1 = L_mls(CodStat.Err[iz], beta);
            Worst1 = L_shl(Worst1, 2);
            Worst1 = L_add(Err0, Worst1);
        }
    }

    for(i=4; i>=2; i--) {
        CodStat.Err[i] = CodStat.Err[i-2];
    }
    CodStat.Err[0] = Worst0;
    CodStat.Err[1] = Worst1;

    return;
}

/*
**
** Function:        Test_Err()
**
** Description:     Check the error excitation maximum for
**                  the subframe and computes an index iTest used to
**                  calculate the maximum nb of filters (in Find_Acbk) :
**                  Bound = Min(Nmin + iTest x pas, Nmax) , with
**                  AcbkGainTable085 : pas = 2, Nmin = 51, Nmax = 85
**                  AcbkGainTable170 : pas = 4, Nmin = 93, Nmax = 170
**                  iTest depends on the relative difference between
**                  errmax and a fixed threshold
**
** Links to text:   Section
**
** Arguments:
**
**  Word16 Lag1      1st long term Lag of the tested zone
**  Word16 Lag2      2nd long term Lag of the tested zone
**
** Outputs: None
**
** Return value:
**  Word16          index iTest used to compute Acbk number of filters
*/

Word16 Test_Err(
    Word16 Lag1, Word16 Lag2
)
{

    int i, i1, i2;
    Word16 zone1, zone2;
    Word32 Acc, Err_max;
    Word16 iTest;

    i2 = Lag2 + ClPitchOrd/2;
    zone2 = mult( (Word16) i2, (Word16) 1092);

    i1 = - SubFrLen + 1 + Lag1 - ClPitchOrd/2;
    if(i1 <= 0) i1 = 1;
    zone1 = mult( (Word16) i1, (Word16) 1092);

    Err_max = -1L;
    for(i=zone2; i>=zone1; i--) {
        Acc = L_sub(CodStat.Err[i], Err_max);
        if(Acc > 0L) {
                Err_max = CodStat.Err[i];
        }
    }
    Acc = L_sub(Err_max, ThreshErr);
    if((Acc > 0L) || (CodStat.SinDet < 0 ) ) {
        iTest = 0;
    }
    else {
        Acc = L_negate(Acc);
        Acc = L_shr(Acc, DEC);
        iTest = extract_l(Acc);
    }

    return(iTest);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕成人av| 欧美伊人精品成人久久综合97| 7777女厕盗摄久久久| 亚洲欧洲制服丝袜| 91老司机福利 在线| 国产精品日日摸夜夜摸av| 国内精品免费**视频| www久久久久| 国产真实乱子伦精品视频| 欧美日韩在线播放| 欧美猛男男办公室激情| 久久久久久久久岛国免费| 久久精品噜噜噜成人88aⅴ| 91精品国产欧美一区二区| 亚洲第一久久影院| 欧美日韩激情一区| 五月天亚洲婷婷| 7799精品视频| 精品一区二区免费在线观看| 欧美r级电影在线观看| 激情国产一区二区| 久久久精品免费观看| 风间由美性色一区二区三区| 欧美一区二区在线视频| 日日摸夜夜添夜夜添亚洲女人| 欧美一区二区三区不卡| 亚洲精品国产无套在线观| 色偷偷久久人人79超碰人人澡| 一区二区三区色| 欧美另类videos死尸| 日韩精品视频网| 精品国产一二三| www.欧美日韩| 亚洲丝袜美腿综合| 欧美人与z0zoxxxx视频| 久久精品国产免费| 国产精品妹子av| a亚洲天堂av| 亚洲图片自拍偷拍| 精品久久久久久久久久久院品网| 成人丝袜视频网| 亚洲国产一区视频| 精品福利av导航| 欧美中文字幕一区二区三区| 麻豆精品精品国产自在97香蕉| 国产女主播视频一区二区| 在线观看一区二区视频| 奇米影视7777精品一区二区| 中文字幕精品三区| 欧美一区二区三区免费在线看 | 日韩欧美一级特黄在线播放| 国产一区二区三区不卡在线观看| 亚洲免费观看高清完整版在线观看 | 色伊人久久综合中文字幕| 日韩中文欧美在线| 中文字幕亚洲视频| 欧美va日韩va| 欧美又粗又大又爽| 懂色av中文一区二区三区| 亚洲伊人色欲综合网| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲欧美偷拍卡通变态| 久久综合久久综合亚洲| 欧美美女一区二区三区| 欧洲国内综合视频| 91在线高清观看| jiyouzz国产精品久久| 国产精品一二三四五| 秋霞电影一区二区| 日韩av在线发布| 五月婷婷综合在线| 亚洲综合在线视频| 五月婷婷久久综合| 日日夜夜免费精品| 日韩电影免费在线看| 亚洲成人自拍网| 亚洲福利视频三区| 污片在线观看一区二区| 亚洲成年人影院| 天天av天天翘天天综合网| 亚洲成人综合视频| 日韩av中文字幕一区二区 | 另类中文字幕网| 精品亚洲免费视频| 狠狠色2019综合网| 国产乱码一区二区三区| 国产精品中文字幕一区二区三区| 国产福利一区二区三区视频在线 | 91福利资源站| 精品视频一区二区不卡| 欧美日韩极品在线观看一区| 欧美一区二区久久久| 欧美成人乱码一区二区三区| 精品日韩欧美一区二区| 久久精品人人做人人爽97| 国产精品网曝门| 亚洲欧美成aⅴ人在线观看| 亚洲尤物视频在线| 丝瓜av网站精品一区二区| 久久99精品国产.久久久久久 | 国产精品日产欧美久久久久| 亚洲日本一区二区三区| 亚洲高清一区二区三区| 麻豆久久一区二区| 福利视频网站一区二区三区| 99re成人精品视频| 精品视频1区2区| 久久嫩草精品久久久久| 国产精品高潮呻吟| 性做久久久久久免费观看欧美| 捆绑变态av一区二区三区| 成人av在线资源网| 欧美人动与zoxxxx乱| 久久久久久久久蜜桃| 亚洲素人一区二区| 免费观看在线色综合| 成人av网址在线| 6080亚洲精品一区二区| 中文字幕+乱码+中文字幕一区| 亚洲网友自拍偷拍| 国产激情偷乱视频一区二区三区| 色婷婷综合久色| 久久综合色8888| 亚洲伊人色欲综合网| 欧美美女一区二区在线观看| 久久久综合视频| 午夜在线成人av| 成人免费毛片a| 日韩区在线观看| 一区二区欧美国产| 国产麻豆精品在线| 欧美日韩高清在线| 国产精品乱码妇女bbbb| 麻豆久久一区二区| 在线视频亚洲一区| 国产欧美一区二区三区在线老狼| 午夜精品一区二区三区免费视频| 国产一区二区三区在线观看免费视频 | 国产精品一区在线观看乱码 | 99r国产精品| 欧美成人官网二区| 亚洲一区二区三区视频在线| 国产精品一区三区| 91精品欧美综合在线观看最新| 成人欧美一区二区三区| 麻豆一区二区在线| 欧美一区二区三区视频免费播放| 亚洲黄色录像片| 一本久道中文字幕精品亚洲嫩| 亚洲国产精品成人久久综合一区| 久草精品在线观看| 日韩写真欧美这视频| 日韩电影在线观看电影| 欧美视频一区二| 亚洲精品你懂的| 91麻豆免费视频| 亚洲少妇30p| 96av麻豆蜜桃一区二区| 中文字幕一区二区三区蜜月| 国产高清在线观看免费不卡| 久久婷婷成人综合色| 国产在线视频一区二区| 欧美成人性福生活免费看| 日韩成人av影视| 91精品国产乱码| 免费一级片91| 精品国产伦一区二区三区观看体验 | 国模少妇一区二区三区| 欧美不卡激情三级在线观看| 天堂av在线一区| 91麻豆精品久久久久蜜臀| 偷拍自拍另类欧美| 制服丝袜国产精品| 老司机精品视频在线| 久久久久99精品国产片| 国产精品一区二区在线看| 久久嫩草精品久久久精品一| 国产精品1区2区3区| 国产精品久久久久久久久免费桃花| 成人一区在线观看| 亚洲日本青草视频在线怡红院 | 91麻豆精品国产无毒不卡在线观看| 亚洲国产美女搞黄色| 91麻豆精品国产91久久久使用方法| 青青草原综合久久大伊人精品| 精品国产三级a在线观看| 国产+成+人+亚洲欧洲自线| 国产无人区一区二区三区| 北条麻妃一区二区三区| 一区二区三区在线观看网站| 91精品国产日韩91久久久久久| 久久成人麻豆午夜电影| 国产拍欧美日韩视频二区| 91视视频在线观看入口直接观看www | 欧美一级精品大片| 国产精品一区二区三区99| 亚洲欧美日韩在线| 欧美麻豆精品久久久久久| 国产精选一区二区三区| 亚洲精品视频在线看|