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

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

?? fgssubbanddecoder.cpp

?? JMVM MPEG MVC/3DAV 測試平臺 國際通用標準
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
  for(ui = 0; ui < 4; ui++)
  {
    m_auiScanPosVectChromaDC[ui] = ui;
  }
  if(m_pcCurrSliceHeader->getFGSCodingMode() == false)
  {
    //grouping size mode
    UInt uiGroupingSize = m_pcCurrSliceHeader->getGroupingSize();
    ui = 0;
    m_auiScanPosVectLuma[ui] = uiGroupingSize-1;
    while( m_auiScanPosVectLuma[ui] < 15)
    {
      ui++;
      m_auiScanPosVectLuma[ui] = m_auiScanPosVectLuma[ui-1]+uiGroupingSize;
    }
  }
  else
  {
    //vector specified
    ui = 0;
    m_auiScanPosVectLuma[ui] = m_pcCurrSliceHeader->getPosVect(ui);
    while( m_auiScanPosVectLuma[ui] != 15)
    {
      ui++;
      m_auiScanPosVectLuma[ui] = m_auiScanPosVectLuma[ui-1] + m_pcCurrSliceHeader->getPosVect(ui);
    }
  }
  try
  {
    AOT( m_pcSymbolReader == 0 );
    RNOK( m_pcSymbolReader  ->startSlice( *m_pcCurrSliceHeader ) );
    
    //===== SIGNIFICANCE PATH =====
    {
      UInt iStartCycle = 0, iCycle = 0;
      UInt iLumaScanIdx     = 0;
      UInt iChromaDCScanIdx = 0;
      UInt iChromaACScanIdx = 1;

      UInt uiFirstMbY = (UInt) ( uiFirstMbInSlice / m_uiWidthInMB );
      UInt uiFirstMbX = uiFirstMbInSlice % m_uiWidthInMB;
      UInt uiLastMbY  = (UInt) ( ( uiFirstMbInSlice + uiNumMbsInSlice ) / m_uiWidthInMB );
      UInt uiLastMbX  = ( uiFirstMbInSlice + uiNumMbsInSlice ) % m_uiWidthInMB;

      RNOK( m_pcSymbolReader->RQdecodeEobOffsets_Luma  () );
      RNOK( m_pcSymbolReader->RQdecodeEobOffsets_Chroma() );
      RNOK( m_pcSymbolReader->RQdecodeBestCodeTableMap  ( 16 ) );

      m_uiLumaCbpRun          = 0;
      m_uiChromaCbpRun        = 0;
      Bool bChromaCbpFlag;

      if( ! m_pcCurrSliceHeader->getPPS().getEntropyCodingModeFlag() )
      {
        m_pcUvlcReader->getFlag(m_bLastLumaCbpFlag, "Luma_CBP_first_flag");
        m_pcUvlcReader->getFlag(bChromaCbpFlag, "Chroma_CBP_first");
        m_uiLastChromaCbp = bChromaCbpFlag ? 1 : 0;
      }

      while (iLumaScanIdx < 16 || iChromaDCScanIdx < 4 || iChromaACScanIdx < 16) {
        UInt bAllowChromaDC = (iCycle == 0) || ((iCycle >= iStartCycle) && ((iCycle-iStartCycle) % 2 == 0));
        UInt bAllowChromaAC = (iCycle > 0) && ((iCycle == iStartCycle) || ((iCycle >= iStartCycle) && ((iCycle-iStartCycle) % 3 == 1)));
        if( iLumaScanIdx >= 16 && !bAllowChromaDC && !bAllowChromaAC )
        {
          iCycle++;
          continue;
        }

        UInt uiMaxPosLuma;
        UInt uiMaxPosChromaAC;
        UInt uiMaxPosChromaDC;

        if( iLumaScanIdx == 16 )
          uiMaxPosLuma = 16;
        else {
          for( ui=0; m_auiScanPosVectLuma[ui]<iLumaScanIdx; ui++ ) ;
          uiMaxPosLuma = m_auiScanPosVectLuma[ui];
        }
        if( iChromaACScanIdx == 16 )
          uiMaxPosChromaAC = 16;
        else {
          for( ui=0; 1+m_auiScanPosVectLuma[ui]<iChromaACScanIdx; ui++ ) ;
          uiMaxPosChromaAC = 1+m_auiScanPosVectLuma[ui];
        }
        if( iChromaDCScanIdx == 16 )
          uiMaxPosChromaDC = 16;
        else {
          for( ui=0; m_auiScanPosVectChromaDC[ui]<iChromaDCScanIdx; ui++ ) ;
          uiMaxPosChromaDC = m_auiScanPosVectChromaDC[ui];
        }

          for( UInt uiMbYIdx = uiFirstMbY; uiMbYIdx < uiLastMbY; uiMbYIdx++ )
          {
          for( UInt uiMbXIdx = ( uiMbYIdx == uiFirstMbY ? uiFirstMbX : 0 ); uiMbXIdx < ( uiMbYIdx == uiLastMbY ? uiLastMbX : m_uiWidthInMB );  uiMbXIdx++ )
          {
            if( m_pcCurrSliceHeader->getAdaptivePredictionFlag() &&
                ! m_pcCurrMbDataCtrl->getMbData( uiMbXIdx, uiMbYIdx ).isIntra() &&
                ( m_pauiMacroblockMap[uiMbYIdx * m_uiWidthInMB + uiMbXIdx] >> NUM_COEFF_SHIFT ) == 0 )
            {
              //----- Read motion parameters the first time we visit each inter-coded macroblock -----				
              RNOK( xDecodeMotionData( uiMbYIdx, uiMbXIdx ) );
            }
            //===== Luma =====
              if( ! m_pcCurrSliceHeader->getPPS().getEntropyCodingModeFlag() )
              {
                if( iLumaScanIdx == 0 )
                {
                  xDecodeLumaCbpVlc(uiMbXIdx, uiMbYIdx);
                  xDecodeChromaCbpVlc(uiMbXIdx, uiMbYIdx);
                }
              }
           RNOK( xDecodeNewCoefficientLumaMb( uiMbYIdx, uiMbXIdx, iLastQP, iLumaScanIdx, uiMaxPosLuma ) );

            //===== CHROMA DC =====
            if( bAllowChromaDC && ( m_bFgsComponentSep == 0 || iLumaScanIdx == 16 ) ) {
              for( UInt uiPlane = 0; uiPlane < 2; uiPlane ++ ) {
              for( ui=iChromaDCScanIdx; ui<=uiMaxPosChromaDC && ui<4; ui++ )
              {
                if( ui == 0 || ui == m_apaucScanPosMap[uiPlane+1][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] )
                  RNOK( xDecodeNewCoefficientChromaDC( uiPlane, uiMbYIdx, uiMbXIdx, iLastQP, ui ) );
                if( (m_aapaucChromaDCCoefMap[uiPlane][ui][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] & SIGNIFICANT) &&
                  !(m_aapaucChromaDCCoefMap[uiPlane][ui][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] & CODED) )
                RNOK( xDecodeCoefficientChromaDCRef( uiPlane, uiMbYIdx, uiMbXIdx, ui ) );
              }
              } // for
            } // if

            //===== CHROMA AC =====
            if( bAllowChromaAC && ( m_bFgsComponentSep == 0 || iLumaScanIdx == 16 ) ) {
              for( UInt uiPlane = 0; uiPlane < 2; uiPlane ++ )
              for( UInt uiB8YIdx = 2 * uiMbYIdx; uiB8YIdx < 2 * uiMbYIdx + 2; uiB8YIdx++ )
              for( UInt uiB8XIdx = 2 * uiMbXIdx; uiB8XIdx < 2 * uiMbXIdx + 2; uiB8XIdx++ ) {
              for( ui=iChromaACScanIdx; ui<=uiMaxPosChromaAC && ui<16; ui++ )
              {
                if( ui == 1 || ui == m_apaucScanPosMap[uiPlane+3][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] )
                  RNOK( xDecodeNewCoefficientChromaAC( uiPlane, uiB8YIdx, uiB8XIdx, iLastQP, ui ) );
                if((m_aapaucChromaACCoefMap[uiPlane][ui][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] & SIGNIFICANT) &&
                  !(m_aapaucChromaACCoefMap[uiPlane][ui][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] & CODED) )
                  RNOK( xDecodeCoefficientChromaACRef( uiPlane, uiB8YIdx, uiB8XIdx, ui ) );
              }
              } // for
            } // if
            RNOK( m_pcSymbolReader->RQupdateVlcTable() );
          } // macroblock iteration
          }
          RNOK( m_pcSymbolReader->RQvlcFlush() );

        iLumaScanIdx = min(uiMaxPosLuma+1, 16);
        if (bAllowChromaDC)
          iChromaDCScanIdx = min(uiMaxPosChromaDC+1, 4);
        if (bAllowChromaAC)
          iChromaACScanIdx = min(uiMaxPosChromaAC+1, 16);

        if ( iCycle == 0 && m_bFgsComponentSep == 0 )
        {
          m_pcSymbolReader->RQdecodeCycleSymbol(iStartCycle);
        }

        iCycle++;

      } // while
    }
    // ==
    
    UInt  uiTermBit = 0;
    RNOK( m_pcSymbolReader->RQdecodeTermBit( uiTermBit ) );
    // heiko.schwarz@hhi.fhg.de: decoder could assert when nearly complete FGS slices are decoded
    //ROF ( uiTermBit );
    if( !uiTermBit )
    {
      throw BitReadBuffer::ReadStop();
    }
  }
  catch( BitReadBuffer::ReadStop )
  {
    m_bPicFinished = true;
  }

  if(m_pcSymbolReader == m_pcUvlcReader)
  {
    m_pcUvlcReader->m_bTruncated = m_bPicFinished;
  }

  RNOK( m_pcSymbolReader->finishSlice( ) );

  if( ! m_bPicFinished )
  {
    m_pcCurrSliceHeader->setQualityLevel( m_pcCurrSliceHeader->getQualityLevel() + 1 );
  }


  RNOK( xUpdateCodingPath() );
  RNOK( xClearCodingPath() );
  
  return Err::m_nOK;
}


