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

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

?? qualitylevelassigner.cpp

?? JMVM MPEG MVC/3DAV 測試平臺 國際通用標準
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
}


ErrVal
QualityLevelAssigner::xClearPicBufferLists()
{
  ROF( m_cActivePicBufferList.empty() );
  
  PicBufferList::iterator iter;
  for( iter = m_cUnusedPicBufferList.begin(); iter != m_cUnusedPicBufferList.end(); iter++ )
  {
    delete (*iter)->getBuffer();
    delete (*iter);
  }
  m_cUnusedPicBufferList.clear();
  
  for( iter = m_cActivePicBufferList.begin(); iter != m_cActivePicBufferList.end(); iter++ )
  {
    delete (*iter)->getBuffer();
    delete (*iter);
  }
  m_cActivePicBufferList.clear();

  return Err::m_nOK;
}


ErrVal
QualityLevelAssigner::xInitStreamParameters()
{
  printf( "analyse stream content ..." );

  Bool              bFirstPacket  = true;
  BinData*          pcBinData     = 0;
  SEI::SEIMessage*  pcScalableSEI = 0;
  PacketDescription cPacketDescription;

  m_uiNumLayers = 0;
  ::memset( m_auiNumFGSLayers,  0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiNumFrames,     0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiGOPSize,       0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiNumTempLevel,  0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiFrameWidth,    0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiFrameHeight,   0x00, MAX_LAYERS*sizeof(UInt) );
  ::memset( m_auiSPSRequired,   0x00, 32        *sizeof(UInt) );
  ::memset( m_auiPPSRequired,   0x00, 256       *sizeof(UInt) );

  //===== init =====
  RNOK( m_pcH264AVCPacketAnalyzer->init() );
  ReadBitstreamFile* pcReadBitStream = 0;
  RNOK( ReadBitstreamFile::create( pcReadBitStream ) );
  RNOK( pcReadBitStream->init( m_pcParameter->getInputBitStreamName() ) );


  //===== loop over packets =====
  while( true )
  {
    //----- read packet -----
    Bool bEOS = false;
    RNOK( pcReadBitStream->extractPacket( pcBinData, bEOS ) );
    if( bEOS )
    {
      //manu.mathew@samsung : memory leak fix
      RNOK( pcReadBitStream->releasePacket( pcBinData ) );
      pcBinData = NULL;
      //--
      break;
    }

    //----- get packet description -----
    RNOK( m_pcH264AVCPacketAnalyzer->process( pcBinData, cPacketDescription, pcScalableSEI ) );
    ROT( bFirstPacket && !pcScalableSEI );
    if( pcScalableSEI )
    {
      Bool              bUncompleteInfo     = false;
      SEI::ScalableSei* pcScalSEI           = (SEI::ScalableSei*)pcScalableSEI;
      UInt              uiNumLayersInSEI    = pcScalSEI->getNumLayersMinus1() + 1;
      Bool              abUsed[MAX_LAYERS]  = { false, false, false, false, false, false, false, false };

      for( UInt ui = 0; ui < uiNumLayersInSEI; ui++ )
      {
        if(// ! pcScalSEI->getDecodingDependencyInfoPresentFlag ( ui ) ||  //JVT-S036 lsj
            ! pcScalSEI->getFrmSizeInfoPresentFlag            ( ui )   )
        {
          bUncompleteInfo = true;
          break;
        }

        UInt uiLayerId = pcScalSEI->getDependencyId( ui );
        if( abUsed[uiLayerId] )
        { // update information
          m_auiNumTempLevel [uiLayerId] = max( m_auiNumTempLevel[uiLayerId], pcScalSEI->getTemporalLevel( ui ) );
          m_auiGOPSize      [uiLayerId] = ( 1 << m_auiNumTempLevel[uiLayerId] );
        }
        else
        { // init information
          abUsed            [uiLayerId] = true;
          m_auiNumTempLevel [uiLayerId] = pcScalSEI->getTemporalLevel( ui );
          m_auiGOPSize      [uiLayerId] = ( 1 << m_auiNumTempLevel[uiLayerId] );
          m_auiFrameWidth   [uiLayerId] = ( pcScalSEI->getFrmWidthInMbsMinus1 ( ui ) + 1 ) << 4;
          m_auiFrameHeight  [uiLayerId] = ( pcScalSEI->getFrmHeightInMbsMinus1( ui ) + 1 ) << 4;
        }
      }

      ROT( bUncompleteInfo );

      delete pcScalableSEI;
      pcScalableSEI = 0;
      bFirstPacket  = false;
    }

    //----- analyse packets -----
    if( cPacketDescription.FGSLayer )
    {
      if( cPacketDescription.Layer+1 > m_uiNumLayers)
      {
        m_uiNumLayers = cPacketDescription.Layer+1;
      }
      if( cPacketDescription.FGSLayer > m_auiNumFGSLayers[cPacketDescription.Layer] )
      {
        m_auiNumFGSLayers[cPacketDescription.Layer] = cPacketDescription.FGSLayer;
      }
      m_auiSPSRequired[cPacketDescription.SPSid] |= (1 << cPacketDescription.Layer);
      m_auiPPSRequired[cPacketDescription.PPSid] |= (1 << cPacketDescription.Layer);
    }
    else if( ! cPacketDescription.ParameterSet && cPacketDescription.NalUnitType != NAL_UNIT_SEI &&
             ! cPacketDescription.FGSLayer )
    {
      m_auiNumFrames[cPacketDescription.Layer]++;
      
      m_auiSPSRequired[cPacketDescription.SPSid] |= (1 << cPacketDescription.Layer);
      m_auiPPSRequired[cPacketDescription.PPSid] |= (1 << cPacketDescription.Layer);
    }

    //----- delete bin data -----
    RNOK( pcReadBitStream->releasePacket( pcBinData ) );
  }

  
  //===== uninit =====
  RNOK( m_pcH264AVCPacketAnalyzer->uninit() );
  RNOK( pcReadBitStream->uninit() );
  RNOK( pcReadBitStream->destroy() );

  printf("\n");
  return Err::m_nOK;
}



