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

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

?? bwfwfunc.c

?? E729國際標準的語音編碼
?? C
字號:
/* Version 1.1    Last modified: February 1998 */

#include <stdio.h>
#include <math.h>

#include "typedef.h"
#include "ld8k.h"
#include "ld8e.h"
#include "basic_op.h"
#include "oper_32b.h"
#include "tab_ld8e.h"

#define LOG2_Q11 617

 /* -------------------------------------------------------------------- */
 /*                          TST_BWD_DOMINANT                            */
 /* -------------------------------------------------------------------- */
 /* Test if backward mode is dominant :                                  */
 /* Nbre of Backward frames > 4 * Nbre of Forward frames                 */
 /* It is used for the choice of the perceptual weighting filter         */
 /* Backward dominant : music or stationnary background noise :          */
 /*         Quantized filter (30 coef.) + strong weighting               */
 /* No backward dominant => Non Stationnary signal (mainly speech) :     */
 /*         Unquantized filter (10 coef.) + normal weighting             */
 /* -------------------------------------------------------------------- */
static Word16  count_bwd2 = 0, count_fwd2 = 0;

void tst_bwd_dominant(
    Word16 *bwd_dominant, /* O   Dominant backward mode indication */
    Word16 mode)          /* I   Selected LPC mode */

{

    Word16 tmp, count_all;

    if (mode == 0) count_fwd2++;
    else count_bwd2++;

    count_all = add(count_bwd2, count_fwd2);

    if (count_all == 100) {
        count_all = shr(count_all, 1);
        count_bwd2 = shr(count_bwd2, 1);
        count_fwd2 = shr(count_fwd2, 1);
    }

    *bwd_dominant = 0;
    if (count_all >= 10) {
        tmp = shl(count_fwd2, 2);
        if (count_bwd2 > tmp) *bwd_dominant = 1;
    }

    return;
}




void Int_bwd(Word16 *a_bwd, /* I/O   LPC backward filter */
                  Word16 *prev_filter, /* I previous frame filter */
                  Word16 *C_int     /* I/O interpolation coefficient */
)
{

    Word16  i, tmp1, tmp2, tmp;
    Word32  tmp_L;
    Word16 *pa_bwd;
    Word16 C_int_loc;

    pa_bwd = a_bwd + M_BWDP1;

    /* Calculate the interpolated filters  */
    /* ----------------------------------  */
    C_int_loc = sub(*C_int, 410);
    if( C_int_loc < 0) C_int_loc = 0;

    tmp = sub(4096, C_int_loc);

    for (i=0; i<M_BWDP1; i++) {
        tmp_L = L_mult(pa_bwd[i], tmp);
        tmp_L = L_shr(tmp_L, 13);
        tmp1 = extract_l(tmp_L);
        tmp_L = L_mult(prev_filter[i], C_int_loc);
        tmp_L = L_shr(tmp_L, 13);
        tmp2 = extract_l(tmp_L);
        pa_bwd[i] = add(tmp1, tmp2);
    }

    for (i=0; i<M_BWDP1; i++) {
        tmp1 = shr(pa_bwd[i], 1);
        tmp2 = shr(prev_filter[i], 1);
        a_bwd[i] = add(tmp1, tmp2);
    }

    *C_int = C_int_loc;
    return;
}

/* ---------------------------------------------------------------------- */
/*                                 ENER_DB                                */
/*                                                                        */
/*                        COMPUTATION OF THE ENERGY                       */
/*                                                                        */
/* ---------------------------------------------------------------------- */
Word16 ener_dB(Word16 *synth, Word16 L) {

    Word16  i, j;
    Word16  log_ener, index;
    Word16  res_ener;
    Word32  energy_L = 1;

    for (i=0; i<L; i++) {
        energy_L = L_mac(energy_L, synth[i], synth[i]);
    }

    energy_L = L_shr(energy_L, 1);

    i = 0;
    while (energy_L > 32) {
        energy_L = L_shr(energy_L, 1);
        i++;
    }
    res_ener = extract_l(energy_L);

    log_ener = LOG2_Q11;
    for (j=1; j<i; j++) log_ener = add(log_ener, LOG2_Q11);
    index = sub(res_ener, 16);
    if (index >= 0) log_ener = add(tab_log[index], log_ener);
    else log_ener = 1;

    return(log_ener);
}
/* ----------------------------------------------------------------------- */
/*                                                                         */
/*                              HYBRID WINDOW                              */
/*                              (as in G728)                               */
/*                                                                         */
/*               1st part (0..35) is sine(i*c) where c = 0.047783          */
/*               2nd part (36....) is b*exp((i-35)*log(a))                 */
/*               where b=sine(35*c)                                        */
/*               and a=0.9928337491 is such as a^^40 = 0.75                */
/*               a^^(2*L_FRAME_LB) = 0.75^^6 = 0.1779785156                */
/*                                                                         */
/* ------------------------------------------------------------------------ */

