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

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

?? encamrwb.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
?? 第 1 頁 / 共 3 頁
字號:
       ippsEncDTXHandler_GSMAMR_16s(&st->dtxEncState.siHangoverCount,
                  &st->dtxEncState.siAnaElapsedCount, &dtxMode, &foo, valVadFlag);
       if(dtxMode==IPP_SPCHBR_DTX) {
          *rate = AMRWB_RATE_DTX;
          irate = IPP_SPCHBR_DTX;
       }
    }

    if (*rate != AMRWB_RATE_DTX)
    {
        *(pPrm)++ = valVadFlag;
    }
     /* Perform LPC analysis */

    ownAutoCorr_AMRWB_16s32s(pWindow, LP_ORDER, pAutoCorrvec);
    ownLagWindow_AMRWB_32s_I(pAutoCorrvec);
    if(ippsLevinsonDurbin_G729_32s16s(pAutoCorrvec, LP_ORDER, pLPCUnQuantvec, pRCvec, &tmp) == ippStsOverflow){
         pLPCUnQuantvec[0] = 4096;
         ippsCopy_16s(st->asiLevinsonMem, &pLPCUnQuantvec[1], LP_ORDER);
         pRCvec[0] = st->asiLevinsonMem[LP_ORDER]; /* only two pRCvec coefficients are needed */
         pRCvec[1] = st->asiLevinsonMem[LP_ORDER+1];
    }else{
         ippsCopy_16s(pLPCUnQuantvec, st->asiLevinsonMem, LP_ORDER+1);
         st->asiLevinsonMem[LP_ORDER] = pRCvec[0];
         st->asiLevinsonMem[LP_ORDER+1] = pRCvec[1];
    }
    ippsLPCToISP_AMRWB_16s(pLPCUnQuantvec, pIspvec, st->asiIspOld);

    /* Find the interpolated ISPs and convert to pLPCUnQuantvec for all subframes */
    {
      IPP_ALIGNED_ARRAY(16, short, isp, LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspOld, 18022, pIspvec,14746, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, pLPCUnQuantvec, LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspOld,  6554, pIspvec,26214, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, &pLPCUnQuantvec[LP_ORDER + 1], LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspOld,  1311, pIspvec,31457, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, &pLPCUnQuantvec[2*(LP_ORDER + 1)], LP_ORDER);

      /* 4th subframe: pIspvec (frac=1.0) */

      ippsISPToLPC_AMRWB_16s(pIspvec, &pLPCUnQuantvec[3*(LP_ORDER + 1)], LP_ORDER);

      /* update asiIspOld[] for the next frame */
      ippsCopy_16s(pIspvec, st->asiIspOld, LP_ORDER);
    }

    /* Convert ISPs to frequency domain 0..6400 */
    ippsISPToISF_Norm_AMRWB_16s(pIspvec, pIsfvec, LP_ORDER);

    /* check resonance for pitch clipping algorithm */
    ownCheckGpClipIsf(pIsfvec, st->asiGainPitchClip);

     /* Perform PITCH_OL analysis */

    pLPCUnQuant = pLPCUnQuantvec;
    for (valSubFrame = 0; valSubFrame < FRAME_SIZE; valSubFrame += SUBFRAME_SIZE)
    {
        ippsMulPowerC_NR_16s_Sfs(pLPCUnQuant, WEIGHT_FACTOR, pLPCvec, LP_ORDER+1, 15);
        ippsResidualFilter_AMRWB_16s_Sfs(pLPCvec, LP_ORDER, &pSpeech[valSubFrame], &pWgtSpch[valSubFrame], SUBFRAME_SIZE,10);
        pLPCUnQuant += (LP_ORDER + 1);
    }
    ippsDeemphasize_AMRWB_NR_16s_I(TILT_FACTOR, pWgtSpch, FRAME_SIZE, &(st->siWsp));

    /* find maximum value on pWgtSpch[] for 12 bits scaling */
    ippsMinMax_16s(pWgtSpch, FRAME_SIZE, &tmp, &max);

    max = Abs_16s(max);
    tmp = Abs_16s(tmp);

    if(tmp > max) max = tmp;
    tmp = st->siWspOldMax;

    if (max > tmp) tmp = max;
    st->siWspOldMax = max;

    valShift = Exp_16s(tmp) - 3;
    if (valShift > 0) valShift = 0;               /* valShift = 0..-3 */

    /* decimation of pWgtSpch[] to search pitch in LF and to reduce complexity */
    ownLPDecim2(pWgtSpch, FRAME_SIZE, st->asiWspDecimate);

    /* scale pWgtSpch[] in 12 bits to avoid overflow */
    ownScaleSignal_AMRWB_16s_ISfs(pWgtSpch, FRAME_SIZE / OPL_DECIM, valShift);

    /* scale asiWspOld */
    valExp += (valShift - st->siWspOldShift);
    st->siWspOldShift = valShift;
    ownScaleSignal_AMRWB_16s_ISfs(pWgtSpchOldvec, PITCH_LAG_MAX / OPL_DECIM, valExp);
    ownScaleSignal_AMRWB_16s_ISfs(st->asiHypassFiltWspOld, PITCH_LAG_MAX / OPL_DECIM, valExp);
    st->siScaleExp -= valExp;

    /* Find open loop pitch lag for whole speech frame */

    pHPWgtSpch = st->asiHypassFiltWspOld + PITCH_LAG_MAX / OPL_DECIM;

    if(irate == IPP_SPCHBR_6600) {
       ippsHighPassFilter_AMRWB_16s_Sfs(pWgtSpch, pHPWgtSpch, (FRAME_SIZE) / OPL_DECIM, st->pSHPFiltStateWsp,st->siScaleExp);
       ippsOpenLoopPitchSearch_AMRWB_16s(pWgtSpch, pHPWgtSpch, &st->siMedianOld, &st->siAdaptiveParam, &pOpenLoopLag[0],
                              &encoderObj->siToneFlag, &st->siOpenLoopGain,
                              st->asiPitchLagOld, &st->siWeightFlag, (FRAME_SIZE) / OPL_DECIM);
       ippsCopy_16s(&st->asiHypassFiltWspOld[(FRAME_SIZE) / OPL_DECIM],st->asiHypassFiltWspOld,PITCH_LAG_MAX / OPL_DECIM);
       pOpenLoopLag[1] = pOpenLoopLag[0];
    } else {
       ippsHighPassFilter_AMRWB_16s_Sfs(pWgtSpch, pHPWgtSpch, (FRAME_SIZE / 2) / OPL_DECIM, st->pSHPFiltStateWsp,st->siScaleExp);
       ippsOpenLoopPitchSearch_AMRWB_16s(pWgtSpch, pHPWgtSpch, &st->siMedianOld, &st->siAdaptiveParam, &pOpenLoopLag[0],
                              &encoderObj->siToneFlag, &st->siOpenLoopGain,
                              st->asiPitchLagOld, &st->siWeightFlag, (FRAME_SIZE / 2) / OPL_DECIM);
       ippsCopy_16s(&st->asiHypassFiltWspOld[(FRAME_SIZE / 2) / OPL_DECIM],st->asiHypassFiltWspOld,PITCH_LAG_MAX / OPL_DECIM);
       ippsHighPassFilter_AMRWB_16s_Sfs(pWgtSpch + ((FRAME_SIZE / 2) / OPL_DECIM), pHPWgtSpch,
                              (FRAME_SIZE / 2) / OPL_DECIM, st->pSHPFiltStateWsp,st->siScaleExp);
       ippsOpenLoopPitchSearch_AMRWB_16s(pWgtSpch + ((FRAME_SIZE / 2) / OPL_DECIM), pHPWgtSpch, &st->siMedianOld, &st->siAdaptiveParam, &pOpenLoopLag[1],
                              &encoderObj->siToneFlag, &st->siOpenLoopGain,
                              st->asiPitchLagOld, &st->siWeightFlag, (FRAME_SIZE / 2) / OPL_DECIM);
       ippsCopy_16s(&st->asiHypassFiltWspOld[(FRAME_SIZE / 2) / OPL_DECIM],st->asiHypassFiltWspOld,PITCH_LAG_MAX / OPL_DECIM);
    }

    if (irate == IPP_SPCHBR_DTX)            /* CNG mode */
    {
        ippsResidualFilter_AMRWB_16s_Sfs(&pLPCUnQuantvec[3 * (LP_ORDER + 1)], LP_ORDER, pSpeech, pExc, FRAME_SIZE,10);
        ippsRShiftC_16s(pExc, valQNew, pExc2vec, FRAME_SIZE);
        ippsEncDTXBuffer_AMRWB_16s(pExc2vec, pIsfvec, &st->dtxEncState.siHistPtr,
                  st->dtxEncState.asiIsfHistory, st->dtxEncState.siLogEnerHist, valCodecMode);
        ownDTXEnc(&st->dtxEncState, pIsfvec, pExc2vec, (unsigned short*)pPrm);

        /* Convert ISFs to the cosine domain */
        ippsISFToISP_AMRWB_16s(pIsfvec, pIspQuantvec, LP_ORDER);
        ippsISPToLPC_AMRWB_16s(pIspQuantvec, pLPCQuantvec, LP_ORDER);

        for (valSubFrame = 0; valSubFrame < FRAME_SIZE; valSubFrame += SUBFRAME_SIZE)
        {
            valCorrGain = ownSynthesis(pLPCQuantvec, &pExc2vec[valSubFrame], 0, &src[valSubFrame * 5 / 4], st);
        }
        ippsCopy_16s(pIsfvec, st->asiIsfOld, LP_ORDER);
        InitEncoder(encoderObj);
        ownPrms2Bits(pPrmvec,dst,AMRWB_RATE_DTX);

        ippsCopy_16s(&pSpeechOldvec[FRAME_SIZE], st->asiSpeechOld, SPEECH_SIZE - FRAME_SIZE);
        ippsCopy_16s(&pWgtSpchOldvec[FRAME_SIZE / OPL_DECIM], st->asiWspOld, PITCH_LAG_MAX / OPL_DECIM);

        return APIAMRWB_StsNoErr;
    }

    ippsISFQuant_AMRWB_16s(pIsfvec, st->asiIsfQuantPast, pIsfvec, (short*)pPrm, irate);

    if (irate == IPP_SPCHBR_6600)
        pPrm += 5;
    else
        pPrm += 7;

    /* Check stability on pIsfvec : distance between old pIsfvec and current isf */
    if (irate == IPP_SPCHBR_23850) {
        valStabFac = ownChkStab(pIsfvec, st->asiIsfOld, LP_ORDER-1);
    }
    ippsCopy_16s(pIsfvec, st->asiIsfOld, LP_ORDER);

    /* Convert ISFs to the cosine domain */
    ippsISFToISP_AMRWB_16s(pIsfvec, pIspQuantvec, LP_ORDER);

    if (st->siFrameFirst != 0)
    {
        st->siFrameFirst = 0;
        ippsCopy_16s(pIspQuantvec, st->asiIspQuantOld, LP_ORDER);
    }

    /* Find the interpolated ISPs and convert to pIspQuantvec[] for all subframes */

    {
      IPP_ALIGNED_ARRAY( 16, short, isp, LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspQuantOld, 18022, pIspQuantvec,14746, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, pLPCQuantvec, LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspQuantOld,  6554, pIspQuantvec,26214, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, &pLPCQuantvec[LP_ORDER + 1], LP_ORDER);

      ippsInterpolateC_NR_G729_16s_Sfs(st->asiIspQuantOld,  1311, pIspQuantvec,31457, isp, LP_ORDER, 15);
      ippsISPToLPC_AMRWB_16s(isp, &pLPCQuantvec[2*(LP_ORDER + 1)], LP_ORDER);

      /* 4th subframe: pIspQuantvec (frac=1.0) */

      ippsISPToLPC_AMRWB_16s(pIspQuantvec, &pLPCQuantvec[3*(LP_ORDER + 1)], LP_ORDER);

      ippsCopy_16s(pIspQuantvec, st->asiIspQuantOld, LP_ORDER);
    }

    pLPCQuant = pLPCQuantvec;
    for (valSubFrame = 0; valSubFrame < FRAME_SIZE; valSubFrame += SUBFRAME_SIZE)
    {
        ippsResidualFilter_AMRWB_16s_Sfs(pLPCQuant, LP_ORDER, &pSpeech[valSubFrame], &pExc[valSubFrame], SUBFRAME_SIZE,10);
        pLPCQuant += (LP_ORDER + 1);
    }

    /* Buffer isf's and energy for dtx on non-speech frame */

    if (valVadFlag == 0)
    {
        ippsRShiftC_16s(pExc, valQNew, pExc2vec, FRAME_SIZE);
        ippsEncDTXBuffer_AMRWB_16s(pExc2vec, pIsfvec, &st->dtxEncState.siHistPtr,
                  st->dtxEncState.asiIsfHistory, st->dtxEncState.siLogEnerHist, valCodecMode);
    }

    /* Loop for every subframe in the analysis frame */

    pLPCUnQuant = pLPCUnQuantvec;
    pLPCQuant = pLPCQuantvec;

    for (valSubFrame = 0,subFrame=0; valSubFrame < FRAME_SIZE; valSubFrame += SUBFRAME_SIZE, subFrame++)
    {
        ippsSub_16s(st->asiSynthesis, &pSpeech[valSubFrame - LP_ORDER], pErrQuant, LP_ORDER);
        ippsResidualFilter_AMRWB_16s_Sfs(pLPCQuant, LP_ORDER, &pSpeech[valSubFrame], &pExc[valSubFrame], SUBFRAME_SIZE,10);
        {
           short tmp;
           tmp = pLPCQuant[0];
           pLPCQuant[0] >>= 1;
           ippsSynthesisFilter_G729E_16s(pLPCQuant, LP_ORDER,  &pExc[valSubFrame], pErrQuant + LP_ORDER, SUBFRAME_SIZE, pErrQuant);
           pLPCQuant[0] = tmp;
        }

        ippsMulPowerC_NR_16s_Sfs(pLPCUnQuant, WEIGHT_FACTOR, pLPCvec, LP_ORDER+1, 15);
        ippsResidualFilter_AMRWB_16s_Sfs(pLPCvec, LP_ORDER, pErrQuant + LP_ORDER, pAdptTgtPitch, SUBFRAME_SIZE,10);

        ippsDeemphasize_AMRWB_NR_16s_I(TILT_FACTOR, pAdptTgtPitch, SUBFRAME_SIZE, &(st->siSpeechWgt));

        ippsZero_16s(pFixCdbkvec, LP_ORDER);
        ippsCopy_16s(pAdptTgtPitch, pFixCdbkvec + LP_ORDER, SUBFRAME_SIZE / 2);

        tmp = 0;
        ippsPreemphasize_AMRWB_16s_ISfs (TILT_FACTOR, pFixCdbkvec + LP_ORDER, SUBFRAME_SIZE / 2, 13, &tmp);
        ippsMulPowerC_NR_16s_Sfs(pLPCUnQuant, WEIGHT_FACTOR, pLPCvec, LP_ORDER+1, 15);
        {
           short tmp;
           tmp = pLPCvec[0];
           pLPCvec[0] >>= 1;
           ippsSynthesisFilter_G729E_16s_I(pLPCvec, LP_ORDER, pFixCdbkvec + LP_ORDER, SUBFRAME_SIZE / 2, pFixCdbkvec);
           pLPCvec[0] = tmp;
        }
        ippsResidualFilter_AMRWB_16s_Sfs(pLPCQuant, LP_ORDER, pFixCdbkvec + LP_ORDER, pResidvec, SUBFRAME_SIZE / 2,10);

        ippsCopy_16s(&pExc[valSubFrame + (SUBFRAME_SIZE / 2)], pResidvec + (SUBFRAME_SIZE / 2), SUBFRAME_SIZE / 2);

        ippsZero_16s(pErrQuant, LP_ORDER + SUBFRAME_SIZE);
        ippsMulPowerC_NR_16s_Sfs(pLPCUnQuant, WEIGHT_FACTOR, pErrQuant + LP_ORDER, LP_ORDER+1, 15);
        {
           short tmp;
           tmp = pLPCQuant[0];
           pLPCQuant[0] = 16384;
           ippsSynthesisFilter_G729E_16s_I(pLPCQuant, LP_ORDER, pErrQuant + LP_ORDER, SUBFRAME_SIZE, pErrQuant);
           pLPCQuant[0] = tmp;
           ippsCopy_16s(pErrQuant + LP_ORDER,pImpRespPitchvec,SUBFRAME_SIZE);
        }
        tmp = 0;
        ippsDeemphasize_AMRWB_NR_16s_I(TILT_FACTOR, pImpRespPitchvec, SUBFRAME_SIZE, &tmp);

        ippsCopy_16s(pImpRespPitchvec, pImpRespCdbkvec, SUBFRAME_SIZE);
        ownScaleSignal_AMRWB_16s_ISfs(pImpRespCdbkvec, SUBFRAME_SIZE, -2);

        ownScaleSignal_AMRWB_16s_ISfs(pAdptTgtPitch, SUBFRAME_SIZE, valShift);
        ownScaleSignal_AMRWB_16s_ISfs(pImpRespPitchvec, SUBFRAME_SIZE, (short)(1 + valShift));

        /* find closed loop fractional pitch  lag */
        ippsAdaptiveCodebookSearch_AMRWB_16s(pAdptTgtPitch, pImpRespPitchvec, pOpenLoopLag, &valPitchLag, pPitchLagBounds, &pExc[valSubFrame], &valFracPitchLag,
                                 (short*)pPrm, subFrame, irate);
        pPrm += 1;

        /* Gain clipping test to avoid unstable synthesis on frame erasure */
        valClipFlag = ownGpClip(st->asiGainPitchClip);

        if ((irate != IPP_SPCHBR_6600)&&(irate != IPP_SPCHBR_8850))
        {
            ippsConvPartial_NR_16s(&pExc[valSubFrame], pImpRespPitchvec, pFltAdptvec, SUBFRAME_SIZE);
            ippsAdaptiveCodebookGainCoeff_AMRWB_16s(pAdptTgtPitch, pFltAdptvec, pGainCoeff, &valGainCoeff, SUBFRAME_SIZE);
            if ((valClipFlag != 0) && (valGainCoeff > PITCH_GAIN_CLIP))
                valGainCoeff = PITCH_GAIN_CLIP;
            ippsInterpolateC_G729_16s_Sfs(pAdptTgtPitch, 16384, pFltAdptvec,(short)(-valGainCoeff), pCorrvec, SUBFRAME_SIZE, 14); /* pCorrvec used temporary */
        } else
        {
            valGainCoeff = 0;
        }

        /* find pitch excitation with lp filter */
        pSrcCoeff[0] = 20972;
        pSrcCoeff[1] = -5898;
        ippsHighPassFilter_Direct_AMRWB_16s(pSrcCoeff, &pExc[valSubFrame], pFixCdbkvec, SUBFRAME_SIZE, 1);

        ippsConvPartial_NR_16s(pFixCdbkvec, pImpRespPitchvec, pFltAdpt2vec, SUBFRAME_SIZE);
        ippsAdaptiveCodebookGainCoeff_AMRWB_16s(pAdptTgtPitch, pFltAdpt2vec, pGainCoeff2, &valAdptGain, SUBFRAME_SIZE);

        if ((valClipFlag != 0) && (valAdptGain > PITCH_GAIN_CLIP))
            valAdptGain = PITCH_GAIN_CLIP;
        ippsInterpolateC_G729_16s_Sfs(pAdptTgtPitch, 16384, pFltAdpt2vec,(short)(-valAdptGain), pAdptTgtCdbk, SUBFRAME_SIZE, 14);

        valSelect = 0;
        if ((irate != IPP_SPCHBR_6600)&&(irate != IPP_SPCHBR_8850))
        {
           int valCorrSum, valCdbkSum;
           ippsDotProd_16s32s_Sfs( pCorrvec, pCorrvec,SUBFRAME_SIZE, &valCorrSum, 0);
           ippsDotProd_16s32s_Sfs( pAdptTgtCdbk, pAdptTgtCdbk,SUBFRAME_SIZE, &valCdbkSum, 0);

           if (valCorrSum <= valCdbkSum) valSelect = 1;
           *(pPrm)++ = valSelect;
        }

        if (valSelect == 0)
        {
            /* use the lp filter for pitch excitation prediction */
            valPitchGain = valAdptGain;
            ippsCopy_16s(pFixCdbkvec, &pExc[valSubFrame], SUBFRAME_SIZE);
            ippsCopy_16s(pFltAdpt2vec, pFltAdptvec, SUBFRAME_SIZE);
            ippsCopy_16s(pGainCoeff2, pGainCoeff, 4);
        } else
        {
            /* no filter used for pitch excitation prediction */
            valPitchGain = valGainCoeff;
            ippsCopy_16s(pCorrvec, pAdptTgtCdbk, SUBFRAME_SIZE);
        }

        ippsInterpolateC_G729_16s_Sfs(pResidvec, 16384, &pExc[valSubFrame],(short)(-valPitchGain), pResidvec, SUBFRAME_SIZE, 14);
        ownScaleSignal_AMRWB_16s_ISfs(pResidvec, SUBFRAME_SIZE, valShift);

        tmp = 0;
        ippsPreemphasize_AMRWB_16s_ISfs (st->siTiltCode, pImpRespCdbkvec, SUBFRAME_SIZE, 14, &tmp);

        if (valFracPitchLag > 2) valPitchLag += 1;

        if (valPitchLag < SUBFRAME_SIZE) {
            ippsHarmonicFilter_NR_16s(PITCH_SHARP_FACTOR, valPitchLag, &pImpRespCdbkvec[valPitchLag], &pImpRespCdbkvec[valPitchLag], SUBFRAME_SIZE-valPitchLag);
        }

        ippsAlgebraicCodebookSearch_AMRWB_16s(pAdptTgtCdbk, pResidvec, pImpRespCdbkvec, pFixCdbkvec, pFltAdpt2vec, irate, (short*)pPrm);

        if (irate == IPP_SPCHBR_6600)
        {
            pPrm += 1;
        } else if ((irate == IPP_SPCHBR_8850) || (irate == IPP_SPCHBR_12650) ||
            (irate == IPP_SPCHBR_14250) || (irate == IPP_SPCHBR_15850))
        {
            pPrm += 4;
        } else
        {
            pPrm += 8;
        }

        tmp = 0;
        ippsPreemphasize_AMRWB_16s_ISfs (st->siTiltCode, pFixCdbkvec, SUBFRAME_SIZE, 14,  &tmp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米色一区二区| 久久综合狠狠综合| 久久久蜜桃精品| 久久精品72免费观看| 欧洲视频一区二区| 国产清纯白嫩初高生在线观看91| 亚洲一区二区视频在线观看| 成人一区二区视频| 精品国产污污免费网站入口 | 一区二区免费看| 91麻豆免费视频| ...中文天堂在线一区| 99久久综合狠狠综合久久| 国产精品久久一级| 欧美在线观看禁18| 欧美在线影院一区二区| 色综合中文字幕国产 | 欧美日韩精品综合在线| 一区二区视频免费在线观看| 国产精品视频九色porn| 99国产精品久久久久久久久久久| 亚洲视频一二区| 欧美一级日韩不卡播放免费| 蜜桃久久精品一区二区| 久久久久久久久久久99999| www激情久久| 国产亚洲欧洲997久久综合| 在线观看日韩av先锋影音电影院| 日本高清成人免费播放| 久久97超碰国产精品超碰| 亚洲视频资源在线| 亚洲综合一二三区| 日韩精品每日更新| 亚洲婷婷在线视频| 日本成人在线一区| 日韩一区在线播放| 婷婷夜色潮精品综合在线| 久久久蜜臀国产一区二区| 国产精品久久久久影视| 一区二区三区久久| 韩国女主播成人在线观看| 亚洲一区二区三区四区在线免费观看 | av亚洲产国偷v产偷v自拍| 91网站视频在线观看| 91精品免费观看| 日本高清不卡aⅴ免费网站| 3751色影院一区二区三区| 国产亚洲精品7777| 日韩国产欧美在线观看| 国产精品66部| 黄色资源网久久资源365| 成人91在线观看| 夫妻av一区二区| 成人app软件下载大全免费| 91精品国产综合久久蜜臀| 成人欧美一区二区三区黑人麻豆| 午夜欧美2019年伦理| 91久久精品午夜一区二区| 欧美不卡激情三级在线观看| 成人午夜激情在线| 2021国产精品久久精品| 日韩经典中文字幕一区| 色av成人天堂桃色av| 国产精品天天摸av网| 久久99久国产精品黄毛片色诱| 色久优优欧美色久优优| 国产精品久久久久影院亚瑟| 国产精品综合一区二区| 欧美大肚乱孕交hd孕妇| 精品国产99国产精品| 另类调教123区 | 成人av电影在线网| 国产精品久久午夜| 成人av手机在线观看| 国产精品视频看| 91视频在线看| 亚洲欧美激情一区二区| 亚洲777理论| 成人动漫精品一区二区| 国产精品久久午夜夜伦鲁鲁| 91一区二区在线| 亚洲精品视频在线看| 美女性感视频久久| 精品理论电影在线| 国产美女精品一区二区三区| 国产精品911| 亚洲男人的天堂av| 欧美日韩三级视频| 久久精品免费在线观看| 成人免费av资源| 天天综合网 天天综合色| 日韩一区二区在线看| 国产精品久久久一本精品| 欧洲精品一区二区| 免费在线看成人av| 中文子幕无线码一区tr| 午夜精品久久久久久久| 久久久精品中文字幕麻豆发布| 成人免费毛片app| 无吗不卡中文字幕| 国产精品不卡在线观看| 欧美一区二区三区四区久久 | 国产成人综合视频| 日本高清视频一区二区| 国产在线国偷精品产拍免费yy| 亚洲品质自拍视频| 精品久久久久久久久久久久久久久| 成人免费高清在线| 韩国女主播一区| 美国欧美日韩国产在线播放| 亚洲色图一区二区三区| 国产偷国产偷亚洲高清人白洁 | 午夜电影网亚洲视频| 亚洲欧美在线另类| 亚洲国产高清在线观看视频| 精品国产一区二区三区忘忧草| 欧美日韩成人高清| 在线观看日产精品| 91国产视频在线观看| thepron国产精品| 99国产精品久久久久久久久久久| 国产一区二区三区日韩| 精品中文字幕一区二区小辣椒 | 日本少妇一区二区| 日韩精品乱码免费| 美女网站在线免费欧美精品| 五月婷婷综合在线| 蜜乳av一区二区| 精品一区二区综合| 国产一区二区三区电影在线观看| 久久99国产精品麻豆| 国产一区二区三区精品视频| 成人自拍视频在线观看| 成人精品小蝌蚪| 91久久精品一区二区| 欧美午夜精品一区二区三区| 精品一区二区三区在线观看| 国精产品一区一区三区mba桃花 | 久久se这里有精品| 国产风韵犹存在线视精品| 风间由美一区二区av101| 色欧美乱欧美15图片| 国产一区视频在线看| 99国产精品久久久久久久久久| 色婷婷综合久色| 欧美大片顶级少妇| 亚洲精品欧美专区| 美腿丝袜亚洲一区| av一二三不卡影片| 制服.丝袜.亚洲.另类.中文| 国产亚洲女人久久久久毛片| 亚洲一区二区三区中文字幕在线| 精品亚洲porn| 欧美视频中文字幕| 国产欧美一二三区| 日韩国产精品久久久久久亚洲| 毛片一区二区三区| 成人激情文学综合网| 911精品国产一区二区在线| 国产精品传媒入口麻豆| 青青草成人在线观看| 在线观看日韩毛片| 亚洲特级片在线| 懂色av中文字幕一区二区三区| 欧美日韩一区二区三区视频| 最新高清无码专区| 成人做爰69片免费看网站| 2023国产精品自拍| 毛片不卡一区二区| 日韩欧美黄色影院| 奇米影视一区二区三区小说| 欧美午夜一区二区三区免费大片| 亚洲视频你懂的| 一本一道久久a久久精品| 中文字幕综合网| eeuss鲁片一区二区三区在线观看| 26uuu久久综合| 国产资源在线一区| 26uuuu精品一区二区| 国产在线日韩欧美| 国产偷国产偷精品高清尤物| 国产91清纯白嫩初高中在线观看 | 久久精品人人做人人爽97| 国产成人精品在线看| 国产精品免费久久| 91视频www| 热久久免费视频| 337p粉嫩大胆噜噜噜噜噜91av| 美女在线一区二区| 国产精品丝袜黑色高跟| 91免费版在线| 亚洲gay无套男同| 2023国产精品自拍| 99久久精品99国产精品| 午夜激情久久久| 久久久久99精品国产片| 欧美午夜免费电影| 国产精品18久久久久| 国产精品第13页| 日韩欧美国产电影|