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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? player.c

?? mtk1389L latest sourcecode enjoy
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/05/18 1:56p    $       ****************/
/***************  $Revision:: 6                $       ****************/
/***************                                       ****************/
/***************   Description :                       ****************/
/***************                                       ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#define _PLAYER_C_

#pragma NOAREGS
#include "general.h"

/*  for module Tester */
#include "./tst/tst.h"

extern BYTE xdata _bVfdKeyScan;
  #ifdef SUPPORT_SACD
/* For SACD to send Psedo tray in */
extern BYTE xdata _fgPsedoTrayIn;
  #endif

// *********************************************************************
// Local Define
// *********************************************************************
#ifdef JPEG_DECODING_UPDATE_VFD_CIRCLE
extern xdata BYTE _bWorkingStt;
#endif

#ifdef SRV_SHOW_ERROR_COUNTER
static xdata BYTE _pbSrvErrTrace[5];
#endif /* SRV_SHOW_ERROR_COUNTER */

static xdata BYTE _fgOldTvSystem; //[add by SY]
// *********************************************************************
// Function : void vSendUopCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2, BYTE bParm3)
// Description : Send UOP to RISC
// Parameter : None
// Return    : None
// *********************************************************************
#if !defined(PC_EMULATION)
void vSendUopCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2, BYTE bParm3) large
{
#ifdef PLAYER_STOP_SRV_STOP
  if (bCmd == UOP_STOP)
  {
    _bLastSyncUop = UOP_STOP;
  }
  else if (bCmd <= UOP_PLAYBACK_MAX) /* note not for UOP_STOP */
  {
    _bUISrvStatus = PLAYER_SRV_NORMAL;
  }
  else if ((bCmd == UOP_POWER) || (bCmd == UOP_OPEN_CLOSE))
  {
    _bLastSyncUop = bCmd;
  }
#endif

  SendIRCmd(bCmd, bParm1, bParm2, bParm3);
}
#endif

// *********************************************************************
// Function : void vSendPeriCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2)
// Description : Send peripheral command to main loop
// Parameter : None
// Return    : None
// *********************************************************************
void vSendPeriCmd(BYTE bCmd, BYTE bParm1, BYTE bParm2) large
{
  if (fgIsPeriCmdBusy())
  {
    // Command Busy, if this does happen, we need to add command queue
#ifdef RS232_LOG_UI
    DBGLogS("UIPeriCmd fail!");
    DBGLogB(_pbUIPeriCmd[0], bCmd, bParm1, bParm2);
#endif
    return;
  }
  else
  {
    _pbUIPeriCmd[1] = bParm1;
    _pbUIPeriCmd[2] = bParm2;
    _pbUIPeriCmd[0] = bCmd;
  }
}

/***************************************************************************
     Function : void vSendPlayerIdle(void)
  Dsecription :
    Parameter : None
       Return : None
***************************************************************************/
void vSendPlayerIdle(void) large
{
#ifdef PLAYER_IDLE
  BYTE bInitState = bSharedInfo(SI_INIT_STATE);
  BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
  BYTE bMode = 0xff;

  switch (bInitState)
  {
    case SV_TRAY_OPENING:
    case SV_TRAY_ERROR:
    case SV_NO_DISC:
    case SV_UNKNOWN_DISC:
      bMode = SV_PWR_IDLE_STOP;
      break;

    case SV_DISC_IDENTIFIED:
      /* need more check */
      break;

    default:
      return; /* error! */
  }

  if (bMode == 0xff)
  {
    switch (bPbcState)
    {
      case SV_STOP:
      case SV_STOP_RESUME:
      case SV_PTL_ERR:
      case SV_REGION_ERR:
      case SV_DISC_ERR:
      case SV_SET_TMP_PTL:
        bMode = SV_PWR_IDLE_STOP;
        break;

      case SV_STILL:
      case SV_DIGEST:
        // for PCD/JPG in still/digest mode can enter screen saver
        if (fgIsIsoPlay() || fgIsPcdPlay())
        {
          bMode = SV_PWR_IDLE_PAUSE;
        }
        else
        {
          /* DVD/VCD is not allowed in still mode */
          return;
        }
        break;

      case SV_PAUSE:
      case SV_STEP:
      case SV_STEP_BACK:
      case SV_SETUP_PAUSE:
        bMode = SV_PWR_IDLE_PAUSE;
        break;

      default:
        return; /* error! */
    }
  }

  if (bMode != 0xff)
  {
    vSendUopCmd(UOP_POWER, bMode, 0, 0);
  }
#endif
}