/*------------------------------------------------------------------------------*/
/* Compute the autocorrelation of speech using hybrid window    (as in G.728)   */
/* Fixed Point Version                                                          */
/*------------------------------------------------------------------------------*/
void autocorr_hyb_window(
    Word16  *x,         /* (in)     synthetized speech signal */
    Word32  *r_bwd,       /* (out)    Autocorrelations    */
    Word32 *rexp        /* (in/out) */
)

{
    Word32  tmp_L;
    Word16  rexp_l, rexp_h;
    Word16  i, n, k;
    Word16   w_s[L_ANA_BWD];

    for (n=L_ANA_BWD_M1, k=0; n>=0; n--, k++) w_s[n] = mult(x[n], hw[k]);

    for (i=0; i<=M_BWD; i++) {
        tmp_L = 0;
        for (n=M_BWD; n<N1; n++) tmp_L = L_mac(tmp_L, w_s[n], w_s[n-i]);
        tmp_L = L_shr(tmp_L, 1);
        L_Extract(rexp[i], &rexp_h, &rexp_l);
        rexp[i] = Mpy_32_16(rexp_h, rexp_l, W_FACT);
        rexp[i] = L_add(rexp[i], tmp_L);
    }

    for (i=0; i<=M_BWD; i++) {
        tmp_L = L_shl(rexp[i], 1);
        for (n=N1; n<L_ANA_BWD; n++) tmp_L = L_mac(tmp_L, w_s[n], w_s[n-i]);
        r_bwd[i] = L_shr(tmp_L, 1);
    }
    return;

} /* end of autocorr_hyb_windowing() */