ErrVal
QualityLevelAssigner::xInitRateAndDistortion(Bool bMultiLayer)
{
  RNOK( xInitRateValues() );

  //----- create temporarily distortion arrays -----
  UInt  uiLayer, uiFGS, uiTLevel, uiFrame;
  UInt* aaaauiDistortionDep[MAX_LAYERS][MAX_QUALITY_LEVELS][MAX_DSTAGES+1];
  UInt* aaaauiDistortionInd[MAX_LAYERS][MAX_QUALITY_LEVELS][MAX_DSTAGES+1];
  for( uiLayer  = 0;  uiLayer   <  m_uiNumLayers;              uiLayer  ++ )
  {
    //JVT-S043
    UInt uiTopLayer = (bMultiLayer? m_uiNumLayers-1 : uiLayer);

    for( uiFGS    = 0;  uiFGS     <= m_auiNumFGSLayers[uiLayer]; uiFGS    ++ )
    for( uiTLevel = 0;  uiTLevel  <= m_auiNumTempLevel[uiLayer]; uiTLevel ++ )
    {
      ROFRS( ( aaaauiDistortionDep[uiLayer][uiFGS][uiTLevel] = new UInt [m_auiNumFrames[uiTopLayer]] ), Err::m_nOK );
      ROFRS( ( aaaauiDistortionInd[uiLayer][uiFGS][uiTLevel] = new UInt [m_auiNumFrames[uiTopLayer]] ), Err::m_nOK );
    }
  }
  for( uiLayer  = 0;  uiLayer   <  m_uiNumLayers;              uiLayer  ++ )
  for( uiFrame  = 0;  uiFrame   <  m_auiNumFrames[uiLayer];    uiFrame  ++ )
  {
    m_aaadDeltaDist[uiLayer][0][uiFrame] = 100.0; // dummy value
  }


  Bool bDep = m_pcParameter->useDependentDistCalc   ();
  Bool bInd = m_pcParameter->useIndependentDistCalc ();
  ROF( bDep || bInd );


  //----- determine picture distortions -----
  for( uiLayer = 0; uiLayer < m_uiNumLayers; uiLayer++ )
  {
    //JVT-S043
    UInt uiTopLayer = (bMultiLayer? m_uiNumLayers-1 : uiLayer);

    //----- get base layer distortion -----
    RNOK( xInitDistortion( aaaauiDistortionDep[uiLayer][0][0], uiTopLayer, uiLayer, 0 ) );

    ::memcpy(              aaaauiDistortionInd[uiLayer][0][0], aaaauiDistortionDep[uiLayer][0][0], m_auiNumFrames[uiTopLayer]*sizeof(UInt) );
    for( uiTLevel = 1; uiTLevel <= m_auiNumTempLevel[uiLayer]; uiTLevel++ )
    {
      ::memcpy(     aaaauiDistortionDep[uiLayer][0][uiTLevel], aaaauiDistortionDep[uiLayer][0][0], m_auiNumFrames[uiTopLayer]*sizeof(UInt) );
      ::memcpy(     aaaauiDistortionInd[uiLayer][0][uiTLevel], aaaauiDistortionInd[uiLayer][0][0], m_auiNumFrames[uiTopLayer]*sizeof(UInt) );
    }
    //----- get enhancement distortions -----
    for( uiFGS    = 1; uiFGS    <= m_auiNumFGSLayers[uiLayer]; uiFGS   ++ )
    for( uiTLevel = 0; uiTLevel <= m_auiNumTempLevel[uiLayer]; uiTLevel++ )
    {
      if( bDep )
      {
        RNOK( xInitDistortion( aaaauiDistortionDep[uiLayer][uiFGS][uiTLevel], uiTopLayer, uiLayer, uiFGS, uiTLevel, false ) );
      }
      if( bInd )
      {
        RNOK( xInitDistortion( aaaauiDistortionInd[uiLayer][uiFGS][uiTLevel], uiTopLayer, uiLayer, uiFGS, uiTLevel, true  ) );
      }
    }
    RNOK( xClearPicBufferLists() ); // spatial resolution can be changed
  }


  //----- init delta distortion -----
  printf( "determine delta distortions ..." );
  for( uiLayer = 0; uiLayer < m_uiNumLayers; uiLayer++ )
  {
    //JVT-S043
    UInt uiTopLayer = (bMultiLayer? m_uiNumLayers-1 : uiLayer);

    //----- create arrays for pic number to frame number mapping -----
    UInt* puiPic2FNum = new UInt[ m_auiNumFrames[uiLayer] ];
    ROF(  puiPic2FNum);
    Bool  bLastGOP    = false;
    UInt  uiFrameNum  = 0;
    UInt  uiGOPPos    = 0;
    for( puiPic2FNum[0] = uiFrameNum++; ! bLastGOP; uiGOPPos += m_auiGOPSize[uiLayer] )
    {
      for( uiTLevel = 0; uiTLevel <= m_auiNumTempLevel[uiLayer]; uiTLevel++ )
      {
        UInt uiStep = ( 1 << ( m_auiNumTempLevel[uiLayer] - uiTLevel ) );
        for( UInt uiDeltaPos = uiStep; uiDeltaPos <= m_auiGOPSize[uiLayer]; uiDeltaPos += (uiStep<<1) )
        {
          if( uiGOPPos + uiDeltaPos < m_auiNumFrames[uiLayer] )
          {
            puiPic2FNum[uiGOPPos+uiDeltaPos] = uiFrameNum++;
          }
          else
          {
            bLastGOP = true;
          }
        }
      }
    }
  
   
    //----- determine delta distortions -----
    for( uiFGS = 1; uiFGS <= m_auiNumFGSLayers[uiLayer]; uiFGS++ )
    {
      //----- key pictures (that's a bit tricky) -----
      {
        UInt  uiMaxTLevel     = m_auiNumTempLevel[uiLayer];
        Bool  bLastKeyPicture = false;
        for( UInt uiKeyPicCount = 0; ! bLastKeyPicture; uiKeyPicCount++ )
        {
          Double dDistortionBaseDep  = 0;
          Double dDistortionBaseInd  = 0;
          Double dDistortionEnhDep   = 0;
          Double dDistortionEnhInd   = 0;
          bLastKeyPicture         = ( ( ( m_auiNumFrames[uiLayer] - 1 ) / m_auiGOPSize[uiLayer] ) == uiKeyPicCount );
          
          UInt   uiPicNum         = uiKeyPicCount * m_auiGOPSize[uiLayer];
          UInt   uiTopLayerPicNum = uiKeyPicCount * m_auiGOPSize[uiTopLayer];
          // UInt   uiStepSize2      = m_auiGOPSize[uiLayer] >> 1;  // unused variable mwi060625
          UInt   uiTopLayerStepSize2 = m_auiGOPSize[uiTopLayer] >> 1;
          
          //---- preceding level 1 picture -----
          if( uiKeyPicCount )
          {
            dDistortionBaseDep += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS-1][uiMaxTLevel][uiTopLayerPicNum-uiTopLayerStepSize2] ) / 2;
            dDistortionEnhDep  += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS  ][0          ][uiTopLayerPicNum-uiTopLayerStepSize2] ) / 2;

            dDistortionBaseInd += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS-1][0          ][uiTopLayerPicNum-uiTopLayerStepSize2] ) / 2;
            dDistortionEnhInd  += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS  ][0          ][uiTopLayerPicNum-uiTopLayerStepSize2] ) / 2;
          }
          //---- normal pictures -----
          UInt uiStartPicNum  = ( uiKeyPicCount   ?  uiTopLayerPicNum - uiTopLayerStepSize2 + 1 : 0 );
          UInt uiEndPicNum    = ( bLastKeyPicture ? m_auiNumFrames[uiTopLayer] - 1 : uiTopLayerPicNum + uiTopLayerStepSize2 - 1 );
          for( UInt uiCheckPicNum = uiStartPicNum; uiCheckPicNum <= uiEndPicNum; uiCheckPicNum++ )
          {
            dDistortionBaseDep += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS-1][uiMaxTLevel][uiCheckPicNum] );
            dDistortionEnhDep  += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS  ][0          ][uiCheckPicNum] );

            dDistortionBaseInd += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS-1][0          ][uiCheckPicNum] );
            dDistortionEnhInd  += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS  ][0          ][uiCheckPicNum] );
          }
          //---- following level 1 picture -----
          if( ! bLastKeyPicture )
          {
            dDistortionBaseDep += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS-1][uiMaxTLevel][uiTopLayerPicNum+uiTopLayerStepSize2] ) / 2;
            dDistortionEnhDep  += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS  ][0          ][uiTopLayerPicNum+uiTopLayerStepSize2] ) / 2;

            dDistortionBaseInd += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS-1][0          ][uiTopLayerPicNum+uiTopLayerStepSize2] ) / 2;
            dDistortionEnhInd  += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS  ][0          ][uiTopLayerPicNum+uiTopLayerStepSize2] ) / 2;
          }

          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]] = 0;
          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]]+= ( bDep ? dDistortionBaseDep - dDistortionEnhDep : 0 );
          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]]+= ( bInd ? dDistortionBaseInd - dDistortionEnhInd : 0 );
        }
      }

      //----- non-key pictures -----
      UInt uiTemporalScaleFactor = m_auiGOPSize[uiTopLayer] / m_auiGOPSize[uiLayer];

      for( uiTLevel = 1; uiTLevel <= m_auiNumTempLevel[uiLayer]; uiTLevel++ )
      {
        UInt uiStepSize2   = ( 1 << ( m_auiNumTempLevel[uiLayer] - uiTLevel ) );
        UInt uiTopLayerStepSize2   = ( 1 << ( m_auiNumTempLevel[uiTopLayer] - uiTLevel ) );

        for( UInt uiPicNum = uiStepSize2; uiPicNum < m_auiNumFrames[uiLayer]; uiPicNum += (uiStepSize2<<1) )
        {
          UInt uiTopLayerPicNum = uiPicNum * uiTemporalScaleFactor;

          Double dDistortionBaseDep  = 0;
          Double dDistortionBaseInd  = 0;
          Double dDistortionEnhDep   = 0;
          Double dDistortionEnhInd   = 0;
          UInt    uiStartPicNum   = uiTopLayerPicNum - uiTopLayerStepSize2 + 1;
          UInt    uiEndPicNum     = min( uiTopLayerPicNum + uiTopLayerStepSize2, m_auiNumFrames[uiTopLayer] ) - 1;
          for( UInt uiCheckPicNum = uiStartPicNum; uiCheckPicNum <= uiEndPicNum; uiCheckPicNum++ )
          {
            dDistortionBaseDep += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS  ][uiTLevel-1][uiCheckPicNum] );
            dDistortionEnhDep  += log10( (Double)aaaauiDistortionDep[uiLayer][uiFGS  ][uiTLevel  ][uiCheckPicNum] );

            dDistortionBaseInd += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS-1][uiTLevel  ][uiCheckPicNum] );
            dDistortionEnhInd  += log10( (Double)aaaauiDistortionInd[uiLayer][uiFGS  ][uiTLevel  ][uiCheckPicNum] );
          }
          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]] = 0;
          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]]+= ( bDep ? dDistortionBaseDep - dDistortionEnhDep : 0 );
          m_aaadDeltaDist[uiLayer][uiFGS][puiPic2FNum[uiPicNum]]+= ( bInd ? dDistortionBaseInd - dDistortionEnhInd : 0 );
        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一卡二卡三卡四卡五卡| 国产日产欧产精品推荐色 | 亚洲欧洲精品一区二区三区| 精品国产青草久久久久福利| 精品伦理精品一区| 国产精品乱人伦| 亚洲第一狼人社区| 国内精品视频666| 色噜噜久久综合| 91精品国产美女浴室洗澡无遮挡| 日本一区二区三区久久久久久久久不 | 欧美激情一区二区| 国产激情精品久久久第一区二区| 精品国产三级电影在线观看| 国产欧美一区二区精品忘忧草| 亚洲一区二区三区中文字幕| 国产精品一区二区久激情瑜伽| 在线观看免费亚洲| 久久精品一区四区| 久久不见久久见免费视频1| 91麻豆蜜桃一区二区三区| 亚洲国产精品黑人久久久| 久久精品999| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲精品一二三四区| 色婷婷综合激情| 欧美一区二区三区男人的天堂| 国产精品三级电影| 国产一区 二区 三区一级| 欧美日韩日本视频| 国产精品久久久久影院| 国产精品1024| 日韩欧美国产麻豆| 亚洲777理论| 欧美在线播放高清精品| 一区二区三区精品久久久| av中文字幕亚洲| 国产精品国产精品国产专区不片| 韩国女主播一区| 国产精品欧美经典| 成人黄色软件下载| 一区二区三区中文在线| 欧美日韩亚洲另类| 美女任你摸久久| 亚洲日本va午夜在线电影| 日韩一区二区在线观看视频 | 91精品国产福利| 亚洲一区二区三区美女| 欧美精品高清视频| 丁香婷婷综合色啪| 亚洲三级免费电影| 91精品国产综合久久久久久漫画| 美腿丝袜亚洲三区| 国产精品久久久久一区二区三区| 91官网在线观看| 韩国成人福利片在线播放| 亚洲精品视频在线观看网站| 精品成a人在线观看| 99久久免费视频.com| 精品一区二区三区免费| 国产精品网友自拍| 欧美一级在线免费| 欧美mv日韩mv国产网站| 一本大道久久精品懂色aⅴ| 激情综合色播五月| 亚洲国产综合色| 国产精品欧美经典| 欧美精品一区视频| 欧美一级午夜免费电影| 欧美日韩国产精选| 在线观看av不卡| 99视频一区二区| 成人免费看黄yyy456| 国产成a人无v码亚洲福利| 久草这里只有精品视频| 美女任你摸久久| 精一区二区三区| 老司机精品视频导航| 久草在线在线精品观看| 精品在线观看免费| 韩日欧美一区二区三区| 国产最新精品免费| 国产高清亚洲一区| 国产精品资源在线| 粉嫩一区二区三区性色av| 国产成人鲁色资源国产91色综| 国内成人免费视频| 丰满亚洲少妇av| 欧美在线观看视频在线| 91精品国产欧美一区二区18 | 麻豆成人免费电影| 免费在线观看成人| 国产福利一区在线| 日本道精品一区二区三区| 欧美日韩一级片在线观看| 久久老女人爱爱| 中文字幕一区二区5566日韩| 亚洲国产成人91porn| 激情六月婷婷久久| 色婷婷久久久久swag精品| 欧美日韩国产天堂| 国产欧美综合色| 日本伊人色综合网| av中文字幕一区| 精品对白一区国产伦| 一区二区三区视频在线观看| 国内精品嫩模私拍在线| 欧美日韩一区二区三区四区五区 | 亚洲图片欧美色图| 国产福利电影一区二区三区| 欧美一级日韩一级| 亚洲1区2区3区4区| 91麻豆高清视频| 国产精品视频观看| 国产黄色精品网站| www国产成人| 久久成人免费网| 日韩免费在线观看| 蜜臂av日日欢夜夜爽一区| 欧美久久久久久久久| 亚洲高清在线精品| 欧美日韩一级片在线观看| 亚洲六月丁香色婷婷综合久久| 成人免费va视频| 久久精品夜色噜噜亚洲aⅴ| 精品伊人久久久久7777人| 26uuu精品一区二区在线观看| 精品一区二区免费看| 精品国产乱码久久久久久影片| 免费久久精品视频| 日韩欧美自拍偷拍| 久久99久国产精品黄毛片色诱| 精品国产91亚洲一区二区三区婷婷| 韩国三级电影一区二区| 国产日韩影视精品| 不卡在线视频中文字幕| 亚洲国产视频一区| 日韩欧美一区电影| 成人激情黄色小说| 亚洲伊人色欲综合网| 精品国产免费一区二区三区四区 | 99精品视频一区| 亚洲欧美一区二区三区国产精品| 91国在线观看| 蜜臀av性久久久久蜜臀av麻豆| 欧美激情一区二区三区不卡| 成人app在线观看| 波多野结衣视频一区| 成人a区在线观看| proumb性欧美在线观看| 欧洲精品一区二区三区在线观看| 91免费国产视频网站| 91视频免费观看| 3d动漫精品啪啪一区二区竹菊| 91精品国产日韩91久久久久久| 911精品国产一区二区在线| 日韩免费一区二区三区在线播放| 久久综合久久综合久久| 国产精品欧美久久久久无广告 | 亚洲色图欧美偷拍| 洋洋成人永久网站入口| 日韩av中文在线观看| 国产精品自拍av| 欧美伊人久久久久久午夜久久久久| 欧美日韩成人综合在线一区二区 | 99久久精品情趣| 欧美一区二区三区在线观看视频| 精品少妇一区二区三区在线视频| 国产精品久久久久婷婷| 三级精品在线观看| 丁香五精品蜜臀久久久久99网站| 欧美日韩成人一区| 国产精品久久久久久久久果冻传媒| 三级欧美韩日大片在线看| 成人av片在线观看| 久久免费国产精品| 午夜精品在线看| 成人av电影在线播放| 日韩免费看网站| 日韩电影免费在线| 日本乱人伦aⅴ精品| 国产精品美女久久久久久 | 国产毛片精品一区| 7777精品伊人久久久大香线蕉的 | 国产精品亚洲专一区二区三区| 日韩精品一区二区三区在线 | 国产一区91精品张津瑜| 精品精品欲导航| 久久精品国产久精国产| 欧美一区二区性放荡片| 天天亚洲美女在线视频| 日韩亚洲欧美中文三级| 日韩不卡在线观看日韩不卡视频| 欧美日韩另类国产亚洲欧美一级| 亚洲激情图片小说视频| 欧美性受xxxx黑人xyx性爽| 一区二区三区欧美日| 色综合 综合色| 三级久久三级久久| 精品国产露脸精彩对白 |