/***************************************************************************
     Function : void vSendPlayerActive(void)
  Dsecription :
    Parameter : None
       Return : None
***************************************************************************/
void vSendPlayerActive(void) large
{
#ifdef PLAYER_IDLE
  vSendUopCmd(UOP_POWER, SV_PWR_ACTIVE, 0, 0);
#endif
}

#ifdef SRV_SHOW_ERROR_COUNTER
/************************************************************************
     Function : void vPlayerShowSrvErr(void)
  Description :
    Parameter : None
    Return    : None
************************************************************************/
void vPlayerShowSrvErr(void) large
{
  _bSrvErrorTimer++;
  if (_bSrvErrorTimer >= 100)  // 2 Seconds
  {
    // show Err count on OSD
    if (_bSrvShowErrIdx == 0xFF)
    {
      if (fgIsNonPlay() == FALSE)
      {
        _pbSrvErrTrace[4] = _pbSrvErrTrace[3];
        _pbSrvErrTrace[3] = _pbSrvErrTrace[2];
        _pbSrvErrTrace[2] = _pbSrvErrTrace[1];
        _pbSrvErrTrace[1] = _pbSrvErrTrace[0];
        _pbSrvErrTrace[0] = bHEXToBCD(_bSrvErrShowCnt);

        vOsdShowServoError(_pbSrvErrTrace);
      }
    }

    _bSrvErrorTimer = 0;
    _bSrvErrShowCnt = 0;
  }
}
#endif /* SRV_SHOW_ERROR_COUNTER */

