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

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

?? g728api.c

?? G.711,G.723.1,G.726,G.729,GSM CODEC C/C++ code
?? C
?? 第 1 頁 / 共 2 頁
字號:
   *objSize = (Ipp32u)(dObj - (char*)NULL + 16);

   return APIG728_StsNoErr;
}
G728_CODECFUN( APIG728_Status, apiG728Decoder_Init,(
              G728Decoder_Obj* dObj, G728_Type type, G728_Rate rate, int pst))
{
   int rexpMemSize=IPP_MAX_32S;
   int rexplgMemSize=IPP_MAX_32S;
   int iirMemSize=IPP_MAX_32S;
   int stpMemSize=IPP_MAX_32S;
   int syntMemSize=IPP_MAX_32S;
   int postFltAdaptMemSize = IPP_MAX_32S;
   char* tmpObjPtr = (char*)dObj;
   unsigned int objSize;

//   if((int)dObj & 0x7){ /* shall be at least 8 bytes aligned */
//      return APIG728_StsNotInitialized;
//   }

   ippsZero_16s((Ipp16s*) dObj,sizeof(G728Decoder_Obj)/2);

   dObj->objPrm.key = DEC_KEY;
   dObj->objPrm.rate = rate;
   dObj->objPrm.type = type;


   dObj->gl = 16384;
   dObj->pst = pst;
   dObj->vecLGPredictorCoeffs[0] = -16384;
   dObj->ip = NPWSZ - NFRSZ + IDIM;
   dObj->kp1 = 50;
   dObj->scalefil = 16384;
   if(rate==G728_Rate_12800)     {
      dObj->pGq = gq_128;
      dObj->pNgq = nngq_128;
      dObj->pCodebookGain = cnstCodebookVectorsGain_128;
   }
   else if(rate==G728_Rate_9600) {
      dObj->pGq = gq_96;
      dObj->pNgq = nngq_96;
      dObj->pCodebookGain = cnstCodebookVectorsGain_96;
   }
   else if(rate==G728_Rate_16000){
      dObj->pGq = gq;
      dObj->pNgq = nngq;
      dObj->pCodebookGain = cnstCodebookVectorsGain;
   }
   ippsSet_16s(16, dObj->nlssttmp, 4);
   ippsSet_16s(-16384, dObj->vecLGPredictorState, LPCLG);
   ippsZero_16s(dObj->etpast_buff, 140+IDIM);

   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+sizeof(G728Decoder_Obj), 16);

   dObj->syntState = (IppsSynthesisFilterState_G728_16s*)tmpObjPtr;
   ippsSynthesisFilterGetStateSize_G728_16s(&syntMemSize);
   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+syntMemSize, 16);

   dObj->stpMem = (IppsPostFilterState_G728_16s*)tmpObjPtr;
   if(dObj->pst){
      ippsPostFilterInit_G728_16s(dObj->stpMem);
   }else{
      ippsIIR16sInit_G728_16s((IppsIIRState_G728_16s*)dObj->stpMem);
   }
   ippsPostFilterGetStateSize_G728_16s(&stpMemSize);
   ippsIIR16sGetStateSize_G728_16s(&iirMemSize);
   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+IPP_MAX(stpMemSize,iirMemSize), 16);

   dObj->rexplgMem = (IppsWinHybridState_G728_16s*)tmpObjPtr;
   ippsWinHybridGetStateSize_G728_16s(LPCLG, NUPDATE, NONRLG, 0, &rexplgMemSize);
   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+rexplgMemSize, 16);

   dObj->rexpMem = (IppsWinHybridState_G728_16s*)tmpObjPtr;
   ippsWinHybridGetStateSize_G728_16s(LPC, NFRSZ, NONR, IDIM, &rexpMemSize);
   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+rexpMemSize, 16);

   dObj->postFltAdapterMem = (IppsPostFilterAdapterState_G728*)tmpObjPtr;
   ippsPostFilterAdapterGetStateSize_G728(&postFltAdaptMemSize);
   tmpObjPtr = (char*)IPP_ALIGNED_PTR(tmpObjPtr+postFltAdaptMemSize, 16);


   dObj->objPrm.objSize = (Ipp32u)((char*)tmpObjPtr - (char*)dObj);
   apiG728Decoder_Alloc(&objSize);
   if(objSize < dObj->objPrm.objSize){
      return APIG728_StsNotInitialized; /* must not occur */
   }
   ippsSynthesisFilterInit_G728_16s(dObj->syntState);
   ippsPostFilterAdapterStateInit_G728(dObj->postFltAdapterMem);
   ippsWinHybridInit_G728_16s(wnrlg,LPCLG, NUPDATE, NONRLG, 0, 12288, dObj->rexplgMem);
   ippsWinHybridInit_G728_16s(wnr,LPC, NFRSZ, NONR, IDIM, 12288, dObj->rexpMem);

   dObj->ferror = G728_FALSE;

   if (type == G728_Annex_I) {
      dObj->adcount = FESIZE;
      dObj->fecount = 0;
      dObj->afterfe = 0;
      dObj->ogaindb = -16384;
      dObj->seed = 11111;
      dObj->pTab = 0;
      dObj->fescale = 26214;
   }

   return APIG728_StsNoErr;
}

