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

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

?? pst.c

?? 非常流行的C語言實現的G.729壓縮算法
?? C
?? 第 1 頁 / 共 3 頁
字號:
    /* save energy for final decision */
    if(sh_ener > 0) {
        ener = extract_l(L_shr(L_acc, sh_ener));
    }
    else {
        sh_ener = 0;
        ener = extract_l(L_acc);
    }

    /*************************************/
    /* Selects best of 3 integer delays  */
    /* Maximum of 3 numerators around t0 */
    /*************************************/
    lambda = sub(t0,1);
    ptr_sig_past = ptr_sig_in - lambda;

    L_num_int = -1L;

   /* initialization used only to suppress Microsoft Visual C++ warnings */
    i_max = (Word16)0;

    for(i=0; i<3; i++) {
        L_acc = 0L;
        for(n=0; n<L_SUBFR; n++) {
            L_acc = L_mac( L_acc, ptr_sig_in[n] , ptr_sig_past[n]);
        }
        if(L_acc < 0) {
            L_acc = 0L;
        }
        L_temp =L_sub(L_acc ,L_num_int);
        if(L_temp > 0L) {
            L_num_int = L_acc;
            i_max = (Word16)i;
        }
        ptr_sig_past--;
    }

    if(L_num_int == 0) {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
        return;
    }

    /* Compute den for i_max */
    lambda = add(lambda, (Word16)i_max);
    ptr_sig_past = ptr_sig_in - lambda;
    L_acc = 0L;
    for(i=0; i<L_SUBFR; i++) {
        temp = *ptr_sig_past++;
        L_acc = L_mac( L_acc, temp, temp);
    }
    if(L_acc == 0L) {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
        return;
    }
    L_den_int = L_acc;


    /***********************************/
    /* Select best phase around lambda */
    /***********************************/

    /* Compute y_up & denominators */
    /*******************************/

    ptr_y_up = y_up;
    L_den_max = L_den_int;
    ptr_L_den0 = L_den0;
    ptr_L_den1 = L_den1;
    ptr_h = tab_hup_s;
    temp = sub(lambda, LH_UP_SM1);
    ptr_sig_past0 = ptr_sig_in - temp;

    /* Loop on phase */
    for(phi=1; phi<F_UP_PST; phi++) {

        /* Compute y_up for lambda+1 - phi/F_UP_PST */
        /* and lambda - phi/F_UP_PST                */

        ptr_sig_past = ptr_sig_past0;
        for(n = 0; n<=L_SUBFR; n++) {
            ptr1 = ptr_sig_past++;
            L_acc = 0L;
            for(i=0; i<LH2_S; i++) {
                L_acc = L_mac(L_acc, ptr_h[i], ptr1[-i]);
            }
            ptr_y_up[n] = round(L_acc);
        }

        /* compute den0 (lambda+1) and den1 (lambda) */

        /* part common to den0 and den1 */
        L_acc = 0L;
        for(n=1; n<L_SUBFR; n++) {
            L_acc = L_mac(L_acc, ptr_y_up[n] ,ptr_y_up[n]);
        }
        L_temp0 = L_acc;        /* saved for den1 */

        /* den0 */
        L_acc = L_mac(L_acc, ptr_y_up[0] ,ptr_y_up[0]);
        *ptr_L_den0 = L_acc;

        /* den1 */
        L_acc = L_mac(L_temp0, ptr_y_up[L_SUBFR] ,ptr_y_up[L_SUBFR]);
        *ptr_L_den1 = L_acc;

        if(sub(abs_s(ptr_y_up[0]),abs_s(ptr_y_up[L_SUBFR])) >0) {
            L_temp =L_sub(*ptr_L_den0 ,L_den_max );
            if(L_temp> 0L) {
                L_den_max = *ptr_L_den0;
            }
        }
        else {
            L_temp =L_sub(*ptr_L_den1 ,L_den_max );
            if(L_temp> 0L) {
                L_den_max = *ptr_L_den1;
            }
        }
        ptr_L_den0++;
        ptr_L_den1++;
        ptr_y_up += L_SUBFRP1;
        ptr_h += LH2_S;
    }

    if(L_den_max == 0) {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
        return;
    }

    sh_den = sub(16, norm_l(L_den_max));
    /* if sh_den <= 0 :  dynamic between current frame */
    /* and delay line too high                         */
    if(sh_den <= 0) {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
        return;
    }

    /* search sh_num to justify correlations   */
    /* sh_num = Max(sh_den, sh_ener)           */
    sh_num = (sub( sh_den , sh_ener)>=0) ? sh_den : sh_ener;

    /* Computation of the numerators                */
    /* and selection of best num*num/den            */
    /* for non null phases                          */

    /* Initialize with null phase */
    L_acc        = L_shr(L_den_int, sh_den);   /* sh_den > 0 */
    den_max      = extract_l(L_acc);
    L_acc        = L_shr(L_num_int, sh_num);   /* sh_num > 0 */
    num_max      = extract_l(L_acc);
    L_acc        = L_mult(num_max, num_max);
    L_Extract(L_acc, &hi_numsq_max, &lo_numsq_max);
    phi_max      = 0;
    ioff         = 1;

    ptr_L_den0   = L_den0;
    ptr_L_den1   = L_den1;
    ptr_y_up     = y_up;

    /* if den_max = 0 : will be selected and declared unvoiced */
    /* if num!=0 & den=0 : will be selected and declared unvoiced */
    /* degenerated seldom cases, switch off LT is OK */

    /* Loop on phase */
    for(phi=1; phi<F_UP_PST; phi++) {

        /* compute num for lambda+1 - phi/F_UP_PST */
        L_acc = 0L;
        for(n = 0; n<L_SUBFR; n++) {
            L_acc = L_mac(L_acc, ptr_sig_in[n] ,ptr_y_up[n]);
        }
        L_acc = L_shr(L_acc, sh_num);       /* sh_num > 0 */
        if(L_acc < 0L) {
            num = 0;
        }
        else {
            num  = extract_l(L_acc);
        }

        /* selection if num**2/den0 max */
        L_acc    = L_mult(num, num);
        L_Extract(L_acc, &hi_numsq, &lo_numsq);
        L_temp0  = Mpy_32_16(hi_numsq, lo_numsq, den_max);
        L_acc    = *ptr_L_den0++;
        L_acc    = L_shr(L_acc, sh_den);        /* sh_den > 0 */
        den0     = extract_l(L_acc);
        L_temp1  = Mpy_32_16(hi_numsq_max, lo_numsq_max, den0);
        L_temp = L_sub(L_temp0, L_temp1);
        if(L_temp>0L) {
            num_max      = num;
            hi_numsq_max = hi_numsq;
            lo_numsq_max = lo_numsq;
            den_max      = den0;
            ioff         = 0;
            phi_max      = phi;
        }

        /* compute num for lambda - phi/F_UP_PST */
        ptr_y_up++;
        L_acc = 0L;
        for(n = 0; n<L_SUBFR; n++) {
            L_acc = L_mac(L_acc, ptr_sig_in[n] ,ptr_y_up[n]);
        }
        L_acc = L_shr(L_acc, sh_num);   /* sh_num > 0 */
        if(L_acc < 0L) {
            num = 0;
        }
        else {
            num  = extract_l(L_acc);
        }

        /* selection if num**2/den1 max */
        L_acc    = L_mult(num, num);
        L_Extract(L_acc, &hi_numsq, &lo_numsq);
        L_temp0  = Mpy_32_16(hi_numsq, lo_numsq, den_max);
        L_acc    = *ptr_L_den1++;
        L_acc    = L_shr(L_acc, sh_den);        /* sh_den > 0 */
        den1     = extract_l(L_acc);
        L_temp1  = Mpy_32_16(hi_numsq_max, lo_numsq_max, den1);
        L_temp = L_sub(L_temp0,L_temp1);
        if(L_temp> 0L) {
            num_max      = num;
            hi_numsq_max = hi_numsq;
            lo_numsq_max = lo_numsq;
            den_max     = den1;
            ioff        = 1;
            phi_max     = phi;
        }

        ptr_y_up += L_SUBFR;
    }

    /***************************************************/
    /*** test if normalized crit0[iopt] > THRESHCRIT ***/
    /***************************************************/
    if((num_max == 0) || (sub(den_max,1) <= 0)) {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
        return;
    }

    /* compare num**2               */
    /* to ener * den * 0.5          */
    /* (THRESHCRIT = 0.5)           */
    L_temp1 = L_mult(den_max, ener);
    L_temp0 = L_Comp(hi_numsq_max, lo_numsq_max);

    /* temp = 2 * sh_num - sh_den - sh_ener + 1 */
    /* 16 bits with no overflows  */
    temp = shl(sh_num,1);
    temp = sub(temp, sh_den);
    temp = sub(temp, sh_ener);
    temp = add(temp, 1);
    if(temp < 0) {
        temp    = negate(temp);             /* no overflow */
        L_temp0 = L_shr(L_temp0, temp);
    }
    else {
        if(temp > 0) L_temp1 = L_shr(L_temp1, temp);
    }
    L_temp = L_sub(L_temp0 ,L_temp1);
    if(L_temp >= 0L) {
        temp         = add(lambda, 1);
        *ltpdel      = sub(temp, ioff);
        *off_yup     = ioff;
        *phase       = phi_max;
        *num_gltp    = num_max;
        *den_gltp    = den_max;
        *sh_den_gltp = sh_den;
        *sh_num_gltp = sh_num;
    }
    else {
        *num_gltp = 0;
        *den_gltp = 1;
        *ltpdel = 0;
        *phase = 0;
    }
    return;

}