ErrVal
RQFGSDecoder::xDecodingFGS( SliceHeader*                pcSliceHeader 	)
{
	RNOK( m_cMbDataCtrlEL    .reset     () );
  RNOK( m_cMbDataCtrlEL    .clear     () );
  RNOK( m_cMbDataCtrlEL    .initSlice ( *m_pcCurrSliceHeader, PARSE_PROCESS, true, NULL ) );
  RNOK( m_pcCurrMbDataCtrl->initSlice ( *m_pcCurrSliceHeader, PRE_PROCESS, true, NULL ) );
  
  RNOK( xInitializeMacroblockQPs() );

  RNOK( m_cMbDataCtrlEL    .initSlice ( *m_pcCurrSliceHeader, PRE_PROCESS, true, NULL ) );

  Int iLastQP = m_pcCurrSliceHeader->getPicQp();

  UInt uiFirstMbInSlice = m_pcCurrSliceHeader->getFirstMbInSlice ();
  // JVT-S054 (2) (ADD)
  UInt uiLastMbInSlice  = m_pcCurrSliceHeader->getLastMbInSlice();
  m_bFgsComponentSep    = m_pcCurrSliceHeader->getFgsComponentSep();

  Bool isTruncated =false;

  //positions vector for luma (and chromaAC) and chroma DC
  UInt ui;
  for(ui = 0; ui < 4; ui++)
  {
    m_auiScanPosVectChromaDC[ui] = ui;
  }
  if(m_pcCurrSliceHeader->getFGSCodingMode() == false)
  {
    //grouping size mode
    UInt uiGroupingSize = m_pcCurrSliceHeader->getGroupingSize();
    ui = 0;
    m_auiScanPosVectLuma[ui] = uiGroupingSize-1;
    while( m_auiScanPosVectLuma[ui] < 15)
    {
      ui++;
      m_auiScanPosVectLuma[ui] = m_auiScanPosVectLuma[ui-1]+uiGroupingSize;
    }
  }
  else
  {
    //vector specified
    ui = 0;
    m_auiScanPosVectLuma[ui] = m_pcCurrSliceHeader->getPosVect(ui);
    while( m_auiScanPosVectLuma[ui] != 15)
    {
      ui++;
      m_auiScanPosVectLuma[ui] = m_auiScanPosVectLuma[ui-1] + m_pcCurrSliceHeader->getPosVect(ui);
    }
  }
  try
  {
    AOT( m_pcSymbolReader == 0 );
    RNOK( m_pcSymbolReader  ->startSlice( *m_pcCurrSliceHeader ) );
    
    //===== SIGNIFICANCE PATH =====
    {
      UInt iStartCycle = 0, iCycle = 0;
      UInt iLumaScanIdx     = 0;
      UInt iChromaDCScanIdx = 0;
      UInt iChromaACScanIdx = 1;

      RNOK( m_pcSymbolReader->RQdecodeEobOffsets_Luma  () );
      RNOK( m_pcSymbolReader->RQdecodeEobOffsets_Chroma() );
      RNOK( m_pcSymbolReader->RQdecodeBestCodeTableMap  ( 16 ) );

      m_uiLumaCbpRun          = 0;
      m_uiChromaCbpRun        = 0;
      Bool bChromaCbpFlag;

      if( ! m_pcCurrSliceHeader->getPPS().getEntropyCodingModeFlag() )
      {
        m_pcUvlcReader->getFlag(m_bLastLumaCbpFlag, "Luma_CBP_first_flag");
        m_pcUvlcReader->getFlag(bChromaCbpFlag, "Chroma_CBP_first");
        m_uiLastChromaCbp = bChromaCbpFlag ? 1 : 0;
      }

      while (iLumaScanIdx < 16 || iChromaDCScanIdx < 4 || iChromaACScanIdx < 16) {
        UInt bAllowChromaDC = (iCycle == 0) || ((iCycle >= iStartCycle) && ((iCycle-iStartCycle) % 2 == 0));
        UInt bAllowChromaAC = (iCycle > 0) && ((iCycle == iStartCycle) || ((iCycle >= iStartCycle) && ((iCycle-iStartCycle) % 3 == 1)));
        if( iLumaScanIdx >= 16 && !bAllowChromaDC && !bAllowChromaAC )
        {
          iCycle++;
          continue;
        }

        UInt uiMaxPosLuma;
        UInt uiMaxPosChromaAC;
        UInt uiMaxPosChromaDC;

        if( iLumaScanIdx == 16 )
          uiMaxPosLuma = 16;
        else {
          for( ui=0; m_auiScanPosVectLuma[ui]<iLumaScanIdx; ui++ ) ;
          uiMaxPosLuma = m_auiScanPosVectLuma[ui];
        }
        if( iChromaACScanIdx == 16 )
          uiMaxPosChromaAC = 16;
        else {
          for( ui=0; 1+m_auiScanPosVectLuma[ui]<iChromaACScanIdx; ui++ ) ;
          uiMaxPosChromaAC = 1+m_auiScanPosVectLuma[ui];
        }
        if( iChromaDCScanIdx == 16 )
          uiMaxPosChromaDC = 16;
        else {
          for( ui=0; m_auiScanPosVectChromaDC[ui]<iChromaDCScanIdx; ui++ ) ;
          uiMaxPosChromaDC = m_auiScanPosVectChromaDC[ui];
        }

        UInt uiMbAddress = 0;
        for(uiMbAddress=uiFirstMbInSlice ;uiMbAddress<=uiLastMbInSlice ;)
        {
          UInt uiMbYIdx = uiMbAddress / m_uiWidthInMB;
          UInt uiMbXIdx = uiMbAddress % m_uiWidthInMB;

            if( m_pcCurrSliceHeader->getAdaptivePredictionFlag() &&
                ! m_pcCurrMbDataCtrl->getMbData( uiMbXIdx, uiMbYIdx ).isIntra() &&
                ( m_pauiMacroblockMap[uiMbYIdx * m_uiWidthInMB + uiMbXIdx] >> NUM_COEFF_SHIFT ) == 0 )
            {
              //----- Read motion parameters the first time we visit each inter-coded macroblock -----
              RNOK( xDecodeMotionData( uiMbYIdx, uiMbXIdx ) );
            }
            //===== Luma =====
              if( ! m_pcCurrSliceHeader->getPPS().getEntropyCodingModeFlag() )
              {
                if( iLumaScanIdx == 0 )
                {
                  xDecodeLumaCbpVlc(uiMbXIdx, uiMbYIdx);
                  xDecodeChromaCbpVlc(uiMbXIdx, uiMbYIdx);
                }
              }
           RNOK( xDecodeNewCoefficientLumaMb( uiMbYIdx, uiMbXIdx, iLastQP, iLumaScanIdx, uiMaxPosLuma ) );

            //===== CHROMA DC =====
            if( bAllowChromaDC && ( m_bFgsComponentSep == 0 || iLumaScanIdx == 16 ) ) {
              for( UInt uiPlane = 0; uiPlane < 2; uiPlane ++ ) {
              for( ui=iChromaDCScanIdx; ui<=uiMaxPosChromaDC && ui<4; ui++ )
              {
                if( ui == 0 || ui == m_apaucScanPosMap[uiPlane+1][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] )
                  RNOK( xDecodeNewCoefficientChromaDC( uiPlane, uiMbYIdx, uiMbXIdx, iLastQP, ui ) );
                if( (m_aapaucChromaDCCoefMap[uiPlane][ui][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] & SIGNIFICANT) &&
                  !(m_aapaucChromaDCCoefMap[uiPlane][ui][uiMbYIdx * m_uiWidthInMB + uiMbXIdx] & CODED) )
                RNOK( xDecodeCoefficientChromaDCRef( uiPlane, uiMbYIdx, uiMbXIdx, ui ) );
              }
              } // for
            } // if

            //===== CHROMA AC =====
            if( bAllowChromaAC && ( m_bFgsComponentSep == 0 || iLumaScanIdx == 16 ) ) {
              for( UInt uiPlane = 0; uiPlane < 2; uiPlane ++ )
              for( UInt uiB8YIdx = 2 * uiMbYIdx; uiB8YIdx < 2 * uiMbYIdx + 2; uiB8YIdx++ )
              for( UInt uiB8XIdx = 2 * uiMbXIdx; uiB8XIdx < 2 * uiMbXIdx + 2; uiB8XIdx++ ) {
              for( ui=iChromaACScanIdx; ui<=uiMaxPosChromaAC && ui<16; ui++ )
              {
                if( ui == 1 || ui == m_apaucScanPosMap[uiPlane+3][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] )
                  RNOK( xDecodeNewCoefficientChromaAC( uiPlane, uiB8YIdx, uiB8XIdx, iLastQP, ui ) );
                if((m_aapaucChromaACCoefMap[uiPlane][ui][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] & SIGNIFICANT) &&
                  !(m_aapaucChromaACCoefMap[uiPlane][ui][uiB8YIdx*2 * m_uiWidthInMB + uiB8XIdx] & CODED) )
                  RNOK( xDecodeCoefficientChromaACRef( uiPlane, uiB8YIdx, uiB8XIdx, ui ) );
              }
              } // for
            } // if
            RNOK( m_pcSymbolReader->RQupdateVlcTable() );

			//--ICU/ETRI FMO Implementation
			uiMbAddress = m_pcCurrSliceHeader->getFMO()->getNextMBNr(uiMbAddress );

          } // macroblock iteration
          RNOK( m_pcSymbolReader->RQvlcFlush() );

        iLumaScanIdx = min(uiMaxPosLuma+1, 16);
        if (bAllowChromaDC)
          iChromaDCScanIdx = min(uiMaxPosChromaDC+1, 4);
        if (bAllowChromaAC)
          iChromaACScanIdx = min(uiMaxPosChromaAC+1, 16);

        if ( iCycle == 0 && m_bFgsComponentSep == 0 )
        {
          m_pcSymbolReader->RQdecodeCycleSymbol(iStartCycle);
        }

        iCycle++;

      } // while
    }
    // ==
    
    UInt  uiTermBit = 0;
    RNOK( m_pcSymbolReader->RQdecodeTermBit( uiTermBit ) );
    // heiko.schwarz@hhi.fhg.de: decoder could assert when nearly complete FGS slices are decoded
    //ROF ( uiTermBit );
    if( !uiTermBit )
    {
      throw BitReadBuffer::ReadStop();
    }
  }
  catch( BitReadBuffer::ReadStop )
  {
	  // FGS ROI DECODE ICU/ETRI
	  isTruncated =true;	
  }

  if(m_pcSymbolReader == m_pcUvlcReader)
  {
	  // FGS ROI DECODE ICU/ETRI
	  m_pcUvlcReader->m_bTruncated = isTruncated ;
  }

  RNOK( m_pcSymbolReader->finishSlice( ) );

  if( ! m_bPicFinished )
  {	  
	  m_pcCurrSliceHeader->setQualityLevel( pcSliceHeader->getQualityLevel());
  }


  //--ICU/ETRI 1206  
  RNOK( xUpdateCodingPath(pcSliceHeader) );  
  RNOK( xClearCodingPath() );
  
  return Err::m_nOK;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡中文字幕| 欧美精品一级二级| 91成人免费在线| 国产剧情一区二区三区| 国产高清在线精品| 成人午夜激情视频| 国内精品国产三级国产a久久| 日本不卡一区二区| 久久精品国产77777蜜臀| 国产精品影视网| 99热这里都是精品| 在线看日本不卡| 欧美丰满嫩嫩电影| 91精品国产丝袜白色高跟鞋| 欧美不卡激情三级在线观看| 久久九九全国免费| 亚洲激情综合网| 日韩av在线发布| 国产精品一区二区在线观看不卡 | 欧美伊人久久大香线蕉综合69 | 欧美日韩成人高清| 精品国产精品一区二区夜夜嗨| 国产亚洲人成网站| 亚洲免费观看高清在线观看| 亚洲va天堂va国产va久| 国产一区二区在线影院| 99国产精品国产精品久久| 精品视频一区二区不卡| 欧美精品99久久久**| 久久青草国产手机看片福利盒子 | 精品亚洲成a人| 成人午夜精品在线| 色欧美日韩亚洲| 日韩欧美国产不卡| 中文字幕在线不卡| 亚洲激情图片一区| 久久www免费人成看片高清| 成人午夜伦理影院| 欧美一区二区三区免费大片 | 国产成a人亚洲| 欧美日韩日本视频| 久久青草国产手机看片福利盒子 | 人人狠狠综合久久亚洲| 国产福利精品一区二区| 欧美视频一区在线| 久久久久99精品国产片| 亚洲成av人综合在线观看| 日本不卡一二三区黄网| 99视频精品在线| 欧美一级午夜免费电影| 久久久91精品国产一区二区精品| 国产高清一区日本| 欧美久久久久久久久| 成人欧美一区二区三区小说| 麻豆国产精品官网| 在线观看欧美黄色| 国产亚洲成aⅴ人片在线观看| 亚洲高清在线精品| 91视频观看视频| 中文字幕av一区二区三区高| 国产在线精品一区在线观看麻豆| 欧美高清视频一二三区| 亚洲地区一二三色| 欧美吞精做爰啪啪高潮| 亚洲一卡二卡三卡四卡五卡| 91在线免费视频观看| 国产精品美女视频| 成人免费视频caoporn| 国产欧美一区二区精品仙草咪| 国产一区三区三区| 久久精品水蜜桃av综合天堂| 国产乱色国产精品免费视频| 久久久久久黄色| 国产高清精品在线| 国产欧美日韩另类一区| 国产精品夜夜爽| 久久久久久久久一| 国产sm精品调教视频网站| 欧美经典一区二区| eeuss鲁片一区二区三区在线看| 国产精品免费免费| www.色精品| 一区二区三区在线视频免费| 在线免费精品视频| 亚洲午夜私人影院| 欧美精品v日韩精品v韩国精品v| 奇米亚洲午夜久久精品| 欧美精品一区二区在线播放| 国产精品一区免费视频| 国产精品久久久99| 91看片淫黄大片一级在线观看| 亚洲视频在线一区| 欧美日韩国产中文| 人人精品人人爱| 久久精品夜色噜噜亚洲aⅴ| 成人av第一页| 亚洲激情在线播放| 欧美一区二区视频免费观看| 麻豆精品在线观看| 国产日韩欧美高清| 色8久久精品久久久久久蜜| 五月婷婷综合激情| 久久香蕉国产线看观看99| 成人免费三级在线| 亚洲综合色区另类av| 欧美一区二区三区免费大片 | 欧美电影在线免费观看| 精品在线观看免费| 国产精品国产a| 欧美视频在线一区二区三区 | 久久精品人人做人人爽人人| 91免费版pro下载短视频| 亚洲成在线观看| 久久久久国色av免费看影院| 91免费观看在线| 免费欧美日韩国产三级电影| 中文字幕欧美国产| 欧美精品丝袜久久久中文字幕| 久久 天天综合| 亚洲理论在线观看| 日韩精品专区在线| 97久久久精品综合88久久| 日韩成人免费电影| 亚洲欧美在线视频观看| 日韩午夜激情av| 91碰在线视频| 久久精品噜噜噜成人88aⅴ| 亚洲视频一区二区免费在线观看| 日韩一区二区免费电影| 99re热视频精品| 国产在线看一区| 亚洲成在线观看| 国产精品黄色在线观看| 欧美一级午夜免费电影| 97久久超碰精品国产| 老色鬼精品视频在线观看播放| 国产精品成人免费在线| 欧美va在线播放| 色噜噜狠狠色综合欧洲selulu| 国产一区二区三区黄视频| 亚洲二区在线观看| 中文一区一区三区高中清不卡| 欧美一区二区精品久久911| 99久久久无码国产精品| 免费成人性网站| 亚洲美女视频在线| 欧美国产激情二区三区| 日韩精品最新网址| 欧美视频日韩视频| www.激情成人| 国产麻豆视频一区二区| 奇米四色…亚洲| 亚洲高清视频中文字幕| 亚洲少妇30p| 国产精品丝袜久久久久久app| 日韩精品在线看片z| 欧美日韩一区二区在线视频| 91美女在线观看| 东方aⅴ免费观看久久av| 久久精品国产久精国产爱| 亚洲自拍偷拍网站| 中文字幕一区二区5566日韩| 久久久久久久综合色一本| 欧美不卡视频一区| 欧美一级视频精品观看| 欧美日韩激情一区二区三区| 94-欧美-setu| k8久久久一区二区三区| 国产aⅴ综合色| 国产精品自在在线| 麻豆国产精品一区二区三区| 日韩高清中文字幕一区| 亚洲一级不卡视频| 一个色在线综合| 亚洲视频一二区| 亚洲视频免费观看| 国产精品美女久久久久久久| 欧美激情综合五月色丁香| 国产欧美久久久精品影院| 国产亚洲精品中文字幕| 国产亚洲一区二区三区| 久久久久久久久久久久电影| 26uuu久久天堂性欧美| 精品电影一区二区| 久久新电视剧免费观看| 久久久久国产精品麻豆| 国产欧美一区二区在线观看| 欧美激情中文字幕一区二区| 国产精品理伦片| 亚洲欧美中日韩| 亚洲激情图片一区| 亚洲国产精品天堂| 亚洲国产cao| 欧美aaa在线| 看片的网站亚洲| 国产在线精品一区在线观看麻豆| 国产精品影视在线观看| 成人福利在线看| 99re6这里只有精品视频在线观看| 91网站在线播放|