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

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

?? encoder.c

?? Intel開發的IPP庫的應用實例
?? C
?? 第 1 頁 / 共 5 頁
字號:
            pOutputBuffer[Count*(NUM_CODEBOOK+1)+NUM_CODEBOOK] = 0;

         ippsMove_32f(pCodec->pFeatCyclicBuf+(pCodec->numCepCoeff+1),pCodec->pFeatCyclicBuf,(pCodec->numCepCoeff+1)*6);
         Count++;
      }
      ResetAuroraEncoder(pCodec);
   }
   if(pCodec->freq == r11KHz){
      ippsFree(pTmp);
   }
   return Count;
}

int CreateMultyFrame(AuroraEncoder *pCodec){
   int crc,MultyFrameCounter=0;
   int idx = (pCodec->iCountFrame/4)*23+6;

   if (pCodec->iCountFrame==0){
      pCodec->pFrame->pos=6;
      ippsZero_8u(pCodec->pFrame->pFrameBuffer,NUM_MULTI_BYTE);
   }

   if(pCodec->iCountFrame%4==0){
      pCodec->pFrame->pFrameBuffer[idx]   = (0x3f & pCodec->pIndexVQBuffer[0]);
      pCodec->pFrame->pFrameBuffer[idx]  |= (0xc0 & (pCodec->pIndexVQBuffer[1] << 6));
      pCodec->pFrame->pFrameBuffer[idx+1] = (0x0f & (pCodec->pIndexVQBuffer[1] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+1]|= (0xf0 & (pCodec->pIndexVQBuffer[2] << 4));
      pCodec->pFrame->pFrameBuffer[idx+2] = (0x03 & (pCodec->pIndexVQBuffer[2] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+2]|= (0xfc & (pCodec->pIndexVQBuffer[3] << 2));
      pCodec->pFrame->pFrameBuffer[idx+3] = (0x3f &  pCodec->pIndexVQBuffer[4]);
      pCodec->pFrame->pFrameBuffer[idx+3]|= (0xc0 & (pCodec->pIndexVQBuffer[5] << 6));
      pCodec->pFrame->pFrameBuffer[idx+4] = (0x0f & (pCodec->pIndexVQBuffer[5] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+4]|= (0xf0 & (pCodec->pIndexVQBuffer[6] << 4));
      pCodec->pFrame->pFrameBuffer[idx+5] = (0x0f & (pCodec->pIndexVQBuffer[6] >> 4));
      pCodec->pFrame->pos += 5;
      crc = encodeCRC(&pCodec->pFrame->pFrameBuffer[idx]);
      pCodec->pFrame->pFrameBuffer[idx+11] = (0x0f & crc);
   }

   if(pCodec->iCountFrame%4==1){
      pCodec->pFrame->pFrameBuffer[idx+5]|= (0xf0 & (pCodec->pIndexVQBuffer[0] << 4));
      pCodec->pFrame->pFrameBuffer[idx+6] = (0x03 & (pCodec->pIndexVQBuffer[0] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+6]|= (0xfc & (pCodec->pIndexVQBuffer[1] << 2));
      pCodec->pFrame->pFrameBuffer[idx+7] = (0x3f &  pCodec->pIndexVQBuffer[2]);
      pCodec->pFrame->pFrameBuffer[idx+7]|= (0xc0 & (pCodec->pIndexVQBuffer[3] << 6));
      pCodec->pFrame->pFrameBuffer[idx+8] = (0x0f & (pCodec->pIndexVQBuffer[3] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+8]|= (0xf0 & (pCodec->pIndexVQBuffer[4] << 4));
      pCodec->pFrame->pFrameBuffer[idx+9] = (0x03 & (pCodec->pIndexVQBuffer[4] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+9]|= (0xfc & (pCodec->pIndexVQBuffer[5] << 2));
      pCodec->pFrame->pFrameBuffer[idx+10]= (0xff &  pCodec->pIndexVQBuffer[6]);
      pCodec->pFrame->pos +=6;
      crc = encodeCRC(&pCodec->pFrame->pFrameBuffer[idx]);
      pCodec->pFrame->pFrameBuffer[idx+11] = (0x0f & crc);
   }
   if (pCodec->iCountFrame%4==2){
      pCodec->pFrame->pFrameBuffer[idx+11]|= (0xf0 & (pCodec->pIndexVQBuffer[0] << 4));
      pCodec->pFrame->pFrameBuffer[idx+12] = (0x03 & (pCodec->pIndexVQBuffer[0] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+12]|= (0xfc & (pCodec->pIndexVQBuffer[1] << 2));
      pCodec->pFrame->pFrameBuffer[idx+13] = (0x3f &  pCodec->pIndexVQBuffer[2]);
      pCodec->pFrame->pFrameBuffer[idx+13]|= (0xc0 & (pCodec->pIndexVQBuffer[3] << 6));
      pCodec->pFrame->pFrameBuffer[idx+14] = (0x0f & (pCodec->pIndexVQBuffer[3] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+14]|= (0xf0 & (pCodec->pIndexVQBuffer[4] << 4));
      pCodec->pFrame->pFrameBuffer[idx+15] = (0x03 & (pCodec->pIndexVQBuffer[4] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+15]|= (0xfc & (pCodec->pIndexVQBuffer[5] << 2));
      pCodec->pFrame->pFrameBuffer[idx+16] = (0xff &  pCodec->pIndexVQBuffer[6]);

      pCodec->pFrame->pCRCBuffer[0] = (0x3f &  pCodec->pIndexVQBuffer[0]);
      pCodec->pFrame->pCRCBuffer[0]|= (0xc0 & (pCodec->pIndexVQBuffer[1] << 6));
      pCodec->pFrame->pCRCBuffer[1] = (0x0f & (pCodec->pIndexVQBuffer[1] >> 2));
      pCodec->pFrame->pCRCBuffer[1]|= (0xf0 & (pCodec->pIndexVQBuffer[2] << 4));
      pCodec->pFrame->pCRCBuffer[2] = (0x03 & (pCodec->pIndexVQBuffer[2] >> 4));
      pCodec->pFrame->pCRCBuffer[2]|= (0xfc & (pCodec->pIndexVQBuffer[3] << 2));
      pCodec->pFrame->pCRCBuffer[3] = (0x3f &  pCodec->pIndexVQBuffer[4]);
      pCodec->pFrame->pCRCBuffer[3]|= (0xc0 & (pCodec->pIndexVQBuffer[5] << 6));
      pCodec->pFrame->pCRCBuffer[4] = (0x0f & (pCodec->pIndexVQBuffer[5] >> 2));
      pCodec->pFrame->pCRCBuffer[4]|= (0xf0 & (pCodec->pIndexVQBuffer[6] << 4));
      pCodec->pFrame->pCRCBuffer[5] = (0x0f & (pCodec->pIndexVQBuffer[6] >> 4));
      pCodec->pFrame->pCRCBuffer[6] =0;
      pCodec->pFrame->pCRCBuffer[7] =0;
      pCodec->pFrame->pCRCBuffer[8] =0;
      pCodec->pFrame->pCRCBuffer[9] =0;
      pCodec->pFrame->pCRCBuffer[10] =0;
      pCodec->pFrame->pos +=6;
      crc = encodeCRC(pCodec->pFrame->pCRCBuffer);
      pCodec->pFrame->pFrameBuffer[idx+22] |= (0xf0 & (crc << 4));
   }

   if (pCodec->iCountFrame%4==3){
      pCodec->pFrame->pFrameBuffer[idx+17] = (0x3f &  pCodec->pIndexVQBuffer[0]);
      pCodec->pFrame->pFrameBuffer[idx+17]|= (0xc0 & (pCodec->pIndexVQBuffer[1] << 6));
      pCodec->pFrame->pFrameBuffer[idx+18] = (0x0f & (pCodec->pIndexVQBuffer[1] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+18]|= (0xf0 & (pCodec->pIndexVQBuffer[2] << 4));
      pCodec->pFrame->pFrameBuffer[idx+19] = (0x03 & (pCodec->pIndexVQBuffer[2] >> 4));
      pCodec->pFrame->pFrameBuffer[idx+19]|= (0xfc & (pCodec->pIndexVQBuffer[3] << 2));
      pCodec->pFrame->pFrameBuffer[idx+20] = (0x3f &  pCodec->pIndexVQBuffer[4]);
      pCodec->pFrame->pFrameBuffer[idx+20]|= (0xc0 & (pCodec->pIndexVQBuffer[5] << 6));
      pCodec->pFrame->pFrameBuffer[idx+21] = (0x0f & (pCodec->pIndexVQBuffer[5] >> 2));
      pCodec->pFrame->pFrameBuffer[idx+21]|= (0xf0 & (pCodec->pIndexVQBuffer[6] << 4));
      pCodec->pFrame->pFrameBuffer[idx+22] = (0x0f & (pCodec->pIndexVQBuffer[6] >> 4));

      pCodec->pFrame->pCRCBuffer[5]|= (0xf0 & (pCodec->pIndexVQBuffer[0] << 4));
      pCodec->pFrame->pCRCBuffer[6] = (0x03 & (pCodec->pIndexVQBuffer[0] >> 4));
      pCodec->pFrame->pCRCBuffer[6]|= (0xfc & (pCodec->pIndexVQBuffer[1] << 2));
      pCodec->pFrame->pCRCBuffer[7] = (0x3f &  pCodec->pIndexVQBuffer[2]);
      pCodec->pFrame->pCRCBuffer[7]|= (0xc0 & (pCodec->pIndexVQBuffer[3] << 6));
      pCodec->pFrame->pCRCBuffer[8] = (0x0f & (pCodec->pIndexVQBuffer[3] >> 2));
      pCodec->pFrame->pCRCBuffer[8]|= (0xf0 & (pCodec->pIndexVQBuffer[4] << 4));
      pCodec->pFrame->pCRCBuffer[9] = (0x03 & (pCodec->pIndexVQBuffer[4] >> 4));
      pCodec->pFrame->pCRCBuffer[9]|= (0xfc & (pCodec->pIndexVQBuffer[5] << 2));
      pCodec->pFrame->pCRCBuffer[10]= (0xff &  pCodec->pIndexVQBuffer[6]);

      crc = encodeCRC(pCodec->pFrame->pCRCBuffer);

      pCodec->pFrame->pFrameBuffer[idx+22] |= (0xf0 & (crc << 4));
      pCodec->pFrame->pos +=6;
   }

   pCodec->iCountFrame++;
   if (pCodec->iCountFrame==24){
      madeHeader(pCodec->pFrame,pCodec->mframeCounter);
      MultyFrameCounter++;
      pCodec->mframeCounter++;
      pCodec->mframeCounter = pCodec->mframeCounter % 16;
      pCodec->NumberFrame++;
      pCodec->iCountFrame=0;
   }
   return MultyFrameCounter;
}



/*    WAVEFORM   ->   MULTIFRAME   */
int ApplyAuroraEncoder_WM(AuroraEncoder *pCodec, short *pInputSignal, int InputLength, unsigned char *pOutputBuffer,int StreamEnd){
   int FrameCounter=0, Count=0,nullMFrame=0,l;
   int tcur = 0, tc, i,j;
   float pNoiseDst[FRAMESHIFT*4];
   char flagVAD;

   short *pTmp;
   short *pInTmp;
   float *pBState_2 = pCodec->noise.pBStateBuf+320;
   float *pBState_1 = pBState_2+320;
   float *pFFTOut = pCodec->noise.pFFT+FFTSIZE*4;
   float pDen[FFTSPEC];
   float pMelBank[NUM_CHANNELS+2];
   IppVADDecision_Aurora vad[1];
   IppStatus status;

   if ( (pCodec->EncoderOutput != MULTIFRAME) && (pCodec->EncoderInput != WAVEFORM)){
      printf("\n!!! ERROR: encoder was initialized with another output flag !!!");
      return 0;
   }

   if (InputLength<=0){
      FrameCounter=0;
      ResetAuroraEncoder(pCodec);
      return FrameCounter;
   }
   pTmp = pInputSignal;

   if(pCodec->freq == r11KHz){
      FrameCounter = (InputLength + pCodec->s11.lastread) / 11;
      pTmp = ippsMalloc_16s(FrameCounter * 8 + 4);
      FrameCounter=0;
      if(InputLength + pCodec->s11.lastread >pCodec->s11.len){
         pCodec->s11.len = InputLength + pCodec->s11.lastread;
         pInTmp = ippsMalloc_16s(pCodec->s11.len);

         ippsCopy_16s(pCodec->s11.p11,pInTmp,pCodec->s11.lastread);

         ippsFree(pCodec->s11.p11);
         pCodec->s11.p11 = pInTmp;

      }

      ippsCopy_16s(pInputSignal,pCodec->s11.p11 + pCodec->s11.lastread, InputLength);

      pCodec->s11.lastread+=InputLength;

      InputLength=0;
      status = ippsResamplePolyphaseFixed_16s(pCodec->s11.ppState[0],pCodec->s11.p11,
         (pCodec->s11.lastread-pCodec->s11.history-(int)pCodec->s11.time),
                     (short*)pTmp,0.98f,&pCodec->s11.time,&InputLength);
      if(status==ippStsNoErr){
         ippsMove_16s(pCodec->s11.p11+(int)pCodec->s11.time-pCodec->s11.history,
            pCodec->s11.p11,(pCodec->s11.lastread+pCodec->s11.history-(int)pCodec->s11.time));


         pCodec->s11.lastread-=(int)pCodec->s11.time-pCodec->s11.history;
         pCodec->s11.time-=(int)pCodec->s11.time-pCodec->s11.history;

      }
      if(StreamEnd){
         l = 0;
         status = ippsResamplePolyphaseFixed_16s(pCodec->s11.ppState[0],pCodec->s11.p11,
         (pCodec->s11.lastread-pCodec->s11.history-(int)pCodec->s11.time),
         (short*)pTmp+InputLength,0.98f,&pCodec->s11.time,&l);
         InputLength+=l;
      }
   }
   if(InputLength>0)
      FrameCounter = PrepareForCalculation(pCodec,pTmp,InputLength);

   if(FrameCounter){
      /* Start process wavebuffer */
      Count = 0;
      tc=1+pCodec->noise.Cur_TPrpocess; FrameCounter += pCodec->noise.Cur_TPrpocess;
      for( ; tc < FrameCounter; tc++,pCodec->noise.Cur_TPrpocess++,pCodec->NumberFrame++){
         if(pCodec->freq == r16KHz){
            ippsLowHighFilter_Aurora_32f(pCodec->noise.pBStateBig+480,
               pBState_1+FRAMESHIFT*3, pCodec->noise.s16.dataHP+480, 160, FIRCoef, FILTERLENGTH);
            ippsMove_32f(pCodec->noise.pBStateBig+160,pCodec->noise.pBStateBig,FILTERLENGTH+480);
         }
         else{
            ippsCopy_32f(pCodec->noise.pBStateBig+append+pCodec->noise.start,
               pBState_1+pCodec->noise.start,pCodec->noise.end);
         }

         /* VAD for noise estimation (VADNest) */
         flagVAD = VADNest(&pCodec->noise.vad,tc,pBState_1+FRAMESHIFT);

         /* perfom noise reduction */
         DoNoiseReduction(pCodec,pCodec->noise.pBStateBuf,tc,pFFTOut,pNoiseDst,&tcur,pMelBank,pDen,flagVAD);

         ippsVADDecision_Aurora_32f(pMelBank,pDen,pCodec->noise.vad.nbSpeechFrame,vad,pCodec->pVadMem);

         if(tcur){
            CeptstrumCalculate(pCodec,pNoiseDst,tc);
            ippsCopy_32f(pCodec->pFeatBuffer,pCodec->pFeatCyclicBuf+(pCodec->numCepCoeff+1)*6,pCodec->numCepCoeff+1);
            if( vad[0]!=IPP_PREPARE ){
               pCodec->pFeatCyclicBuf[pCodec->numCepCoeff]*=(float)pCodec->weight_logE;
               pCodec->pFeatCyclicBuf[pCodec->numCepCoeff-1]*=(float)pCodec->weight_c0;

               for(i=0;i<NUM_CODEBOOK;i++){
                  ippsVQ_32f(pCodec->pFeatCyclicBuf+i*2, 2,&j,1,(const IppsCdbkState_32f *)pCodec->ppCdbkState[i]);
                  pCodec->pIndexVQBuffer[i]=j;
               }
               if(vad[0]==IPP_VOICE)
                  pCodec->pIndexVQBuffer[5] = (pCodec->pIndexVQBuffer[5]<<1) | 1;
               else if(vad[0]==IPP_UNVOICE)
                  pCodec->pIndexVQBuffer[5] = (pCodec->pIndexVQBuffer[5]<<1) | 0;
               if(CreateMultyFrame(pCodec)==1){
                  ippsCopy_8u(pCodec->pFrame->pFrameBuffer,pOutputBuffer+Count*NUM_MULTI_BYTE,NUM_MULTI_BYTE);
                  Count++;
               }
            }
            ippsMove_32f(pCodec->pFeatCyclicBuf+(pCodec->numCepCoeff+1),pCodec->pFeatCyclicBuf,(pCodec->numCepCoeff+1)*6);
         }
         /* Shift  buffers */
         ippsMove_32f(pCodec->noise.pBStateBuf+FRAMESHIFT,pCodec->noise.pBStateBuf,11*FRAMESHIFT);

         /* Forming first buffer */
         if(pCodec->noise.tail >= pCodec->FrameShift){
            CopyBuffers(pCodec,pTmp+InputLength-pCodec->noise.tail,3*pCodec->FrameShift,pCodec->FrameShift);
            pCodec->noise.tail -= pCodec->FrameShift;
         }

         if(pCodec->freq == r16KHz){
            ippsMove_32f(pCodec->noise.s16.dataHP+80,pCodec->noise.s16.dataHP,480);
            ippsMove_32f(pCodec->noise.pFFT+FFTSIZE,pCodec->noise.pFFT,FFTSIZE*4);
         }
      }
      if(pCodec->noise.tail>0 && pCodec->noise.tail<pCodec->FrameShift){
         CopyBuffers(pCodec,pTmp+InputLength-pCodec->noise.tail,3*pCodec->FrameShift,pCodec->noise.tail);
      }
   }
   if (StreamEnd){
      while(1){
         ippsVADFlush_Aurora_32f(vad,pCodec->pVadMem);
         if(vad[0]==IPP_PREPARE)break;

         pCodec->pFeatCyclicBuf[pCodec->numCepCoeff]*=(float)pCodec->weight_logE;
         pCodec->pFeatCyclicBuf[pCodec->numCepCoeff-1]*=(float)pCodec->weight_c0;

         for(i=0;i<NUM_CODEBOOK;i++){
            ippsVQ_32f(pCodec->pFeatCyclicBuf+i*2, 2,&j,1,(const IppsCdbkState_32f *)pCodec->ppCdbkState[i]);
            pCodec->pIndexVQBuffer[i]=j;
         }
         if(vad[0]==IPP_VOICE)
            pCodec->pIndexVQBuffer[5] = (pCodec->pIndexVQBuffer[5]<<1) | 1;
         else if(vad[0]==IPP_UNVOICE)
            pCodec->pIndexVQBuffer[5] = (pCodec->pIndexVQBuffer[5]<<1) | 0;

         if(CreateMultyFrame(pCodec)==1){
            ippsCopy_8u(pCodec->pFrame->pFrameBuffer,pOutputBuffer+Count*NUM_MULTI_BYTE,NUM_MULTI_BYTE);
            Count++;
         }
         ippsMove_32f(pCodec->pFeatCyclicBuf+(pCodec->numCepCoeff+1),pCodec->pFeatCyclicBuf,(pCodec->numCepCoeff+1)*6);
      }

      if ((pCodec->iCountFrame-1)%2==0)pCodec->iCountFrame+=2;
      if( (pCodec->iCountFrame -1) >= 20) nullMFrame = 1;
      madeHeader(pCodec->pFrame,pCodec->mframeCounter);
      ippsCopy_8u(pCodec->pFrame->pFrameBuffer,pOutputBuffer+Count*NUM_MULTI_BYTE,NUM_MULTI_BYTE);
      pCodec->mframeCounter++;
      pCodec->NumberFrame++;
      Count++;
      if(nullMFrame == 1){
         madeHeader(pCodec->pFrame,pCodec->mframeCounter);
         ippsZero_8u(pCodec->pFrame->pFrameBuffer+6,NUM_MULTI_BYTE-6);
         ippsCopy_8u(pCodec->pFrame->pFrameBuffer,pOutputBuffer+Count*NUM_MULTI_BYTE,NUM_MULTI_BYTE);
         Count++;
      }

      ResetAuroraEncoder(pCodec);
   }
   if(pCodec->freq == r11KHz){
      ippsFree(pTmp);
   }
   return Count;
}

/*    WAVEFORM   ->   WAVEFORM   */
int  ApplyAuroraEncoder_WW(AuroraEncoder *pCodec, short *pInputSignal, int InputLength,
                           short *pOutputBuffer,int StreamEnd){
   int FrameCounter=0;
   int tcur = 0, tc;
   float pDst[FRAMESHIFT*4];
   short *pTmp;
   short *pInTmp;
   float pFFT[FFTSIZE];
   char flagVAD;
   float *pBState_2 = pCodec->noise.pBStateBuf+320;
   float *pBState_1 = pBState_2+320;
   float pDen[FFTSPEC];
   float pMelBank[NUM_CHANNELS+2];
   IppStatus status;
   int vad;
   if ( (pCodec->EncoderOutput != WAVEFORM) && (pCodec->EncoderInput != WAVEFORM)){
      printf("\n!!! ERROR: encoder was initialized with another output flag !!!");
      return 0;
   }

   if (InputLength<=0){
      FrameCo

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区二区三区四区 | 一区二区在线观看视频在线观看| 亚洲尤物视频在线| 成人黄色小视频| 国产视频一区二区在线| 激情欧美一区二区| 欧美www视频| 经典三级在线一区| 久久嫩草精品久久久精品一| 韩国av一区二区三区在线观看| 欧美精品色综合| 日韩av中文字幕一区二区| 91黄色免费网站| 天天操天天色综合| 日韩女优av电影| 国产一区二区三区四区五区入口 | 亚洲精品欧美在线| 成人sese在线| 亚洲一区二区三区免费视频| 欧美男女性生活在线直播观看| 亚洲午夜在线视频| 日韩欧美区一区二| 国产精品主播直播| 亚洲美女一区二区三区| 精品婷婷伊人一区三区三| 三级久久三级久久久| 国产欧美一区二区三区在线看蜜臀| 成人免费看黄yyy456| 一区二区三区精密机械公司| 日韩欧美的一区| 成人av一区二区三区| 亚洲乱码中文字幕| 51久久夜色精品国产麻豆| 美美哒免费高清在线观看视频一区二区 | 欧美最猛性xxxxx直播| 亚洲一区二区五区| 日韩精品一区国产麻豆| 99视频有精品| 日韩电影免费在线| 欧美日韩国产综合草草| 五月天激情综合| 亚洲欧美色一区| 精品久久人人做人人爰| 欧美亚一区二区| 国产一区二区三区观看| 亚洲18女电影在线观看| 中文字幕一区免费在线观看| 一区二区三区四区乱视频| 成人短视频下载| 国产精品美女久久久久久2018 | 亚洲精品精品亚洲| 久久影院午夜片一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 午夜在线成人av| 中文字幕日本不卡| 久久精品夜色噜噜亚洲a∨| 欧美精品亚洲二区| 欧美在线不卡一区| 色综合色综合色综合色综合色综合| 久久99精品久久久久久| 首页亚洲欧美制服丝腿| 亚洲国产精品久久不卡毛片| 国产精品久久毛片| 亚洲特黄一级片| 中文字幕一区免费在线观看| 国产欧美视频在线观看| 国产农村妇女精品| 欧美精品亚洲二区| 久久一区二区视频| 国产欧美日韩视频在线观看| 51精品视频一区二区三区| 欧美日韩精品免费观看视频 | 亚洲国产精品一区二区久久 | 一区二区三区国产| 亚洲精品高清在线观看| 性做久久久久久| 美国欧美日韩国产在线播放| 欧美aⅴ一区二区三区视频| 久久国产三级精品| 国产xxx精品视频大全| 国产在线精品一区二区夜色| 激情欧美一区二区| www.日本不卡| 欧美亚洲一区三区| 久久久久久久久蜜桃| 亚洲美女一区二区三区| 免费成人在线播放| 丁香婷婷综合五月| 欧美日韩国产综合一区二区 | 欧美精品乱码久久久久久| 欧美一区二区三区日韩| 欧美国产成人精品| 亚洲gay无套男同| 国产成人av在线影院| 69堂精品视频| 亚洲精品免费播放| 国产乱码精品一区二区三区av| 高清国产一区二区| 91麻豆精品国产91久久久久久久久| 国产情人综合久久777777| 午夜不卡在线视频| 色94色欧美sute亚洲线路二| 久久久青草青青国产亚洲免观| **网站欧美大片在线观看| 成人欧美一区二区三区黑人麻豆| 亚洲亚洲精品在线观看| 国产一区二区精品久久99| 色综合久久综合网97色综合 | 99久久伊人网影院| 久久久久久久久久看片| 极品美女销魂一区二区三区| 精品视频在线免费| 亚洲成人免费电影| 欧美在线观看一二区| 亚洲欧美aⅴ...| 99麻豆久久久国产精品免费| 欧美大肚乱孕交hd孕妇| 亚洲成人午夜电影| 欧美午夜不卡在线观看免费| 婷婷久久综合九色国产成人| 91精品国产入口| 久久激情五月婷婷| 日韩视频免费观看高清完整版在线观看 | 精品久久99ma| 人禽交欧美网站| 日韩精品中文字幕在线一区| 岛国一区二区在线观看| 国产欧美一区二区精品性| 成人免费看视频| 亚洲一区二三区| 日韩视频在线观看一区二区| 黑人巨大精品欧美一区| 欧美电影免费观看高清完整版在线 | 精品一区二区三区免费视频| 国产风韵犹存在线视精品| 日韩一卡二卡三卡四卡| 国精产品一区一区三区mba桃花| 久久久久99精品一区| 成人综合在线观看| 亚洲五码中文字幕| 国产欧美精品国产国产专区| av成人老司机| 捆绑紧缚一区二区三区视频| 国产精品二三区| 久久伊人蜜桃av一区二区| 在线观看视频一区二区欧美日韩| 九色|91porny| 美女一区二区在线观看| 国产香蕉久久精品综合网| 欧美日韩精品电影| 99视频在线观看一区三区| 国产一区二区精品在线观看| 天堂va蜜桃一区二区三区漫画版| 中文字幕制服丝袜一区二区三区| 欧美三级视频在线| 99久久精品情趣| 粉嫩久久99精品久久久久久夜| 美女视频一区二区三区| 天堂影院一区二区| 亚洲国产日韩精品| 亚洲精选一二三| 精品第一国产综合精品aⅴ| 3d成人h动漫网站入口| 欧美日韩亚洲高清一区二区| 欧美亚洲国产一区在线观看网站| 在线观看亚洲专区| 欧美日本一区二区三区四区| 欧美日韩大陆一区二区| 欧美日韩一级二级| 91精品国产免费| 精品日产卡一卡二卡麻豆| 国产亚洲综合在线| 中文字幕一区二区三区四区| 亚洲区小说区图片区qvod| 亚洲精品国产高清久久伦理二区| 亚洲综合区在线| 麻豆精品视频在线| 国产成人精品一区二区三区网站观看| 成人免费黄色大片| 欧美在线视频日韩| 久久综合色播五月| 国产精品成人一区二区三区夜夜夜| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品乱子久久久久| 亚洲欧洲日本在线| 亚洲国产aⅴ天堂久久| 全国精品久久少妇| 国产一区二区福利视频| 91在线精品一区二区| 日韩欧美一区二区视频| 国产欧美精品区一区二区三区 | 亚洲国产乱码最新视频| 国产一区二区三区综合| 欧美色手机在线观看| 精品国产乱码久久久久久夜甘婷婷 | 国产成+人+日韩+欧美+亚洲| 国产成人高清在线| 日韩一级二级三级精品视频| 一区二区三区**美女毛片| 国产精品白丝av|