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

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

?? encg729.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
?? 第 1 頁 / 共 5 頁
字號:
                ippsCopy_16s(freqNow, encoderObj->prevLSPfreq[0], LPF_DIM);
                *pAna++ = LSPcode[0]; *pAna++ = LSPcode[1];
            }
            ippsCopy_16s(&pAq[LPF_DIM+1], encoderObj->pPrevFilt, LPF_DIM+1);
            ippsZero_16s(encoderObj->pPrevFilt+LPF_DIM+1,BWLPCF1_DIM-LPF_DIM-1);
            ippsZero_16s(encoderObj->zeroPostFiltVec1+LPF_DIM+1,BWLPCF1_DIM-LPF_DIM-1);

            for(i= 0; i< 4; i++)
                encoderObj->pLag[i] = encoderObj->pLag[i+1];

            avgLag = encoderObj->pLag[0]+encoderObj->pLag[1];
            avgLag += encoderObj->pLag[2];
            avgLag += encoderObj->pLag[3];
            avgLag = (avgLag * BWF_HARMONIC_E + (int)BWF_HARMONIC)>>15;

            tmp1 = bestOPLag - (avgLag<<1);
            tmp2 = bestOPLag - ((avgLag<<1)+avgLag);
            if( Abs_16s(tmp1) < 4) {
                encoderObj->pLag[4] = bestOPLag>>1;
            } else if( Abs_16s(tmp2) < 6) {
                encoderObj->pLag[4] = (bestOPLag * 10923)>>15;
            } else {
                encoderObj->pLag[4] = bestOPLag;
            }
        } else {
            if(encoderObj->dominantBWDmode == 0) {
                mAp = LPF_DIM; pAp = pAp_t;
                wfact1[0] = wfact1[1] = COEFF1;
                wfact2[0] = wfact2[1] = 13107;
            } else {
                mAp = BWLPCF_DIM; pAp = pBwdLPC2;
                wfact1[0] = wfact1[1] = 32112;
                wfact2[0] = wfact2[1] = 13107;
            }

            ppAp = pAp;
            pAq = pBwdLPC2;
            mAq = BWLPCF_DIM;

            if(encoderObj->dominantBWDmode == 0) {
                for(j=LPF_DIM+1; j<BWLPCF1_DIM; j++) encoderObj->zeroPostFiltVec1[j] = 0;
            }
            /* next frame's previous filter update */
            ippsCopy_16s(&pAq[BWLPCF1_DIM], encoderObj->pPrevFilt, BWLPCF1_DIM);

            ippsMulPowerC_NR_16s_Sfs(&pAp[0],wfact1[0], pAp1,mAp+1,15);
            ippsMulPowerC_NR_16s_Sfs(&pAp[0],wfact2[0], pAp2,mAp+1,15);

            ippsResidualFilter_G729E_16s( pAp1, mAp,&PRESENT_SPEECH[0], &wsp[0], LP_SUBFRAME_DIM);
            SynthesisFilterOvf_G729_16s_I(pAp2,wsp,LP_SUBFRAME_DIM,synFltw,BWLPCF_DIM-mAp);

            /* weighted speech signal for 2-nd subframe */
            ippsMulPowerC_NR_16s_Sfs(&pAp[mAp+1],wfact1[1], pAp1,mAp+1,15);
            ippsMulPowerC_NR_16s_Sfs(&pAp[mAp+1],wfact2[1], pAp2,mAp+1,15);
            ippsResidualFilter_G729E_16s( pAp1,mAp, &PRESENT_SPEECH[LP_SUBFRAME_DIM], &wsp[LP_SUBFRAME_DIM], LP_SUBFRAME_DIM);
            SynthesisFilterOvf_G729_16s_I(pAp2,&wsp[LP_SUBFRAME_DIM],LP_SUBFRAME_DIM,synFltw,BWLPCF_DIM-mAp);
            if(encoderObj->codecType == G729E_CODEC) *pAna++ = lpMode;
            ippsOpenLoopPitchSearch_G729_16s(wsp, &bestOPLag);

            for(i= 0; i< 4; i++)
                encoderObj->pLag[i] = encoderObj->pLag[i+1];
            avgLag = encoderObj->pLag[0]+encoderObj->pLag[1];
            avgLag += encoderObj->pLag[2];
            avgLag += encoderObj->pLag[3];
            avgLag = (avgLag * BWF_HARMONIC_E)>>15;
            tmp1 = bestOPLag - (avgLag<<1);
            tmp2 = bestOPLag - ((avgLag<<1)+avgLag);
            if( Abs_16s(tmp1) < 4) {
                encoderObj->pLag[4] = bestOPLag>>1;
            } else if( Abs_16s(tmp2) < 6) {
                encoderObj->pLag[4] = (bestOPLag * 10923)>>15;
            } else {
                encoderObj->pLag[4] = bestOPLag;
            }
        }
        LOCAL_ALIGN_ARRAY_FREE(32, int, autoR, VAD_LPC_DIM +2,encoderObj);
        LOCAL_ALIGN_ARRAY_FREE(32, short, newQlsp, LPF_DIM+1,encoderObj);
        LOCAL_ALIGN_ARRAY_FREE(32, short, newLSP, LPF_DIM,encoderObj);
        LOCAL_ALIGN_ARRAY_FREE(32, short, rCoeff, LPF_DIM,encoderObj);
    }
    ppAp = pAp;
    ppAq = pAq;
    valOpenDelay=bestOPLag;
    subfr = 0;
    for(subfrIdx = 0;  subfrIdx < LP_FRAME_DIM; subfrIdx += LP_SUBFRAME_DIM) {

        ippsMulPowerC_NR_16s_Sfs(ppAp,wfact1[subfr], pAp1,mAp+1,15);
        ippsMulPowerC_NR_16s_Sfs(ppAp,wfact2[subfr], pAp2,mAp+1,15);
        subfr++;

        ippsCopy_16s(pAp1,encoderObj->zeroPostFiltVec1,mAp+1);

        ippsSynthesisFilter_G729E_16s(ppAq, mAq,  encoderObj->zeroPostFiltVec1, impResp, LP_SUBFRAME_DIM, nullArr);
        ippsSynthesisFilter_G729E_16s_I(pAp2, mAp, impResp, LP_SUBFRAME_DIM, nullArr);

        ippsResidualFilter_G729E_16s( ppAq,mAq, &PRESENT_SPEECH[subfrIdx], &exc[subfrIdx], LP_SUBFRAME_DIM);
        ippsCopy_16s(&exc[subfrIdx],LTPresid,LP_SUBFRAME_DIM);
        ippsSynthesisFilter_G729E_16s(ppAq, mAq, &exc[subfrIdx], error, LP_SUBFRAME_DIM, &resFilMem[BWLPCF_DIM-mAq]);

        ippsResidualFilter_G729E_16s( pAp1, mAp,error, val1, LP_SUBFRAME_DIM);
        ippsSynthesisFilter_G729E_16s_I(pAp2, mAp, val1, LP_SUBFRAME_DIM, &resFilMem0[BWLPCF_DIM-mAp]);

        if(encoderObj->codecType == G729D_CODEC) {
            ippsAdaptiveCodebookSearch_G729D_16s((short)valOpenDelay, val1,impResp,&prevExcitat[subfrIdx],(short)(subfrIdx!=0),delay);
        } else {

            ippsAdaptiveCodebookSearch_G729_16s((short)valOpenDelay, val1,impResp,&prevExcitat[subfrIdx],delay,tmp_not_used,(short)(subfrIdx!=0));
        }

         if(subfrIdx == 0) {  /* 1-st subframe */
            if(delay[0] <= 85) {
                index = 3 * (delay[0] - 19) + delay[1] - 1 ;
            } else {
                index = delay[0] - 85 + 197;
            }
        } else { /* 2-nd subframe */
            i = valOpenDelay - 5;
            if(i < MIN_PITCH_LAG) {
                i = MIN_PITCH_LAG;
            }
            if(i + 9 > MAX_PITCH_LAG) {
                i = MAX_PITCH_LAG - 9;
            }
            if(encoderObj->codecType == G729D_CODEC) {
                i = delay[0] - i;
                if(i < 3)
                    index = i;
                else if(i < 7) {
                    index = (i - 3) * 3 + delay[1] + 3;
                } else {
                    index = i + 6;
                }
            } else {
                index = (delay[0] - i)*3 + 2 + delay[1];
            }
        }
        valOpenDelay=delay[0];
        *pAna++ = index; /* Pitch delay for the current 1-st or 2-nd subframe  */
        if( (subfrIdx == 0) && (encoderObj->codecType != G729D_CODEC) ) {
            *pAna = equality(index);
            if( encoderObj->codecType == G729E_CODEC) *pAna ^= ((index>>1) & 1);
            pAna++;
        }
        if(encoderObj->codecType == G729_CODEC) {

            ippsAdaptiveCodebookGain_G729_16s(val1,impResp,&exc[subfrIdx],y1,&gainAc);
        } else {
            if(encoderObj->codecType == G729D_CODEC)
                ippsDecodeAdaptiveVector_G729_16s_I(delay,&prevExcitat[subfrIdx]);

            ippsAdaptiveCodebookGain_G729_16s(val1,impResp,&exc[subfrIdx],y1,&gainAc);
        }
        if(delay[1] > 0) {
            i = delay[0] + 1;
        } else {
            i = delay[0];
        }
        improveFlag = calcErr_G729(i, encoderObj->coderErr);
        if(improveFlag && gainAc > PITCH_GAIN_MAX) gainAc = PITCH_GAIN_MAX;

        ippsAdaptiveCodebookContribution_G729_16s(gainAc,y1,val1,tmpVec2);

        betaPreFilter = betaPreFilter << 1;
        if(valOpenDelay < LP_SUBFRAME_DIM)
            ippsHarmonicFilter_16s_I(betaPreFilter,valOpenDelay,&impResp[valOpenDelay],LP_SUBFRAME_DIM-valOpenDelay);

        switch(encoderObj->codecType) {
            case G729_CODEC:
                {

                    LOCAL_ALIGN_ARRAY(32, int, rr, CORR_DIM, encoderObj);
                    LOCAL_ALIGN_ARRAY(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    ippsCrossCorr_NormM_16s(impResp,tmpVec2,LP_SUBFRAME_DIM,Dn);

                    ippsToeplizMatrix_G729_16s32s(impResp, rr);
                    ippsFixedCodebookSearch_G729_32s16s(Dn, rr, codeword,indexFC,&encoderObj->extraTime, (short)subfrIdx);
                    CodewordImpConv_G729(indexFC[1],codeword,impResp,y2);

                    *pAna++ = indexFC[1]; /*  index  of positions */
                    *pAna++ = indexFC[0]; /*  index of signs  */

                    LOCAL_ALIGN_ARRAY_FREE(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    LOCAL_ALIGN_ARRAY_FREE(32, int, rr, CORR_DIM, encoderObj);
                    break;
                }
            case G729D_CODEC:
                {
                    LOCAL_ALIGN_ARRAY(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    short tmp;

                    /*  target vector with impulse response correlation */
                    ippsCrossCorr_NormM_16s(impResp,tmpVec2,LP_SUBFRAME_DIM,Dn);

                    ippsFixedCodebookSearch_G729D_16s( Dn, impResp, codeword, y2, &tmp,&index);

                    *pAna++ = index;/*  index  of positions */
                    *pAna++ = tmp;  /*  index of signs  */
                    LOCAL_ALIGN_ARRAY_FREE(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    break;

                }
            case G729E_CODEC:
                {

                    /* calculate residual after LTP */
                    ippsAdaptiveCodebookContribution_G729_16s(gainAc,&exc[subfrIdx],LTPresid,LTPresid);
                    /* lpMode - 0=Forward, 1=Backward*/
                    ippsFixedCodebookSearch_G729E_16s(lpMode,tmpVec2, LTPresid, impResp, codeword, y2, pAna);
                    pAna += 5;
                    break;
                }
            default:
                {
                    LOCAL_ALIGN_ARRAY(32, int, rr, CORR_DIM, encoderObj);
                    LOCAL_ALIGN_ARRAY(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    /* correlation of target vector with impulse response */
                    ippsCrossCorr_NormM_16s(impResp,tmpVec2,LP_SUBFRAME_DIM,Dn);

                    /*  impulse response auto correlation matrix */
                    ippsToeplizMatrix_G729_16s32s(impResp, rr);
                    ippsFixedCodebookSearch_G729_32s16s(Dn, rr, codeword,indexFC,&encoderObj->extraTime, (short)subfrIdx);
                    CodewordImpConv_G729(indexFC[1],codeword,impResp,y2);

                    *pAna++ = indexFC[1];/*  index  of positions */
                    *pAna++ = indexFC[0];/*  index of signs  */

                    encoderObj->codecType = G729_CODEC;
                    LOCAL_ALIGN_ARRAY_FREE(32, short, Dn, LP_SUBFRAME_DIM, encoderObj);
                    LOCAL_ALIGN_ARRAY_FREE(32, int, rr, CORR_DIM, encoderObj);
                    break;
                }
        }

        /* include fixed-gain pitch contribution into codeword */
        if(valOpenDelay < LP_SUBFRAME_DIM)
            ippsHarmonicFilter_16s_I(betaPreFilter,valOpenDelay,&codeword[valOpenDelay],LP_SUBFRAME_DIM-valOpenDelay);

        if(encoderObj->codecType != G729D_CODEC) {
            LOCAL_ARRAY(short, gains, 2, encoderObj);
            LOCAL_ARRAY(short, gInd, 2, encoderObj);
            ippsGainQuant_G729_16s(val1, y1, codeword, y2, encoderObj->prevFrameQuantEn, gains, gInd,improveFlag);
            gainPit  = gains[0];
            gainCode = gains[1];
            *pAna++ = (LUT1[gInd[0]]<<CDBK2_BIT_NUM) | LUT2[gInd[1]];

            LOCAL_ARRAY_FREE(short, gInd, 2, encoderObj);
            LOCAL_ARRAY_FREE(short, gains, 2, encoderObj);
        } else {
            LOCAL_ARRAY(short, gains, 2, encoderObj);
            LOCAL_ARRAY(short, gInd, 2, encoderObj);
            ippsGainQuant_G729D_16s(val1,y1,codeword,y2,encoderObj->prevFrameQuantEn,gains,gInd,improveFlag);
            gainPit  = gains[0];
            gainCode = gains[1];
            *pAna++ = (LUT1_6k[gInd[0]]<<CDBK2_BIT_NUM_6K) | LUT2_6k[gInd[1]];

            LOCAL_ARRAY_FREE(short, gInd, 2, encoderObj);
            LOCAL_ARRAY_FREE(short, gains, 2, encoderObj);
        }

        updateExcErr_G729(gainPit, valOpenDelay,encoderObj->coderErr);

        for(i= 0; i< 4; i++)
            encoderObj->pGain[i] = encoderObj->pGain[i+1];
        encoderObj->pGain[4] = gainPit;

        betaPreFilter = gainPit;
        if(betaPreFilter > PITCH_SHARP_MAX)  betaPreFilter = PITCH_SHARP_MAX;
        if(betaPreFilter < PITCH_SHARP_MIN)  betaPreFilter = PITCH_SHARP_MIN;

        ippsInterpolateC_NR_G729_16s_Sfs(
                                        &exc[subfrIdx],gainPit,codeword,gainCode,&exc[subfrIdx],LP_SUBFRAME_DIM,14);
        SynthesisFilter_G729_16s(ppAq,&exc[subfrIdx],&encoderObj->pSynth[subfrIdx],LP_SUBFRAME_DIM,synFltw0,BWLPCF_DIM-mAq);
        ippsSub_16s(&encoderObj->pSynth[subfrIdx+LP_SUBFRAME_DIM-BWLPCF_DIM],&PRESENT_SPEECH[subfrIdx+LP_SUBFRAME_DIM-BWLPCF_DIM],encoderObj->resFilMem/*+20*/,BWLPCF_DIM);
        m_a = BWLPCF_DIM;
        if(gainCode <= IPP_MAX_16S/2 && gainCode >= IPP_MIN_16S/2) {
            ippsInterpolateC_G729_16s_Sfs(
                                         &y1[LP_SUBFRAME_DIM-m_a],gainPit,&y2[LP_SUBFRAME_DIM-m_a],(short)(2*gainCode),tmpvec,m_a,14);
        } else {

            for(i = 0; i < m_a; i++) {
                tmpvec[i] = ((gainPit*y1[LP_SUBFRAME_DIM-m_a+i])>>14)+((gainCode*y2[LP_SUBFRAME_DIM-m_a+i])>>13);
            }
        }
        ippsSub_16s(tmpvec,&val1[LP_SUBFRAME_DIM-m_a],resFilMem0,m_a);
        ppAq += mAq+1;
        ppAp += mAp+1;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人动漫中文字幕| 99国产精品视频免费观看| 1024国产精品| 亚洲欧美日韩国产综合| 国产欧美精品国产国产专区 | 91网站最新地址| 日本电影欧美片| 色久优优欧美色久优优| 欧美影院一区二区三区| 欧美一区二区三区视频在线观看| 在线免费观看一区| 欧美xfplay| 亚洲色图都市小说| 日韩精品欧美成人高清一区二区| 偷窥国产亚洲免费视频| 精品在线视频一区| 色www精品视频在线观看| 91 com成人网| 国产精品拍天天在线| 夜夜精品浪潮av一区二区三区| 亚洲免费av网站| 日本欧美久久久久免费播放网| 国产一区二三区| 欧美日韩mp4| 成人免费在线观看入口| 蜜桃av噜噜一区| 亚洲五码中文字幕| 一区二区三区欧美亚洲| 亚洲成a人v欧美综合天堂| 国产在线精品免费| 欧美精品久久天天躁| 亚洲视频一区在线观看| 久久av中文字幕片| 欧美一区二区三区不卡| 日韩美女精品在线| 国产精品亚洲人在线观看| 91精品久久久久久久久99蜜臂| 久久九九久久九九| 日日夜夜一区二区| 3d动漫精品啪啪一区二区竹菊| 亚洲婷婷在线视频| 国产精品99久久久久久似苏梦涵 | 成人免费观看av| 国产午夜亚洲精品不卡| 老色鬼精品视频在线观看播放| 欧美日韩午夜在线视频| 中文字幕亚洲区| 色综合久久久久综合99| 亚洲免费在线视频一区 二区| 国产99精品在线观看| 欧美极品xxx| av不卡一区二区三区| 亚洲精品中文字幕在线观看| 狠狠色丁香婷婷综合久久片| 久久久久国产精品麻豆ai换脸| 九九精品视频在线看| 久久综合久久综合亚洲| 高潮精品一区videoshd| 一区二区三区 在线观看视频| 在线影院国内精品| 麻豆免费精品视频| 国产精品国产三级国产有无不卡 | 99精品国产视频| 亚洲人成网站影音先锋播放| 欧洲日韩一区二区三区| 麻豆91在线播放| 国产精品久久久久毛片软件| 欧美在线观看视频在线| 国产一区 二区 三区一级| 一区二区三区四区视频精品免费 | 91麻豆精品国产91久久久久 | 日本久久电影网| 久久99久久久久| 亚洲小说欧美激情另类| 久久久一区二区三区捆绑**| 91黄色小视频| 不卡大黄网站免费看| 国产在线精品免费| 日韩av中文字幕一区二区三区| 欧美韩国一区二区| 欧美一区二区免费观在线| 色综合天天综合网天天狠天天 | 亚洲一区二区三区在线看| 久久香蕉国产线看观看99| 欧美一区二区三区喷汁尤物| 色欧美乱欧美15图片| 国产一区二区三区精品视频| 亚洲成人激情社区| 亚洲成a人片在线观看中文| 亚洲国产成人tv| 亚洲高清三级视频| 亚洲少妇最新在线视频| 国产精品不卡视频| 亚洲三级电影网站| 亚洲欧洲日韩综合一区二区| 久久精品综合网| 国产精品久久久久久福利一牛影视| 欧美v亚洲v综合ⅴ国产v| 日韩一级片在线观看| 精品免费国产一区二区三区四区| 4438x成人网最大色成网站| 欧美系列日韩一区| 欧美日韩国产123区| 久久久久国产成人精品亚洲午夜| 国产亚洲一区二区三区| 日韩一区欧美一区| 视频一区免费在线观看| 国产在线视频不卡二| 欧美综合亚洲图片综合区| 7777精品伊人久久久大香线蕉最新版| 日韩三级精品电影久久久| 久久久久免费观看| 视频精品一区二区| 91小视频在线观看| 日韩一区二区三区精品视频| 久久久久久久综合日本| 亚洲444eee在线观看| 国产91综合网| 久久九九影视网| 男女男精品视频网| 欧美午夜一区二区三区免费大片| 日韩免费看的电影| 一区二区三区四区亚洲| 成人性视频免费网站| 欧美一级视频精品观看| 亚洲欧美在线高清| 黑人精品欧美一区二区蜜桃| 色综合天天性综合| 日本一区二区视频在线观看| 日本午夜一区二区| 制服丝袜国产精品| 日韩av网站免费在线| 欧美日韩一区二区三区不卡| 18成人在线视频| 在线欧美日韩国产| 婷婷久久综合九色综合伊人色| 91亚洲资源网| 亚洲国产欧美日韩另类综合 | 在线观看成人免费视频| 一区二区三区高清在线| 91免费小视频| 亚洲丰满少妇videoshd| 欧美一级二级三级蜜桃| 久久国产日韩欧美精品| 久久新电视剧免费观看| av一二三不卡影片| 亚洲美女免费视频| 欧美精品高清视频| 国产福利精品一区二区| 亚洲色图一区二区| 97精品国产露脸对白| 国产亚洲精品免费| 日韩中文字幕一区二区三区| 精品美女在线观看| 91网站黄www| 国产在线精品免费| 亚洲国产成人av好男人在线观看| 日韩欧美一级片| 91精品办公室少妇高潮对白| 日本麻豆一区二区三区视频| 国产精品午夜久久| 精品国产欧美一区二区| 在线精品视频小说1| 成人一级黄色片| 国产精品456露脸| 日韩精品一二三四| 亚洲国产精品自拍| 国产精品视频yy9299一区| 欧美日韩二区三区| 欧美视频一二三区| 91免费观看在线| 成人黄色在线视频| 国产永久精品大片wwwapp| 男女激情视频一区| 日韩精品一卡二卡三卡四卡无卡| 一区二区三区四区乱视频| 国产精品久久一级| 中文字幕视频一区| 国产精品网曝门| 日韩毛片视频在线看| 国产精品视频第一区| 亚洲欧洲日韩在线| 136国产福利精品导航| 亚洲欧美区自拍先锋| 亚洲黄色av一区| 亚洲综合成人网| 亚洲高清视频中文字幕| 午夜亚洲福利老司机| 精品影视av免费| 久草热8精品视频在线观看| 国产精品一区二区三区乱码| 国产伦精品一区二区三区免费迷| 国精品**一区二区三区在线蜜桃| 国产在线播放一区| 色播五月激情综合网| 日韩一区二区三区免费看 | 日韩一区有码在线| 亚洲国产精品精华液网站| 极品尤物av久久免费看| 成人免费视频一区|