static void bits2prm(const unsigned char* bitstream, short* prm, G728_Rate rate)
{
   if(rate==G728_Rate_12800)     {
      prm[0] = bitstream[0];
      prm[1] = bitstream[1];
      prm[2] = bitstream[2];
      prm[3] = bitstream[3];
   }
   else if(rate==G728_Rate_9600) {
      prm[0] = (bitstream[0] >> 2);
      prm[1] = ( (bitstream[0] & 0x3) << 4 ) | (bitstream[1] >> 4);
      prm[2] = ( (bitstream[1] & 0xf) << 2 ) | (bitstream[2] >> 6);
      prm[3] = (bitstream[2] & 0x3f);
   }
   else if(rate==G728_Rate_16000){
      prm[0] = (bitstream[0] << 2) | (bitstream[1] >> 6);
      prm[1] = ( (bitstream[1] & 0x3f) << 4 ) | (bitstream[2] >> 4);
      prm[2] = ( (bitstream[2] & 0xf) << 6 ) | (bitstream[3] >> 2);
      prm[3] = ( (bitstream[3] & 0x3) << 8 ) | bitstream[4];
   }
}

G728_CODECFUN( APIG728_Status, apiG728Decode, (G728Decoder_Obj* dObj,
              unsigned char *packet, short *dst))
{
   Ipp32s shapeIdx, gainIdx, gainLog;
   Ipp16s linearGain, scaleGain;
   Ipp16s nlset;
   Ipp16s nlsst;
   Ipp32s sumunfil, sumfil;
   Ipp16s scale, nlsscale;
   G728_Rate rate = dObj->objPrm.rate;
   G728_Type codecType = dObj->objPrm.type;
   Ipp32s i;
   Ipp32s aa0;
   Ipp16s tmp;
   Ipp16s foo;
   Ipp16s *sst = &dObj->sst_buff[239+1+1];
   Ipp16s *d = &dObj->d_buff[139+1];
   Ipp16s *etpast = &dObj->etpast_buff[140];
   Ipp16s  tiltz;
   Ipp16s codebookIdxs[4];/* four codebook indexes */
   int index = 0;

   IPP_ALIGNED_ARRAY(16, Ipp16s, et, (IDIM +3));
   IPP_ALIGNED_ARRAY(16, Ipp16s, st, (IDIM +3));
   IPP_ALIGNED_ARRAY(16, Ipp16s, temp, (IDIM +3));
   IPP_ALIGNED_ARRAY(16, Ipp16s, spf, (IDIM +3));
   IPP_ALIGNED_ARRAY(16, Ipp16s, gtmp, (4 +4));
   IPP_ALIGNED_ARRAY(16, Ipp16s, r, (11 +5));
   IPP_ALIGNED_ARRAY(16, Ipp16s, rtmp, (LPC+1 +5));

   /* unpack bitstream into indexes */
   if(codecType == G728_Annex_I) {
      bits2prm(&packet[1], codebookIdxs, rate);
   } else {
      bits2prm(packet, codebookIdxs, rate);
   }

   if(codecType == G728_Annex_I) {
      if((dObj->ferror == G728_FALSE)&&(dObj->afterfe > 0))
         dObj->afterfe -= 1;
      if(dObj->adcount == FESIZE) {
         dObj->adcount = 0;
         /* read dObj->ferror */
         dObj->ferror = (Ipp16s)packet[0];

         if((dObj->ferror == G728_FALSE)&&(dObj->fecount > 0)) {
            dObj->afterfe += dObj->fecount;
            if(dObj->afterfe > AFTERFEMAX)
               dObj->afterfe = AFTERFEMAX;
            dObj->fecount = 0;
            dObj->seed = 11111;
         }
      }
      if(dObj->ferror == G728_TRUE) {
         dObj->fecount += 1;
         if((dObj->fecount & 3) == 1)
            Set_Flags_and_Scalin_Factor_for_Frame_Erasure(dObj->fecount, dObj->pTab,
               (Ipp16s)dObj->kp1, &dObj->fedelay, &dObj->fescale, &dObj->nlsfescale,
               &dObj->voiced, etpast,&dObj->avmag, &dObj->nlsavmag);
      }
      dObj->adcount += 1;
   }

   for(index=1;  index < 5; index++){
      /* Check wether to update filter coefficients */
      if(index==3) {
         if((dObj->ferror == G728_FALSE)&&(dObj->illcond==G728_FALSE))
            BandwidthExpansionModul(cnstSynthesisFilterBroadenVector, dObj->tmpSyntFltrCoeffs,
               dObj->scaleSyntFltrCoeffs, dObj->vecSyntFltrCoeffs, LPC);
         if((dObj->ferror == G728_TRUE)&&((dObj->fecount & 3) == 1))
            BandwidthExpansionModulFE(cnstSynthesisFilterBroadenVectorFE, dObj->tmpSyntFltrCoeffs,
               dObj->scaleSyntFltrCoeffs, dObj->vecSyntFltrCoeffs, LPC, dObj->fecount, dObj->illcond);
      }
      if((index==2)&&(dObj->illcondg==0)&&(dObj->ferror == G728_FALSE))
         BandwidthExpansionModul(cnstGainPreditorBroadenVector, dObj->tmpLGPredictorCoeffs,
            dObj->scaleLGPredictorCoeffs, dObj->vecLGPredictorCoeffs, LPCLG);
      /* Obtain the shape index and gain index from codebook idexes */
      GetShapeGainIdxs(codebookIdxs[index-1], &shapeIdx, &gainIdx, (Ipp16s)rate);
      /* Get backward-adapted gain */
      /* GSTATE[1:9] shifted down 1 position */
      LoggainLinearPrediction(dObj->vecLGPredictorCoeffs, dObj->vecLGPredictorState, &gainLog); /* Block 46 */
      if(dObj->ferror == G728_FALSE) {
         Log_gain_Limiter_after_erasure(&gainLog, dObj->ogaindb, dObj->afterfe);
         dObj->ogaindb = gainLog;
         InverseLogarithmCalc(gainLog, &linearGain, &scaleGain);

         aa0 = dObj->pGq[gainIdx] * linearGain;
         aa0 = ShiftL_32s(aa0, dObj->pNgq[gainIdx]);
         tmp = Cnvrt_NR_32s16s(aa0);
         nlset = scaleGain + dObj->pNgq[gainIdx] + shape_all_nls[shapeIdx] - 8;
         Excitation_VQ_and_gain_scaling(tmp, &shape_all_norm[shapeIdx * IDIM], et);
      }

      if(dObj->ferror == G728_TRUE)
         ExcitationSignalExtrapolation(dObj->voiced, &dObj->fedelay, dObj->fescale, dObj->nlsfescale,
                                       etpast, et, &nlset, &dObj->seed);

      UpdateExcitationSignal(etpast, et, nlset);

      ippsSyntesisFilterZeroInput_G728_16s(dObj->vecSyntFltrCoeffs, et, nlset, st, &nlsst,dObj->syntState);
      /* Update short-term postfilter coefficiens */
      if(dObj->pst==1){
         if(index==1 && dObj->illcondp != 1)
            STPCoeffsCalc(dObj->vecLPCFltrCoeffs, dObj->scaleLPCFltrCoeffs,
                           dObj->pstA, dObj->rc1, &tiltz);
         if (18 > nlsst) {
            for(i=0; i<IDIM; i++) {
               aa0 = st[i] << (18 - nlsst);
               sst[i] = Cnvrt_NR_32s16s(aa0);
            }
         } else {
            for(i=0; i<IDIM; i++) {
               aa0 = ((int)st[i]) >> (nlsst - 18);
               sst[i] = Cnvrt_NR_32s16s(aa0);
            }
         }
         if (dObj->ip == NPWSZ)
            dObj->ip = NPWSZ - NFRSZ;
         ippsLPCInverseFilter_G728_16s(sst, dObj->vecLPCFltrCoeffs, d + dObj->ip, dObj->postFltAdapterMem);
         dObj->ip += IDIM;

         if(index==3) {
            /*  Pitch period extraction */
            ippsPitchPeriodExtraction_G728_16s (d, &(dObj->kp1), dObj->postFltAdapterMem);
            ippsMove_16s(d-KPMAX+NFRSZ, d-KPMAX, (NPWSZ-NFRSZ+KPMAX));
            /* Compute long-term postfilter coefficients */
            LTPCoeffsCalc(sst, dObj->kp1, &dObj->gl, &dObj->glb, &dObj->pTab);
         }
         /* Long-term and short-term postfilters */
         ippsPostFilter_G728_16s(dObj->gl, dObj->glb, (Ipp16s)dObj->kp1,
               tiltz, dObj->pstA, sst,  temp, dObj->stpMem);
      } else { /*  dObj->pst == 0 */
         /* Upscale on Q3 */
         if (19 > nlsst) {
            for(i=0; i<IDIM; i++) {
               aa0 = st[i] << (19 - nlsst);
               sst[i] = Cnvrt_NR_32s16s(aa0);
            }
         } else {
            for(i=0; i<IDIM; i++) {
               aa0 = ((int)st[i]) >> (nlsst - 19);
               sst[i] = Cnvrt_NR_32s16s(aa0);
            }
         }
         /* only short term postfilter */
         ippsIIR16s_G728_16s(dObj->pstA,sst,temp,5,(IppsIIRState_G728_16s*)dObj->stpMem);
      }

      ippsMove_16s(sst-NPWSZ-KPMAX+IDIM, sst-NPWSZ-KPMAX, NPWSZ+KPMAX-5);
      for(i=-5; i < 0; i++)
         sst[i] = sst[i+IDIM] >> 2;

      if(dObj->pst==1) {
         /* Calculate sums of absolute values */
         AbsSum_G728_16s32s(sst, &sumunfil);
         AbsSum_G728_16s32s(temp, &sumfil);
         /* Ratio of sums of absolute values */
         ScaleFactorCalc(sumunfil, sumfil, &scale, &nlsscale);
         /* Low-pass filter of scaling factor */
         /* Gain control of postfilter output */
         FirstOrderLowpassFilter_OuputGainScaling(scale, nlsscale, &dObj->scalefil,
            temp, spf);
      }
      /* Update log-gain and gain predictor memory */
      if(dObj->ferror == G728_FALSE)
         dObj->vecLGPredictorState[0] = LoggainAdderLimiter(gainLog, (Ipp16s)gainIdx,
            (Ipp16s)shapeIdx, dObj->pCodebookGain);

      if(dObj->ferror == G728_TRUE) {
         UpdateLGPredictorState(et, dObj->vecLGPredictorState);
         dObj->ogaindb = dObj->vecLGPredictorState[0];
      }

      /* sttmp - cyclic buffer                                    */
      /* icount   sttmp                                           */
      /*      1   st[ 0: 4],        0,         0,        0,       */
      /*      2   st[ 0: 4],st[ 5: 9],         0,        0,       */
      /*      3   st[ 0: 4],st[ 5: 9], st[10:14],        0,       */
      /*      4   st[ 0: 4],st[ 5: 9], st[10:14],st[15:19],       */
      /*      1   st[20:24],st[ 5: 9], st[10:14],st[15:19], ....  */
      i = (index - 1) *IDIM;
      ippsCopy_16s(st,&dObj->sttmp[i],5);
      dObj->nlssttmp[index-1] = nlsst;
      /* Start once-per-frame processing */
      if(index == 4) {
         short alphatmp;
         dObj->illcond = 0;
         if(ippsWinHybridBlock_G728_16s(dObj->ferror, dObj->sttmp, dObj->nlssttmp,
            rtmp, dObj->rexpMem ) != ippStsNoErr){
            dObj->illcond = 1;
         }
         ippsZero_16s(dObj->tmpSyntFltrCoeffs, LPC);
         if(dObj->pst==1) {
            LevinsonDurbin(rtmp, 0, 10, dObj->tmpSyntFltrCoeffs, &dObj->rc1, &alphatmp,
               &dObj->scaleSyntFltrCoeffs, &dObj->illcondp, &dObj->illcond);
            /* Save the 10th-order predictor for postfilter use later */
            dObj->scaleLPCFltrCoeffs = dObj->scaleSyntFltrCoeffs;
            ippsCopy_16s(dObj->tmpSyntFltrCoeffs, dObj->vecLPCFltrCoeffs, 10);
            /* Continue to finish Levinson Durbin */
            if(dObj->ferror == G728_FALSE)
               LevinsonDurbin(rtmp, 10, LPC, dObj->tmpSyntFltrCoeffs,  &foo,
                  &alphatmp,&dObj->scaleSyntFltrCoeffs, &dObj->illcondp, &dObj->illcond);
         } else {
            LevinsonDurbin(rtmp, 0, LPC, dObj->tmpSyntFltrCoeffs, &foo, &foo,
               &dObj->scaleSyntFltrCoeffs, &dObj->illcondp, &dObj->illcond);
         }
      }

      if(index == 1) {
         Ipp16s foo;
         gtmp[0] = dObj->vecLGPredictorState[3];
         gtmp[1] = dObj->vecLGPredictorState[2];
         gtmp[2] = dObj->vecLGPredictorState[1];
         gtmp[3] = dObj->vecLGPredictorState[0];
         /* Block 43 */
         dObj->illcondg=0;
         if(ippsWinHybrid_G728_16s(dObj->ferror, gtmp, r, dObj->rexplgMem) != ippStsNoErr){
            dObj->illcondg=1;
         };
         if(dObj->ferror == G728_FALSE) {
            ippsZero_16s(dObj->tmpLGPredictorCoeffs, LPCLG);
            LevinsonDurbin(r, 0, LPCLG, dObj->tmpLGPredictorCoeffs, &foo, &foo,
               &dObj->scaleLGPredictorCoeffs, &dObj->illcondp, &dObj->illcondg);
         }
      }
      /* End once-per-frame processing */
      if(dObj->pst==0){
         dst[0] = sst[0];
         dst[1] = sst[1];
         dst[2] = sst[2];
         dst[3] = sst[3];
         dst[4] = sst[4];
      }else{
         dst[0] = ShiftL_16s(spf[0], 1);
         dst[1] = ShiftL_16s(spf[1], 1);
         dst[2] = ShiftL_16s(spf[2], 1);
         dst[3] = ShiftL_16s(spf[3], 1);
         dst[4] = ShiftL_16s(spf[4], 1);
      }
      dst += 5;
   }
   return APIG728_StsNoErr;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伊人婷婷欧美激情| av一区二区久久| 毛片av一区二区三区| 视频一区二区不卡| 青青草国产成人av片免费| 日韩欧美中文字幕公布| 日韩一区二区三区四区五区六区| 欧美日本一道本| 欧美日韩在线播| 91麻豆精品国产91久久久| 91精品国产欧美日韩| 日韩女优av电影在线观看| 欧美成人猛片aaaaaaa| 欧美成人乱码一区二区三区| 久久亚洲一区二区三区明星换脸| 国产欧美精品一区| 亚洲欧美视频在线观看视频| 一区二区三区四区在线播放| 香蕉乱码成人久久天堂爱免费| 日本一不卡视频| 狠狠色丁香九九婷婷综合五月| 国产伦精品一区二区三区视频青涩 | 91色.com| 欧洲色大大久久| 欧美一区二区三区在线看 | 美美哒免费高清在线观看视频一区二区| 日本成人中文字幕| 国产美女一区二区三区| 99精品国产91久久久久久| 欧美视频一二三区| 欧美变态tickle挠乳网站| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧美日韩在线| 日日摸夜夜添夜夜添国产精品 | 国产精品资源在线| av福利精品导航| 在线综合亚洲欧美在线视频| 久久久www成人免费毛片麻豆| 中文字幕人成不卡一区| 亚洲.国产.中文慕字在线| 精品亚洲成a人| eeuss鲁片一区二区三区| 欧美日韩激情在线| 久久久久久久国产精品影院| 一区二区三区在线免费| 另类调教123区| 91在线免费看| 精品欧美一区二区在线观看 | av在线这里只有精品| 欧美日韩一区二区欧美激情| 久久久亚洲精品石原莉奈| 亚洲精品成人天堂一二三| 麻豆精品新av中文字幕| 91论坛在线播放| 日韩精品一区二区三区视频播放| 亚洲欧美日韩一区二区| 欧美日韩一级片网站| 欧美精品tushy高清| 日本一区二区视频在线| 天天操天天综合网| 91亚洲永久精品| 精品国偷自产国产一区| 亚洲mv大片欧洲mv大片精品| 成人不卡免费av| 精品国精品自拍自在线| 亚洲chinese男男1069| 99久久精品国产一区二区三区| 日韩欧美一级特黄在线播放| 亚洲一线二线三线视频| caoporm超碰国产精品| 久久综合一区二区| 日韩av高清在线观看| 91久久久免费一区二区| 国产精品久久三区| 国产中文一区二区三区| 91精品国产91久久综合桃花| 亚洲乱码国产乱码精品精小说| 国产91对白在线观看九色| 欧美电影免费观看高清完整版在线观看| 亚洲午夜视频在线| 91蝌蚪porny九色| 中文字幕日韩精品一区| 成人精品一区二区三区四区| 久久综合九色综合欧美就去吻| 日韩高清在线观看| 欧美日韩一区二区在线观看 | 成人做爰69片免费看网站| 精品少妇一区二区三区在线视频| 五月婷婷综合在线| 欧美系列亚洲系列| 伊人开心综合网| 色综合视频一区二区三区高清| 中文字幕一区二区三区蜜月| 丁香五精品蜜臀久久久久99网站| 久久综合色之久久综合| 久久成人av少妇免费| 日韩欧美国产麻豆| 麻豆成人在线观看| 日韩欧美一级二级| 毛片一区二区三区| 久久视频一区二区| 国产伦精一区二区三区| 久久久www成人免费毛片麻豆| 国产在线精品一区二区夜色 | 色哟哟国产精品免费观看| 8x8x8国产精品| 婷婷久久综合九色综合伊人色| 在线观看av一区二区| 亚洲黄色尤物视频| 欧美亚洲动漫精品| 亚洲一区二区三区激情| 欧美日韩性生活| 日韩精彩视频在线观看| 欧美xxxxxxxxx| 国产乱码字幕精品高清av| 国产三级一区二区三区| 成人av资源站| 亚洲在线成人精品| 91精品综合久久久久久| 蓝色福利精品导航| 久久精品视频在线免费观看| 成人教育av在线| 亚洲精品成人在线| 欧美一级在线免费| 韩国v欧美v亚洲v日本v| 国产三级精品在线| 91性感美女视频| 首页综合国产亚洲丝袜| 精品国产123| 99视频超级精品| 午夜精品一区二区三区电影天堂| 日韩一区二区三区电影在线观看| 国产一区二区在线看| 国产精品的网站| 欧美理论在线播放| 国产激情视频一区二区在线观看| 成人免费在线视频| 欧美一级一区二区| 国产成人午夜高潮毛片| 亚洲综合丝袜美腿| 26uuu久久综合| 色婷婷国产精品| 美国av一区二区| 亚洲视频一区在线观看| 91.com在线观看| 成人免费看片app下载| 亚洲午夜在线电影| 国产调教视频一区| 欧美日韩三级一区二区| 岛国一区二区在线观看| 午夜影院久久久| 中文字幕二三区不卡| 欧美日韩国产免费| 成人午夜av电影| 奇米影视在线99精品| 亚洲天堂2014| 欧美成人欧美edvon| 一本大道久久精品懂色aⅴ| 久久99深爱久久99精品| 亚洲精品老司机| 久久精品欧美日韩| 欧美巨大另类极品videosbest| 亚洲欧美另类小说| 欧美在线一区二区| 国产成人综合精品三级| 午夜精品久久久久久久久久久| 中文无字幕一区二区三区| 欧美一级高清片在线观看| 色88888久久久久久影院野外 | 欧美日韩一区视频| av电影在线观看不卡| 国产一区欧美一区| 日日夜夜免费精品视频| 亚洲激情成人在线| 一区免费观看视频| 久久久99精品久久| 日韩一级欧美一级| 欧美精品在线观看一区二区| 9久草视频在线视频精品| 国产制服丝袜一区| 久久精品国产亚洲a| 午夜精品久久久久久久99水蜜桃| 亚洲男同1069视频| 国产精品大尺度| 国产精品入口麻豆九色| 久久免费视频色| 欧美精品一区二区三区蜜臀| 欧美一区二区私人影院日本| 欧美日韩精品免费观看视频| 在线精品视频一区二区三四| 91丝袜美腿高跟国产极品老师 | 99re视频精品| av网站一区二区三区| 成人一区二区三区视频| 国产精品1区2区3区| 国产精品资源站在线| 国内外精品视频| 国产一区二区精品在线观看| 狠狠色丁香久久婷婷综合_中 | 欧美系列一区二区|