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

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

?? yuvviewerdlg.cpp

?? 軟件用來觀測和比較源yuv視頻序列
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYUVviewerDlg dialog

CYUVviewerDlg::CYUVviewerDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CYUVviewerDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CYUVviewerDlg)
	m_nFrameFrom = 0;
	m_nFrameTo = 0;
	m_nFrameSize = 1;
	m_nHeight = 144;
	m_nWidth = 176;
	m_sFrameRate = _T("30");
	m_nZoom = -1;
	m_zoom4 = FALSE;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CYUVviewerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CYUVviewerDlg)
	DDX_Control(pDX, IDC_PREVIOUS5, m_buttonPrev5);
	DDX_Control(pDX, IDC_ORDER, m_buttonOrder);
	DDX_Control(pDX, IDC_NEXT5, m_buttonNext5);
	DDX_Control(pDX, IDC_PREVIOUS, m_buttonPrev);
	DDX_Control(pDX, IDC_PAUSEPLAY, m_buttonPausePlay);
	DDX_Control(pDX, IDC_NEXT, m_buttonNext);
	DDX_Control(pDX, IDC_OPENFILE, m_buttonOpen);
	DDX_Text(pDX, IDC_FRAME_FROM, m_nFrameFrom);
	DDX_Text(pDX, IDC_FRAME_TO, m_nFrameTo);
	DDX_Radio(pDX, IDC_SIZE_CIF, m_nFrameSize);
	DDX_Text(pDX, IDC_SIZE_HEIGHT, m_nHeight);
	DDX_Text(pDX, IDC_SIZE_WIDTH, m_nWidth);
	DDX_CBString(pDX, IDC_FRAME_RATE, m_sFrameRate);
	DDX_Radio(pDX, IDC_ZOOM, m_nZoom);
	DDX_Check(pDX, IDC_ZOOM4, m_zoom4);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CYUVviewerDlg, CDialog)
	//{{AFX_MSG_MAP(CYUVviewerDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_SIZE_CIF, OnSizeCif)
	ON_BN_CLICKED(IDC_SIZE_QCIF, OnSizeQcif)
	ON_BN_CLICKED(IDC_SIZE_OTHER, OnSizeOther)
	ON_BN_CLICKED(IDC_OPENFILE, OnOpenfile)
	ON_BN_CLICKED(IDC_NEXT, OnNext)
	ON_BN_CLICKED(IDC_PAUSEPLAY, OnPauseplay)
	ON_BN_CLICKED(IDC_PREVIOUS, OnPrevious)
	ON_BN_CLICKED(IDC_NEXT5, OnNext5)
	ON_BN_CLICKED(IDC_ORDER, OnOrder)
	ON_BN_CLICKED(IDC_PREVIOUS5, OnPrevious5)
	ON_BN_CLICKED(IDCLOSEALL, OnCloseall)
	ON_BN_CLICKED(IDC_TRANSFER, OnTransfer)
	ON_BN_CLICKED(IDC_ZOOM, OnZoom)
	ON_MESSAGE(WM_DROPFILES,OnDropFiles)
	ON_MESSAGE(WM_DRAG_FILE,OnDragFile)
	ON_BN_CLICKED(IDC_ZOOM4, OnZoom4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYUVviewerDlg message handlers

BOOL CYUVviewerDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	m_iCount = 0;
	m_bPlay = true;
	m_pWinThread = NULL;
	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	for(int i=0;i<36;i++)
		m_pFile[i]=NULL;

	Disable(IDC_SIZE_WIDTH);
	Disable(IDC_SIZE_HEIGHT);
	Disable(IDC_STATIC_H);
	Disable(IDC_STATIC_W);

	HANDLE hPlay = NULL;
	if( (hPlay=OpenMutex(MUTEX_ALL_ACCESS,FALSE,"Play"))==NULL)
	{
		//如果沒有其他進程創建這個互斥量,則重新創建
		hPlay = CreateMutex(NULL,FALSE,"Play");
	}

	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CYUVviewerDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CYUVviewerDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CYUVviewerDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CYUVviewerDlg::OnSizeCif() 
{
	UpdateData(TRUE);
	m_nWidth = 352;
	m_nHeight = 288;
	Disable(IDC_SIZE_WIDTH);
	Disable(IDC_SIZE_HEIGHT);
	Disable(IDC_STATIC_H);
	Disable(IDC_STATIC_W);
	UpdateData(FALSE);

	if(m_pFile[m_iCount-1]!=NULL)
	{	
		CYUVviewerDlg::OnCloseall();
		CYUVviewerDlg::OnDragFile(0,0);
	}

}

void CYUVviewerDlg::OnSizeQcif() 
{
	UpdateData(TRUE);
	m_nWidth = 176;
	m_nHeight = 144;
	Disable(IDC_SIZE_WIDTH);
	Disable(IDC_SIZE_HEIGHT);
	Disable(IDC_STATIC_H);
	Disable(IDC_STATIC_W);
	UpdateData(FALSE);

	if(m_pFile[m_iCount-1]!=NULL)
	{	
		CYUVviewerDlg::OnCloseall();
		CYUVviewerDlg::OnDragFile(0,0);
	}
}

void CYUVviewerDlg::OnSizeOther() 
{
	Enable(IDC_SIZE_WIDTH);
	Enable(IDC_SIZE_HEIGHT);
	Enable(IDC_STATIC_H);
	Enable(IDC_STATIC_W);
}

void CYUVviewerDlg::Disable(int nID)
{
	CWnd *pObject1;
	pObject1 = GetDlgItem(nID);
	pObject1->EnableWindow(FALSE);
}
void CYUVviewerDlg::Enable(int nID)
{
	CWnd *pObject1;
	pObject1 = GetDlgItem(nID);
	pObject1->EnableWindow(TRUE);
}
BOOL CYUVviewerDlg::Enabled(int nID)
{
	CWnd *pObject1;
	pObject1 = GetDlgItem(nID);
	return (pObject1->IsWindowEnabled());
}

void CYUVviewerDlg::OnTransfer() 
{
  // the following code is to set the current displayed picture to the first frame, frame 0.
  // added Jan. 15, 2002.
	int i;
	int picsize = m_nWidth*m_nHeight;

	UpdateData(TRUE);

	g_nStartFrame = m_nFrameFrom = 0;
	if(m_nFrameTo != 0) g_nEndFrame = m_nFrameTo;
	else g_nEndFrame = 10000;

	g_nCurrentFrame = 0;

	for(i=0; i<m_iCount; i++)
	{
		m_pFile[i]->SeekToBegin();
		m_pWnd[i]->nPicShowOrder = g_nCurrentFrame;
	}
	
	if(g_nCurrentFrame < g_nEndFrame) // && !bEof)
	{
		g_nFrameNumber = g_nCurrentFrame;//j;
 
		for(i=0; i<m_iCount; i++)
		{
			m_pFile[i]->Read(m_pWnd[i]->Y,picsize);
			if(1)//bColorImage) 
			{
				m_pFile[i]->Read(m_pWnd[i]->Cb,picsize/4);
				m_pFile[i]->Read(m_pWnd[i]->Cr,picsize/4);
			}
			m_pWnd[i]->InvalidateRect (NULL,FALSE);
			m_pWnd[i]->UpdateWindow ();
			m_pWnd[i]->nPicShowOrder ++;
		}
		g_nCurrentFrame++;
		//Sleep(200); // sleep time in milliseconds
	}

/*	int i, nframeno=750 ;
	
	OnCloseall();
	UpdateData(TRUE);

	UINT picsize = m_nWidth*m_nHeight;

	CFile fy, fu, fv, fyuv;
	if(!fy.Open("d:\\sequences\\glasgow_qcif.y", CFile::modeRead )) 
	{
		AfxMessageBox("Can't open input file");
		return;
	}
	if(!fu.Open("d:\\sequences\\glasgow_qcif.u", CFile::modeRead )) 
	{
		AfxMessageBox("Can't open input file");
		return;
	}
	if(!fv.Open("d:\\sequences\\glasgow_qcif.v", CFile::modeRead )) 
	{
		AfxMessageBox("Can't open input file");
		return;
	}
	if(!fyuv.Open("d:\\sequences\\glasgow.qcif", CFile::modeCreate | CFile::modeWrite )) 
	{
		AfxMessageBox("Can't open output file");
		return;
	}

	CChildWindow *pWnd=new CChildWindow((CFrameWnd*)this, m_nWidth, m_nHeight,1);
	pWnd->ShowWindow(SW_SHOW);
	if(m_nZoom == -1) pWnd->CenterWindow(m_nWidth,m_nHeight);
	else if(m_nZoom == 0) pWnd->CenterWindow(m_nWidth*2,m_nHeight*2);

	for(i=0; i<nframeno; i++)
	{
		//if(i >= 260) fin.Seek(0, SEEK_SET);

		if(picsize != fy.Read(pWnd->Y,picsize))
		{
			MessageBox("Get to end of file");
			goto END;
		}
		fyuv.Write(pWnd->Y,picsize);
		if(1)//bColorImage) 
		{
			if(picsize/4 != fu.Read(pWnd->Cb,picsize/4))
			{
				MessageBox("Get to end of file");
				goto END;
			}
			if(picsize/4 != fv.Read(pWnd->Cr,picsize/4))
			{
				MessageBox("Get to end of file");
				goto END;
			}
		}
		fyuv.Write(pWnd->Cb,picsize/4);
		fyuv.Write(pWnd->Cr,picsize/4);

		pWnd->nPicShowOrder=i +1;
		pWnd->InvalidateRect (NULL,FALSE);
		pWnd->UpdateWindow ();
	}
END:
	pWnd->DestroyWindow();
	fy.Close();
	fu.Close();
	fv.Close();
	fyuv.Close();
*/
}

void getSeqName(char *inseqpath, char *seqname)
{
  int lastSlashPos, lastDotPos; // the last dot is located after the last slash "\"
  int lastNonZeroPos; // last pos that tmp != 0
  int i=0;
  char tmp = '0';

  while(tmp != 0)
  {
    tmp = inseqpath[i++];
    if(tmp == '\\')
      lastSlashPos = i-1;
    if(tmp == '.')
      lastDotPos = i-1;
  }
  lastNonZeroPos = i-1;

  if(lastDotPos < lastSlashPos)
    lastDotPos = -1; // that means the file name with no extention, such as "c:\seq\forman".

  if(lastDotPos != -1)
  {
    for(i=lastSlashPos+1; i<lastDotPos; i++)
      seqname[i-lastSlashPos-1] = inseqpath[i];
    seqname[lastDotPos-lastSlashPos-1] = 0;
  }
  else
  {
    for(i=lastSlashPos+1; i<lastNonZeroPos+1; i++)
      seqname[i-lastSlashPos-1] = inseqpath[i];
    seqname[lastNonZeroPos-lastSlashPos] = 0;
  }
}

void CYUVviewerDlg::OnZoom() 
{

	if(m_nZoom == -1)	
	{
		m_nZoom = 0;
		UpdateData(TRUE);
	}
	else if(m_nZoom ==0)
	{
		m_nZoom = -1;
		UpdateData(FALSE);
	}


	if(m_pFile[m_iCount-1]!=NULL)
	{	
		CYUVviewerDlg::OnCloseall();
		CYUVviewerDlg::OnDragFile(0,0);
	}

}

void CYUVviewerDlg::OnDropFiles(HDROP hDropInfo) 
{

	int DropCount=DragQueryFile(hDropInfo,-1,NULL,0);
	//取得被拖動文件的數目
	for(int i=0;i< DropCount;i++)
	{
		int NameSize=DragQueryFile(hDropInfo,i,NULL,0);
		//取得第i個拖動文件名所占字節數
		HANDLE hHeap=GetProcessHeap();
		//根據字節數分配緩沖區 
		char *pName=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,NameSize++);
		if (pName==NULL) 
		{
			MessageBox("給文件名分配暫存空間時出錯!", "錯誤信息",MB_ICONERROR);
			return;
		}
		DragQueryFile(hDropInfo,i,pName,NameSize);
		//把文件名拷貝到緩沖區
//		m_Dialog_List.AddString(pName);
		//文件名加入listbox中顯示

		strcpy(inSeqence[m_iCount],pName);
		PostMessage(WM_DRAG_FILE);
		
		HeapFree(hHeap,HEAP_ZERO_MEMORY,pName);
		//釋放緩沖區
	}
	CDialog::OnDropFiles(hDropInfo);
}