#ifdef PLAYER_KARAOKE
/************************************************************************
     Function : void vPlayerMicLevelDetect(void)
  Description :
    Parameter : None
    Return    : None
************************************************************************/
static void vPlayerMicLevelDetect(void) large
{
  BYTE bVocalMode = bAdspCurrVocal();

  if ((bVocalMode == VOCAL_AUDIO1) || (bVocalMode == VOCAL_AUDIO2))
  {
    if (fgAdspIsMicOn() && (_fgVocalOn == TRUE))
    {
      /* switch vocal off */
      if (bVocalMode == VOCAL_AUDIO1)
      {
        vSendUopCmd(UOP_VOCAL_ASSIST, 1, 0, 0);
      }
      else /* if (bVocalMode == VOCAL_AUDIO2) */
      {
        vSendUopCmd(UOP_VOCAL_ASSIST, 0, 0, 0);
      }

#ifdef RS232_LOG_UI
      DBGLogS("Vocal off");
#endif

      _fgVocalOn = FALSE;
    }
    else if (!fgAdspIsMicOn() && (_fgVocalOn == FALSE))
    {
      if (bVocalMode == VOCAL_AUDIO1)
      {
        vSendUopCmd(UOP_VOCAL_ASSIST, 0, 0, 0);
      }
      else /* if (bVocalMode == VOCAL_AUDIO2) */
      {
        vSendUopCmd(UOP_VOCAL_ASSIST, 1, 0, 0);
      }

#ifdef RS232_LOG_UI
      DBGLogS("Vocal on");
#endif

      _fgVocalOn = TRUE;
    }
  } /* VOCAL_AUDIO1 || VOCAL_AUDIO2 */
  #ifdef AC3_KARA_MODE
  else if ((bVocalMode == VOCAL_V1) || (bVocalMode == VOCAL_V2) || (bVocalMode == VOCAL_BOTH))
  {
    // note VOCAL_NONE does not vocal assist
    if (fgAdspIsMicOn() && (_fgVocalOn == TRUE))
    {
      /* switch vocal off */
      #ifdef AC3_KARA_MIC_ON_VOCAL // use another vocal for mic on
      if (bVocalMode == VOCAL_V1)
      {
        vAdspKaraAC3(KARA_V2);
      }
      else if (bVocalMode == VOCAL_V2)
      {
        vAdspKaraAC3(KARA_V1);
      }
      else if (bVocalMode == VOCAL_BOTH)
      {
        vAdspKaraAC3(KARA_NONE);
      }
      #else // use no vocal for mic on
      vAdspKaraAC3(KARA_NONE);
      #endif

      _fgVocalOn = FALSE;
    }
    else if (!fgAdspIsMicOn() && (_fgVocalOn == FALSE))
    {
      #ifdef AC3_KARA_MIC_OFF_BOTH
      vAdspKaraAC3(KARA_BOTH);
      #else // turn on the selected vocal only
      if (bVocalMode == VOCAL_V1)
      {
        vAdspKaraAC3(KARA_V1);
      }
      else if (bVocalMode == VOCAL_V2)
      {
        vAdspKaraAC3(KARA_V2);
      }
      else if (bVocalMode == VOCAL_BOTH)
      {
        vAdspKaraAC3(KARA_BOTH);
      }
      #endif // turn on the selected vocal only

      _fgVocalOn = TRUE;
    }
  } /* VOCAL_V1 || VOCAL_V2 || VOCAL_BOTH */
  #endif /* AC3_KARA_MODE */
  #ifdef VOCAL_ASSIST_MIC_CNT  // if vocal assist is done by 8032
  else if ((bVocalMode == VOCAL_LEFT) || (bVocalMode == VOCAL_RIGHT))
  {
    if (fgAdspIsMicOn() && (_fgVocalOn == TRUE))
    {
      /* switch vocal off */
      if (bVocalMode == VOCAL_LEFT)
      {
        vAdspKaraLR(KARA_RIGHT); /* switch to R channel */
      }
      else /* if (bVocalMode == VOCAL_RIGHT) */
      {
        vAdspKaraLR(KARA_LEFT); /* switch to L channel */
      }

      _fgVocalOn = FALSE;
    }
    else if (!fgAdspIsMicOn() && (_fgVocalOn == FALSE))
    {
      /* switch vocal on */
      #ifdef VCD_VA_MIC_OFF_STEREO // use stereo as default
      vAdspKaraLR(KARA_STEREO);
      #else // use another channel
      if (bVocalMode == VOCAL_LEFT)
      {
        vAdspKaraLR(KARA_LEFT); /* switch to L channel */
      }
      else /* if (bVocalMode == VOCAL_RIGHT) */
      {
        vAdspKaraLR(KARA_RIGHT); /* switch to R channel */
      }
      #endif

      _fgVocalOn = TRUE;
    }
  }
  else if (bVocalMode == VOCAL_VOICE_CANCEL)
  {
    if (fgAdspIsMicOn() && (_fgVocalOn == TRUE))
    {
      /* switch vocal off */
      vAdspKaraVC(TRUE);

      _fgVocalOn = FALSE;
    }
    else if (!fgAdspIsMicOn() && (_fgVocalOn == FALSE))
    {
      /* switch vocal off */
      vAdspKaraVC(FALSE);

      _fgVocalOn = TRUE;
    }
  }
  #endif /* VOCAL_ASSIST_MIC_CNT */
}
#endif /* PLAYER_KARAOKE */

/************************************************************************
     Function : void RISCIsrSM(void)
  Description : handle SMB interrupt
    Parameter : None
    Return    : None
************************************************************************/
void RISCIsrSM(void)
{
#if defined(NO_SM_NOTIFY)
  ClrSmBusy();
#else
  _bSMUpdate = TRUE;
  //vSetSharedInfo(SI_RISC_SM_INT_LOCK, 1);
#endif
}

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    :
************************************************************************/
void SmInit(void) large
{
#if defined(NO_SM_NOTIFY)
  vSetSharedInfo(SI_RISC_SHM_RP, 0);
  vSetSharedInfo(SI_RISC_SHM_WP, 0);
#else
  ClrSmBusy();
#endif

  _bSMUpdate = FALSE;
}