/*----------------------------------------------------------------------------
 *  filt_plt -  ltp  postfilter
 *----------------------------------------------------------------------------
 */
static void filt_plt(
 Word16 *s_in,       /* input : input signal with past*/
 Word16 *s_ltp,      /* input : filtered signal with gain 1 */
 Word16 *s_out,      /* output: output signal */
 Word16 gain_plt     /* input : filter gain  */
)
{

    /* Local variables */
    int n;
    Word32 L_acc;
    Word16 gain_plt_1;

    gain_plt_1 = sub(32767, gain_plt);
    gain_plt_1 = add(gain_plt_1, 1);        /* 2**15 (1 - g) */

    for(n=0;  n<L_SUBFR; n++) {
        /* s_out(n) = gain_plt x s_in(n) + gain_plt_1 x s_ltp(n)        */
        L_acc    = L_mult(gain_plt, s_in[n]);
        L_acc    = L_mac(L_acc, gain_plt_1, s_ltp[n]);  /* no overflow      */
        s_out[n] = round(L_acc);
    }

    return;
}


/*----------------------------------------------------------------------------
 *  compute_ltp_l : compute delayed signal,
                    num & den of gain for fractional delay
 *                  with long interpolation filter
 *----------------------------------------------------------------------------
 */
static void compute_ltp_l(
 Word16 *s_in,       /* input signal with past*/
 Word16 ltpdel,      /* delay factor */
 Word16 phase,       /* phase factor */
 Word16 *y_up,       /* delayed signal */
 Word16 *num,        /* numerator of LTP gain */
 Word16 *den,        /* denominator of LTP gain */
 Word16 *sh_num,     /* justification factor of num */
 Word16 *sh_den      /* justification factor of den */
)
{

/**** Table of constants declared externally            */
    extern Word16 tab_hup_l[SIZ_TAB_HUP_L];

    /* Pointer on table of constants */
    Word16 *ptr_h;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美妇女性影城| www.激情成人| 日韩精品一区二区三区在线观看 | 久久久99久久精品欧美| 久久成人麻豆午夜电影| 久久理论电影网| 不卡视频一二三| 一卡二卡三卡日韩欧美| 欧美日韩成人一区| 久久精品国产**网站演员| xvideos.蜜桃一区二区| 成人午夜又粗又硬又大| 亚洲在线观看免费| 日韩精品一区二区三区四区视频 | 在线视频欧美区| 婷婷一区二区三区| 久久午夜电影网| 色综合久久六月婷婷中文字幕| 夜色激情一区二区| 久久久综合激的五月天| 一本在线高清不卡dvd| 日本麻豆一区二区三区视频| 国产亚洲精品久| 欧美日韩精品欧美日韩精品一| 久久99精品久久久| 亚洲女人小视频在线观看| 欧美一区2区视频在线观看| 成人免费视频播放| 美女免费视频一区| 依依成人综合视频| 久久尤物电影视频在线观看| 色诱视频网站一区| 久久99九九99精品| 夜夜爽夜夜爽精品视频| 337p日本欧洲亚洲大胆色噜噜| 91性感美女视频| 麻豆91免费观看| 亚洲综合偷拍欧美一区色| 国产午夜精品久久久久久免费视| 欧美日免费三级在线| 成人一级黄色片| 精品在线一区二区| 亚洲一区二区影院| 中文字幕一区二区三中文字幕| 欧美一级一级性生活免费录像| 波多野结衣中文字幕一区二区三区 | 六月丁香婷婷色狠狠久久| 中文字幕在线不卡一区二区三区| 日韩一区二区高清| 久久婷婷色综合| 欧美午夜精品久久久久久孕妇 | 日本色综合中文字幕| 亚洲日本va在线观看| 国产欧美视频一区二区三区| 日韩欧美国产一二三区| 欧美三片在线视频观看| 99久久精品免费看国产免费软件| 国产真实乱偷精品视频免| 日产欧产美韩系列久久99| 亚洲亚洲精品在线观看| 亚洲精品视频在线观看免费| 国产精品久久久久久久第一福利 | 91色视频在线| 成人夜色视频网站在线观看| 国产一区二区日韩精品| 国产一区二区调教| 麻豆精品一二三| 麻豆精品蜜桃视频网站| 日本美女一区二区三区| 日韩av电影一区| 日韩二区三区在线观看| 亚洲mv在线观看| 亚洲国产综合人成综合网站| 亚洲一区在线播放| 亚洲午夜一区二区| 亚洲不卡av一区二区三区| 一个色在线综合| 亚洲愉拍自拍另类高清精品| 一区二区三区美女视频| 一区二区三区四区蜜桃| 亚洲综合免费观看高清完整版在线 | 6080亚洲精品一区二区| 欧美一区二区三区在| 日韩三级精品电影久久久| 欧美一级视频精品观看| 日韩欧美在线1卡| 精品国产一区二区三区久久影院| 2020国产成人综合网| 久久精品男人的天堂| 中文在线一区二区| 国产精品成人网| 一区二区三区日韩在线观看| 亚洲一区二区三区在线播放| 天天综合网 天天综合色| 久久精品国产第一区二区三区| 精品一区二区三区在线播放视频| 国产精品影视天天线| av日韩在线网站| 欧美日韩精品一区二区在线播放| 欧美丰满美乳xxx高潮www| 精品福利一区二区三区免费视频| 久久日韩粉嫩一区二区三区| 日韩一区欧美一区| 亚洲一区二区成人在线观看| 美女网站一区二区| 成人一区二区三区中文字幕| 欧美午夜一区二区| 久久婷婷久久一区二区三区| 综合欧美亚洲日本| 成人激情图片网| 欧洲国内综合视频| 欧美电影精品一区二区 | 亚洲欧美日韩电影| 青草av.久久免费一区| 国产激情偷乱视频一区二区三区| 色婷婷激情综合| 欧美成人bangbros| 亚洲免费伊人电影| 久久99国产精品久久99| 91丝袜美腿高跟国产极品老师| 69堂亚洲精品首页| 中文一区二区在线观看| 日韩电影一二三区| 色婷婷国产精品综合在线观看| 日韩视频在线观看一区二区| 亚洲私人影院在线观看| 另类小说综合欧美亚洲| 一本一本大道香蕉久在线精品 | 日本aⅴ免费视频一区二区三区| 国产69精品一区二区亚洲孕妇| 欧美日韩一区国产| 国产精品美女久久福利网站| 日本亚洲一区二区| 色八戒一区二区三区| 国产亲近乱来精品视频| 六月丁香婷婷色狠狠久久| 欧洲视频一区二区| 中文字幕在线一区| 精品一区二区三区香蕉蜜桃| 欧美日本在线播放| 亚洲欧美日韩成人高清在线一区| 国产一区二区按摩在线观看| 91精品国产高清一区二区三区| 亚洲免费观看高清| 床上的激情91.| 久久综合九色综合久久久精品综合| 亚洲一区自拍偷拍| 99久久精品免费看| 国产精品女上位| 国产成人综合在线播放| 精品国偷自产国产一区| 日本在线不卡一区| 欧美二区三区91| 午夜激情久久久| 欧美日韩一区国产| 午夜精品免费在线| 欧美性感一类影片在线播放| 亚洲精品久久久蜜桃| av中文字幕亚洲| 中文字幕一区二区三区不卡在线| 丰满放荡岳乱妇91ww| 国产欧美日韩卡一| 国产成人精品免费| 国产欧美1区2区3区| 国产精品一二三区| 国产人伦精品一区二区| 国产成人8x视频一区二区| 欧美国产精品久久| 99久久精品国产一区二区三区 | 国产成人8x视频一区二区| 国产喂奶挤奶一区二区三区| 国产成人av一区二区三区在线 | 亚洲最大成人综合| 欧美三级乱人伦电影| 日韩av中文字幕一区二区三区 | 欧美精品一区二区三区蜜臀| 91丨九色丨国产丨porny| 国产欧美视频在线观看| 99麻豆久久久国产精品免费优播| 最新国产の精品合集bt伙计| 色94色欧美sute亚洲线路一ni| 亚洲国产日产av| 717成人午夜免费福利电影| 久久精品国产久精国产| 久久精品欧美一区二区三区不卡 | 精品一区中文字幕| 中文字幕av在线一区二区三区| 99久久伊人网影院| 亚洲成人动漫在线观看| 日韩你懂的电影在线观看| 国产毛片精品国产一区二区三区| 中文字幕 久热精品 视频在线 | 欧美四级电影网| 男女激情视频一区| 日本一区二区三区dvd视频在线| 一本色道久久综合狠狠躁的推荐| 亚洲一区二区三区小说| 欧美va亚洲va国产综合| 成人av电影在线播放| 日韩av高清在线观看|