void CYUVviewerDlg::OnDragFile(WPARAM wParam,LPARAM lParam)
{
	UpdateData(TRUE);
	
	UINT picsize = m_nWidth*m_nHeight;
	
	m_pFile[m_iCount] = new CFile();
	
	getSeqName(inSeqence[m_iCount], inSeqName[m_iCount]);
	
	if(!m_pFile[m_iCount]->Open(inSeqence[m_iCount], CFile::modeRead )) 
	{
		AfxMessageBox("Can't open input file");
		return ;
	}

	m_pWnd[m_iCount]=new CChildWindow((CFrameWnd*)this, m_nWidth, m_nHeight,1);

	if(picsize != m_pFile[m_iCount]->Read(m_pWnd[m_iCount]->Y,picsize))
	{
		MessageBox("Get to end of file");
		return ;
	}
	if(1)//bColorImage) 
	{
		if(picsize/4 != m_pFile[m_iCount]->Read(m_pWnd[m_iCount]->Cb,picsize/4))
		{
			MessageBox("Get to end of file");
			return ;
		}
		if(picsize/4 != m_pFile[m_iCount]->Read(m_pWnd[m_iCount]->Cr,picsize/4))
		{
			MessageBox("Get to end of file");
			return ;
		}
	}

	m_pWnd[m_iCount]->ShowWindow(SW_SHOW);

	if(m_nZoom == -1) m_pWnd[m_iCount]->CenterWindow(m_nWidth,m_nHeight);
	else if(m_nZoom == 0) m_pWnd[m_iCount]->CenterWindow(m_nWidth*2,m_nHeight*2);
	if(m_zoom4) m_pWnd[m_iCount]->CenterWindow(m_nWidth*4,m_nHeight*4);

	m_iCount++;

}