/************************************************************************
     Function : void vHandleSM(void)
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vHandleSM(void) large
{
  BYTE pbInfo[4];

#if defined(NO_SM_NOTIFY)
  BYTE bTmp;
  BYTE i;

  //bTmp = bSharedInfo(SI_RISC_SHM_RP);
  bTmp = _bShmRp;

  bTmp = bTmp * SV_SI_ENTRY_SZ;
  for(i = 0; i < 4; i++)
  {
    // TODO: use item
    pbInfo[3-i] = bSharedInfo(SI_SHM_FIFO_START + bTmp);
    bTmp++;
  }
#else
  pbInfo[0] = bReadBIM(BIM_TRB15);
  pbInfo[1] = bReadBIM(BIM_TRB14);
  pbInfo[2] = bReadBIM(BIM_TRB13);
  pbInfo[3] = bReadBIM(BIM_TRB12);
#endif

  vSmUpdate(pbInfo);
}

/************************************************************************
     Function : void SmTimer(void)
  Description :
    Parameter :
    Return    :
************************************************************************/
static void SmTimer(void) large
{
#if defined(NO_SM_NOTIFY)
  BYTE bWp;

  _bShmRp = bSharedInfo(SI_RISC_SHM_RP);
  bWp = bSharedInfo(SI_RISC_SHM_WP);

  if(_bShmRp != bWp)
  {
    vHandleSM();
    _bShmRp++;
    if (_bShmRp >= SV_SI_QUEUE_SZ)
    {
      _bShmRp = 0;
    }
    vSetSharedInfo(SI_RISC_SHM_RP, _bShmRp);
  }
  else
  {
    /* no more info to update */
    vClearShmUpdCnt();
  }
#else
  if (_bSMUpdate)
  {
    vHandleSM();
    _bSMUpdate = FALSE;
    ClrSmBusy();
  }
#endif
}
extern xdata BYTE _bIsSetupMenuShow;
// *********************************************************************
// Function : void vPlayerInit(void) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
static void vPlayerInit(void) large
{
  /* note: player function is loaded in vUserInit() */

  #ifdef SUPPORT_DRM
  _bDRMState=DRM_MAX_ST;
  _rOsdStateCtx.fgDRMShow=FALSE;
  #endif
#ifdef SUPPORT_USB_COPY //yan 070409
_bUSBUIState=USBUI_MAX_ST;
_bSourceDev = SV_DEVID_CDVDROM;
_bSaveToDev = SV_DEVID_CDVDROM;
_bUSBChange = FALSE;
_bUSBSavToEnter=FALSE;
_bUSBSwitchSuccess=FALSE;
_bUSBCounter = 0;
_bUSBPercent = 0;
_bUSBPercentCnt = FALSE;
_bUSBInterput = FALSE;
#endif
  _rOsdStateCtx.fgUopUpdate = FALSE;
  _rOsdStateCtx.bUopRetId = UOP_NONE;
  _rOsdStateCtx.bUopRetVal = SV_NO_ERROR;
  _rOsdStateCtx.fgSetupShow = FALSE;
  _bIsSetupMenuShow = FALSE;     
#ifdef PLAYER_GOTO
  _rOsdStateCtx.fgGotoShow = FALSE;  //megaa Goto
  _rOsdStateCtx.fgVRemoteShow = FALSE;  //megaa Goto
#endif
  _rOsdStateCtx.fgZoomBrShow = FALSE;
  _rEqState.bDispType = OSD_EQ_TYPE_DISABLE;

  // for player timer
  _bPlayerTimerBeepCnt = 0;

  // reset input state
  /* vResetInputState(); */
  _bInputState = INPUT_STATE_NONE;
  _fgInputResend = FALSE;
  _fgInputEscape = FALSE;
  _bIrTimer = IR_TIMER_VOID;
  _bIrTimerBeepCnt = 0;

  // for RISC communication states
  _bLastSyncUop = UOP_NONE;
  _bLastPbcState = SV_PBC_INIT;

  // reset osd state
  /* vResetOsdState(); */
  _rOsdStateCtx.fgTimeShow = FALSE;
  _rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
  _rOsdStateCtx.fgRemainMsgShow = FALSE;
  _rOsdStateCtx.fgPlayInfoShow = FALSE;
  _rOsdStateCtx.bPlayInfoType = OSD_INFO_DISABLE;
  _rOsdStateCtx.fgPlayShow = FALSE;
  _rOsdStateCtx.bPlayType = OSD_SHOW_PLAY;
  _rOsdStateCtx.fgRepeatShow = FALSE;
  _rOsdStateCtx.fgABShow = FALSE;
  _rOsdStateCtx.fgUsrCtrlShow = FALSE;
  _rOsdStateCtx.fgZoomShow = FALSE;
  _rOsdStateCtx.fgTimePos = OSD_SHOW_TIME_LEFT;
  _rOsdStateCtx.bDynamicWB = WB_INDEX_MAX;

#ifdef EN_DISC_ID_CHK
   //vResetDiscInitFlag()
  _rOsdStateCtx.bDiscIDFound = 0;
  _rOsdStateCtx.bDiscInitFlag = 0;
#endif

  // this state is not affected by tray-in/out
  _rOsdStateCtx.bAudioStatus = OSD_AUDIO_SHOW_NORMAL;
  _rOsdStateCtx.fgAudioStatusRecall = FALSE;

  // reset search state
  _rSearchStateCtx.bType = SEARCH_NONE;

#ifdef SETUP_NO_AGL_MARK
  _rOsdStateCtx.fgAngleShow = TRUE;
#endif

// Seiya: Added on 2004/07/27 for dual mono switch.
#ifdef DVD_VR_SUPPORT
  // LLY.1008, reset DVD-VR dual mono type as L channel while power-on
  // and this procedure wiil be done for open/close action: vPlayerReset()
  vSetSharedInfo(SH_VR_DUAL_MONO_MODE, AUDIO_MONO_LEFT);
#endif

  // reset program state

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品色哟哟| 亚洲欧美另类久久久精品| 99久久精品费精品国产一区二区| 亚洲va在线va天堂| 国产精品国产三级国产普通话蜜臀| 91精品国产综合久久小美女| 国产精品99久久久久久久女警| 午夜视频一区二区三区| 国产精品久久久久影视| 精品国产乱码久久久久久图片| 在线观看视频一区二区| 春色校园综合激情亚洲| 久久aⅴ国产欧美74aaa| 午夜伦欧美伦电影理论片| 亚洲另类中文字| 欧美激情中文字幕| 久久久国产一区二区三区四区小说| 欧美理论片在线| 欧美天堂一区二区三区| 色综合婷婷久久| 成人精品视频网站| 国产麻豆91精品| 久久国产精品99久久久久久老狼| 亚洲国产成人av网| 综合欧美亚洲日本| 国产精品久久久久一区| 国产亚洲一二三区| 久久久久久**毛片大全| 精品日韩一区二区| 欧美大度的电影原声| 欧美日韩国产一二三| 欧美色图在线观看| 欧美日韩免费高清一区色橹橹| 91久久线看在观草草青青 | 麻豆成人综合网| 日本不卡免费在线视频| 亚洲成国产人片在线观看| 亚洲二区在线观看| 午夜亚洲国产au精品一区二区| 亚洲综合一区在线| 亚洲国产精品一区二区久久恐怖片 | 在线免费精品视频| 91国在线观看| 欧美色综合网站| 在线国产亚洲欧美| 欧美另类一区二区三区| 欧美一区日韩一区| 精品国产免费人成电影在线观看四季| 精品三级av在线| 国产婷婷一区二区| 18欧美乱大交hd1984| 亚洲男人天堂一区| 午夜日韩在线电影| 激情综合色综合久久| 国产一区二区在线观看视频| 国产精品一区一区| 91在线观看美女| 亚洲精品一区二区在线观看| www国产成人免费观看视频 深夜成人网| 亚洲精品一区二区三区蜜桃下载| 久久噜噜亚洲综合| 1000精品久久久久久久久| 亚洲精品视频在线观看免费| 亚欧色一区w666天堂| 蜜臀精品一区二区三区在线观看 | 亚洲视频资源在线| 亚洲自拍都市欧美小说| 美女在线视频一区| 成人午夜视频福利| 欧美在线一区二区三区| 日韩视频一区二区在线观看| 久久久久成人黄色影片| 亚洲男人的天堂一区二区 | 紧缚捆绑精品一区二区| 国产成人综合亚洲网站| 色婷婷激情久久| 日韩精品一区二区三区四区| 国产精品无遮挡| 婷婷综合五月天| 国产伦精品一区二区三区免费| 91啪亚洲精品| 欧美一区二区国产| 亚洲欧洲国产日韩| 麻豆精品久久精品色综合| 粗大黑人巨茎大战欧美成人| 欧美日韩成人综合| 国产精品无遮挡| 日韩成人免费看| 91一区一区三区| 精品国产第一区二区三区观看体验 | 日韩欧美电影一二三| 亚洲欧洲国产专区| 国产又黄又大久久| 欧美日韩国产综合一区二区三区| 久久九九久久九九| 日本不卡在线视频| 一本大道综合伊人精品热热 | 3d成人动漫网站| 国产精品久久福利| 激情五月激情综合网| 欧美中文字幕一区二区三区亚洲| 精品电影一区二区三区| 亚洲高清不卡在线观看| 成人白浆超碰人人人人| 精品播放一区二区| 蜜臀国产一区二区三区在线播放 | 色综合色综合色综合| 久久先锋影音av| 免费一区二区视频| 欧美情侣在线播放| 一级日本不卡的影视| 成人午夜又粗又硬又大| 久久天天做天天爱综合色| 日韩中文字幕不卡| 欧美少妇一区二区| 一区二区欧美在线观看| 91视频观看视频| 欧美高清在线一区二区| 国产精品自拍毛片| 26uuu国产一区二区三区| 日韩av高清在线观看| 欧美视频第二页| 亚洲在线中文字幕| 欧美在线一区二区三区| 樱花草国产18久久久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美精彩视频一区二区三区| 九一九一国产精品| 日韩欧美亚洲一区二区| 日韩av一级片| 日韩三级电影网址| 麻豆视频观看网址久久| 欧美一区二区三区在| 日本成人中文字幕在线视频| 欧美久久婷婷综合色| 午夜欧美一区二区三区在线播放| 欧美三级日韩三级国产三级| 亚洲午夜精品在线| 欧美视频自拍偷拍| 视频一区二区欧美| 中文幕一区二区三区久久蜜桃| 国产98色在线|日韩| 国产欧美一区二区三区在线老狼| 国产一区二区三区电影在线观看| 久久青草欧美一区二区三区| 国产乱对白刺激视频不卡| 欧美α欧美αv大片| 国产在线看一区| 国产欧美1区2区3区| 国产不卡在线视频| 亚洲码国产岛国毛片在线| 色94色欧美sute亚洲线路二| 亚洲一区二区不卡免费| 欧美人动与zoxxxx乱| 麻豆国产欧美日韩综合精品二区| 久久久亚洲精品一区二区三区 | 亚洲女同一区二区| 欧美日韩的一区二区| 久久精品国产精品亚洲精品| 久久蜜臀中文字幕| 99久精品国产| 丝袜美腿亚洲综合| 久久久久久久久久久久电影| 成人深夜在线观看| 亚洲国产另类av| 精品国产乱码久久久久久夜甘婷婷 | 亚洲猫色日本管| 91精品欧美福利在线观看| 狠狠色综合播放一区二区| 国产清纯白嫩初高生在线观看91| 97国产精品videossex| 日韩二区在线观看| 国产网站一区二区三区| 欧美视频中文字幕| 国产九九视频一区二区三区| 亚洲视频狠狠干| 日韩一级二级三级| www.综合网.com| 日本aⅴ精品一区二区三区| 国产三级精品三级| 欧美日韩国产色站一区二区三区| 国产久卡久卡久卡久卡视频精品| 亚洲综合在线五月| ww亚洲ww在线观看国产| 欧洲av在线精品| 高清久久久久久| 天堂在线亚洲视频| 国产精品国产三级国产a| 在线综合+亚洲+欧美中文字幕| 国产99久久久国产精品潘金| 午夜a成v人精品| 日韩一区日韩二区| 久久亚洲影视婷婷| 在线综合视频播放| 在线免费av一区| 成人综合在线网站| 久久99精品久久久| 午夜欧美大尺度福利影院在线看| 国产精品久久久久久久久搜平片| 欧美本精品男人aⅴ天堂|