/* ---------------------------------------------------------------------- */
/*                                                                        */
/*                             LAG_WINDOW_BWD                             */
/*                                                                        */
/*      Fixed-point Lag Windowing for backward analysis correlations      */
/*           (values of lag_h_bwd and lag_l_bwd in tab_ld8k.h)            */
/*                                                                        */
/* ---------------------------------------------------------------------- */
void Lag_window_bwd(Word32 *r_bwd, Word16 *r_h, Word16 *r_l)
{

    Word16  i, norm;
    Word32 sum;

    for (i=1; i<= M_BWD; i++) {
        L_Extract(r_bwd[i], &r_h[i], &r_l[i]);
        r_bwd[i] = Mpy_32(r_h[i], r_l[i], lag_h_bwd[i-1], lag_l_bwd[i-1]);
    }
    sum = L_add(r_bwd[0], 1);

    norm = norm_l(sum);
    sum  = L_shl(sum, norm);
    L_Extract(sum, &r_h[0], &r_l[0]);     /* Put in DPF format (see oper_32b) */

    for (i = 1; i <=M_BWD; i++) {
        sum = L_add(r_bwd[i], 1);
        sum = L_shl(sum, norm);
        L_Extract(sum, &r_h[i], &r_l[i]);
    }
    return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区视频精品免费| 亚洲国产精品99久久久久久久久 | 欧美体内she精高潮| 日韩午夜av电影| 亚洲欧美日韩精品久久久久| 免费高清在线视频一区·| 99久久伊人精品| 久久婷婷色综合| 婷婷成人激情在线网| 99久久久国产精品免费蜜臀| 欧美tk丨vk视频| 美女视频网站久久| 在线观看av一区| 综合久久国产九一剧情麻豆| 国产精品99久| 欧美精品一区二区三区蜜桃 | 亚洲成av人片在www色猫咪| 国产91综合网| 欧美mv日韩mv国产网站app| 亚洲国产视频直播| 欧美最新大片在线看| 亚洲欧洲日本在线| 成人禁用看黄a在线| 国产日韩欧美一区二区三区乱码 | 国产精品美女久久福利网站| 精品一区二区三区久久| 日韩一级高清毛片| 蜜桃视频一区二区| 7777女厕盗摄久久久| 午夜精品福利视频网站| 欧美理论电影在线| 日韩高清不卡一区二区| 欧美日韩在线电影| 日韩成人av影视| 欧美老女人第四色| 日韩和欧美一区二区三区| 在线不卡的av| 青青草97国产精品免费观看 | 91色视频在线| 中文字幕一区二区视频| 成人福利视频在线看| 国产精品久久看| 97超碰欧美中文字幕| 一区二区三区精品| 欧美日韩aaaaa| 奇米777欧美一区二区| 日韩美女视频在线| 国产成人免费视频精品含羞草妖精| 久久精品视频一区二区| 不卡一区中文字幕| 夜夜嗨av一区二区三区| 欧美高清视频一二三区 | 不卡av电影在线播放| 亚洲欧洲精品成人久久奇米网| 91在线视频网址| 亚洲成人资源在线| 一区二区三区四区亚洲| 欧美日韩一区视频| 国产最新精品免费| 国产精品久久看| 欧美群妇大交群中文字幕| 久久精品国产99国产精品| 国产视频不卡一区| 欧美亚洲免费在线一区| 美女脱光内衣内裤视频久久网站 | 国产精品三级电影| 欧美在线免费观看亚洲| 日韩电影在线观看电影| 国产欧美视频一区二区| 欧美三区在线视频| 国产一区二区调教| 亚洲国产日韩一级| 久久久久久一二三区| 色综合久久88色综合天天6| 蜜桃在线一区二区三区| 国产精品高清亚洲| 日韩免费视频线观看| 色伊人久久综合中文字幕| 激情丁香综合五月| 亚洲国产一区二区三区| 国产精品天天看| 日韩午夜精品电影| 在线视频你懂得一区| 久久成人免费网| 亚洲一区免费观看| 中日韩av电影| 欧美不卡一区二区三区四区| 暴力调教一区二区三区| 国产精品99久久久久久有的能看| 欧美一级免费观看| 午夜在线电影亚洲一区| 国产日韩欧美在线一区| 91精品国产色综合久久不卡电影 | 欧美成人a∨高清免费观看| 91福利精品第一导航| 国产精品影视在线| 日本欧美一区二区在线观看| 一区二区三区在线不卡| 国产欧美一区二区精品性色超碰| 日韩天堂在线观看| 欧美日韩不卡一区| 在线看日韩精品电影| 91原创在线视频| 成人激情校园春色| 成人一区二区三区中文字幕| 狠狠色综合日日| 美腿丝袜亚洲色图| 日本欧美一区二区| 日韩和欧美一区二区| 亚洲123区在线观看| 一区二区三区国产| 亚洲午夜免费电影| 亚洲国产一区二区a毛片| 一区二区激情小说| 国产一区二区三区免费| 性欧美大战久久久久久久久| 国产精品久线在线观看| 国产精品国产三级国产有无不卡| 国产精品人成在线观看免费| 精品国产一区二区三区av性色| 91精品国产综合久久小美女| 欧美乱熟臀69xxxxxx| 欧美日韩电影在线| 日韩午夜三级在线| 欧美videos中文字幕| 久久精子c满五个校花| 国产片一区二区| 成人欧美一区二区三区黑人麻豆| 国产精品的网站| 一区二区三区自拍| 亚洲国产sm捆绑调教视频 | 欧美第一区第二区| 欧美成人女星排名| 国产网红主播福利一区二区| 国产日韩欧美一区二区三区乱码 | 在线播放国产精品二区一二区四区| 国产乱人伦精品一区二区在线观看| 激情伊人五月天久久综合| 在线观看不卡视频| 黑人巨大精品欧美一区| 国产盗摄一区二区| 91啪亚洲精品| 欧美日韩不卡一区二区| 精品久久国产老人久久综合| 日本一区二区三区在线不卡| 亚洲视频在线一区| 日本色综合中文字幕| 大桥未久av一区二区三区中文| 在线视频你懂得一区| 精品人伦一区二区色婷婷| 国产精品激情偷乱一区二区∴| 亚洲国产精品人人做人人爽| 久久疯狂做爰流白浆xx| 成人黄色网址在线观看| 69精品人人人人| 亚洲国产精品黑人久久久| 天堂一区二区在线免费观看| 国产不卡在线视频| 欧美人伦禁忌dvd放荡欲情| 欧美激情综合五月色丁香| 这里只有精品电影| 国产欧美一区二区精品性| 日韩**一区毛片| 成人免费av网站| 欧美一区二区三区在线电影| 国产日韩精品一区二区浪潮av| 一区二区三区91| 国产福利不卡视频| 717成人午夜免费福利电影| 国产精品三级在线观看| 青青草国产精品亚洲专区无| 91在线视频观看| 2020国产精品自拍| 一区二区三区四区高清精品免费观看| 久久国产精品99精品国产| 欧洲在线/亚洲| 国产精品亲子伦对白| 捆绑变态av一区二区三区| 日本韩国一区二区三区| 国产精品网曝门| 国产精品中文有码| 日韩欧美国产电影| 图片区小说区区亚洲影院| 成人av在线网站| 国产日韩精品视频一区| 免费精品视频在线| 5858s免费视频成人| 亚洲电影第三页| 欧美揉bbbbb揉bbbbb| 亚洲精品成a人| 色久综合一二码| 亚洲你懂的在线视频| 91在线视频观看| 亚洲欧洲另类国产综合| 99re视频这里只有精品| 中文字幕视频一区二区三区久| 成人激情图片网| 中文字幕在线观看不卡| 粉嫩一区二区三区在线看| 国产午夜精品一区二区三区嫩草|