void CYUVviewerDlg::OnZoom4() 
{
	// TODO: Add your control notification handler code here
	if(m_zoom4 == FALSE)	
	{
		m_zoom4 = TRUE;
		UpdateData(TRUE);
	}
	else if(m_zoom4 == TRUE)
	{
		m_zoom4 = FALSE;
		UpdateData(FALSE);
	}


	if(m_pFile[m_iCount-1]!=NULL)
	{	
		CYUVviewerDlg::OnCloseall();
		CYUVviewerDlg::OnDragFile(0,0);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频一区二区| 一本久久a久久精品亚洲| 午夜精品一区在线观看| 亚洲精品国产视频| 亚洲精品久久久蜜桃| 亚洲精品国产一区二区精华液 | 午夜久久久久久| 亚洲大尺度视频在线观看| 一级日本不卡的影视| 亚洲黄色小说网站| 一区二区三区美女| 亚洲成人免费视频| 日本视频在线一区| 麻豆国产精品一区二区三区| 免费观看久久久4p| 国产在线视视频有精品| 国产精品538一区二区在线| 国产福利精品一区| 成人高清伦理免费影院在线观看| 豆国产96在线|亚洲| youjizz国产精品| 97精品电影院| 欧美日韩在线精品一区二区三区激情| 欧美色视频在线观看| 91精品国产入口| 久久一区二区三区国产精品| 国产色一区二区| 亚洲色图制服诱惑 | 性久久久久久久| 看国产成人h片视频| 国内精品国产成人| av中文字幕在线不卡| 欧美专区亚洲专区| 91精品在线一区二区| 久久综合五月天婷婷伊人| 中文乱码免费一区二区| 亚洲宅男天堂在线观看无病毒| 青青草97国产精品免费观看| 国产伦精一区二区三区| 91社区在线播放| 欧美精品一级二级三级| 久久一夜天堂av一区二区三区| 最新国产成人在线观看| 喷水一区二区三区| 成人av集中营| 欧美狂野另类xxxxoooo| 久久久精品国产99久久精品芒果| 亚洲美女淫视频| 蜜臀av一区二区在线观看| 成a人片国产精品| 欧美电影影音先锋| 国产精品欧美一级免费| 日日摸夜夜添夜夜添精品视频| 国产精品自拍av| 欧美性高清videossexo| 久久久久久99久久久精品网站| 亚洲综合视频在线| 国产精品一卡二| 欧美巨大另类极品videosbest | 麻豆精品视频在线观看| 91色在线porny| 精品裸体舞一区二区三区| 亚洲人成精品久久久久| 韩国三级在线一区| 欧美日韩精品欧美日韩精品一| 国产精品丝袜久久久久久app| 日本亚洲天堂网| 91美女片黄在线观看91美女| 久久免费精品国产久精品久久久久| 夜夜嗨av一区二区三区四季av| 国产又粗又猛又爽又黄91精品| 欧美日韩一二三| ...中文天堂在线一区| 久久99日本精品| 欧美乱妇15p| 亚洲欧美日韩在线| 国产成人鲁色资源国产91色综| 在线播放日韩导航| 亚洲激情网站免费观看| 国产91精品一区二区麻豆网站| 日韩精品中午字幕| 视频一区视频二区中文字幕| 日本道在线观看一区二区| 国产欧美日本一区二区三区| 九九精品视频在线看| 在线电影院国产精品| 亚洲欧美电影一区二区| 国产成人欧美日韩在线电影| 日韩欧美国产1| 三级亚洲高清视频| 欧美日韩专区在线| 一区二区三区日本| 91麻豆国产精品久久| 国产精品女同互慰在线看| 国产主播一区二区| 欧美成人国产一区二区| 久久国产精品色婷婷| 91精品国产乱| 天堂av在线一区| 在线观看国产一区二区| 亚洲乱码国产乱码精品精98午夜 | 精品国内片67194| 蜜臀a∨国产成人精品| 制服丝袜成人动漫| 石原莉奈在线亚洲三区| 欧美一级艳片视频免费观看| 天天做天天摸天天爽国产一区 | 亚洲精品一线二线三线无人区| 日本亚洲三级在线| 日韩一区二区中文字幕| 久久精品国产77777蜜臀| 欧美mv日韩mv亚洲| 激情综合网最新| 久久亚洲二区三区| 福利视频网站一区二区三区| 国产精品久久夜| 91天堂素人约啪| 亚洲成人在线网站| 日韩一区国产二区欧美三区| 激情久久五月天| 国产视频一区在线播放| 97精品久久久午夜一区二区三区| 亚洲欧美韩国综合色| 欧美日韩精品一区视频| 美女久久久精品| 国产午夜精品一区二区三区视频| 国产高清成人在线| 欧美午夜电影网| 天使萌一区二区三区免费观看| 欧美久久久一区| 毛片一区二区三区| 中文字幕巨乱亚洲| 99久久99久久精品免费看蜜桃| 国产精品久久福利| 色婷婷久久一区二区三区麻豆| 久久人人爽人人爽| 91污片在线观看| 亚洲成a人片综合在线| 欧美一区二区三区电影| 经典三级在线一区| 久久天堂av综合合色蜜桃网| 国产成人综合精品三级| 国产精品久99| 在线国产亚洲欧美| 免费人成在线不卡| 国产精品久久久久婷婷| 91高清视频在线| 日韩 欧美一区二区三区| 精品国产免费一区二区三区香蕉| av中文一区二区三区| 亚洲一二三区在线观看| 日韩欧美高清在线| 不卡的av电影在线观看| 亚洲精品视频一区| 2021国产精品久久精品 | 在线播放国产精品二区一二区四区| 免费在线看成人av| 国产精品免费免费| 在线综合+亚洲+欧美中文字幕| 久久97超碰色| 亚洲品质自拍视频网站| 香蕉久久一区二区不卡无毒影院 | 久久久久久一二三区| caoporen国产精品视频| 日韩黄色在线观看| 国产精品卡一卡二| 欧洲av在线精品| 国产一区二区三区不卡在线观看| 日韩理论片中文av| 欧美日韩国产天堂| 成人激情开心网| 日韩精品三区四区| 日韩理论片网站| 精品日韩在线观看| 欧美视频一区在线| 国产91精品免费| 日韩电影免费在线看| 国产精品夫妻自拍| 一本一道综合狠狠老| 国产一区在线观看麻豆| 亚洲成av人片在www色猫咪| 久久久久高清精品| 欧美白人最猛性xxxxx69交| 91国偷自产一区二区开放时间| 极品少妇xxxx偷拍精品少妇| 一区二区在线观看av| 久久久欧美精品sm网站| 欧美高清dvd| 成人的网站免费观看| 免费看日韩精品| 亚洲少妇中出一区| 国产三级精品视频| 日韩视频一区二区三区在线播放 | 欧美群妇大交群的观看方式 | 成人福利视频网站| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产美女搞黄色| 亚洲国产精品传媒在线观看| 欧美一级一级性生活免费录像| 91福利在线观看|