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

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

?? 數(shù)字水印技術doc.cpp

?? 基于變換域的信息隱藏技術
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
// 整數(shù)DCT圖像壓縮Doc.cpp : implementation of the CDCTDoc class
//

#include "stdafx.h"
#include <windowsx.h>
#include "Math.h"

#include "數(shù)字水印技術.h"
#include "數(shù)字水印技術Doc.h"
#include "MyDlg1.h"
#include "InputDlg.h"
#include "XIANSHIDLG.h"
#include "FANHR.h"
#include "fileOpen.h"
#include "SUIJIDLG.h"
#include "PIC_256_DLG.h"
#include "Dlg.h"
#include "XYDlg.h"
#include "CANSHUDLG.h"
#include "MAGIC_DLG.h"
#include "GRAY_CANDLG.h"
#include "FENDLG.h"
#include "HELPDLG.h"
#include "DLG_CONTROL.h"
#include "FANHUANFANG.h"

#define  MM 255
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDCTDoc

IMPLEMENT_DYNCREATE(CDCTDoc, CDocument)

BEGIN_MESSAGE_MAP(CDCTDoc, CDocument)
	//{{AFX_MSG_MAP(CDCTDoc)
	ON_COMMAND(IDC_FFT, OnFft)
	ON_COMMAND(IDC_IFFT, OnIfft)
	ON_COMMAND(IDC_DCT, OnDct)
	ON_COMMAND(IDC_IDCT, OnIdct)
	ON_COMMAND(IDC_ZDCT, OnZdct)
	ON_COMMAND(IDC_ZIDCT, OnZidct)
	ON_COMMAND(ID_SHANG, OnShang)
	ON_COMMAND(IDC_YUCE, OnYuce)
	ON_COMMAND(IDC_HUIFU, OnHuifu)
	ON_COMMAND(IDC_VData, OnVData)
	ON_COMMAND(IDC_HData, OnHData)
	ON_COMMAND(IDC_DataDCT, OnDataDCT)
	ON_COMMAND(IDC_IDCtHData, OnIDCtHData)
	ON_COMMAND(IDC_ZSTORE, OnZstore)
	ON_COMMAND(IDC_HDATADCT, OnHdatadct)
	ON_COMMAND(IDC_HZDCT, OnHZDCt)
	ON_COMMAND(IDC_WUCHA, OnWucha)
	ON_COMMAND(IDC_JIANJIN, OnJianjin)
    ON_COMMAND(IDD_DIALOG8,OnSuijishu)
	ON_COMMAND(IDC_VSHOW, OnVshow)
	ON_COMMAND(IDC_HY, OnHy)
	ON_COMMAND(IDC_ImageDCT, OnImageDCT)
	ON_COMMAND(IDC_ImageIDCT, OnImageIDCT)
	ON_COMMAND(ID_OPENFILE_TXT, OnOpenfileTxt)
	ON_COMMAND(ID_MAGIC, OnMagic)
	ON_COMMAND(ID_GRAY, OnGray)
	ON_COMMAND(ID_FENPIN, OnFenpin)
	ON_COMMAND(ID_SUAN_2, OnSuan2)
	ON_COMMAND(ID_HUIDU_PIC, OnHuiduPic)
	ON_COMMAND(ID_NEW_256_PIC, OnNew256Pic)
	ON_COMMAND(ID_DATA_W, OnDataW)
	ON_COMMAND(ID_S_1, OnS1)
	ON_COMMAND(ID_DATA_PIC, OnDataPic)
	ON_COMMAND(ID_BEGIN_H, OnBeginH)
	ON_COMMAND(ID_YUAN_PIC, OnYuanPic)
	ON_COMMAND(ID_CHUSHI_PIC, OnChushiPic)
	ON_COMMAND(ID_SUB_P_W, OnSubPW)
	ON_COMMAND(ID_TXT_TO_BITS, OnTxtToBits)
	ON_COMMAND(ID_BIT_TXT, OnBitTxt)
	ON_COMMAND(ID_S_4, OnS4)
	ON_COMMAND(ID_2_PIC, On2Pic)
	ON_COMMAND(ID_S_5, OnS5)
	ON_COMMAND(ID_W_T, OnWT)
	ON_COMMAND(ID_TIQU_2, OnWT2)
	ON_COMMAND(ID_SIM_YANZHENG, OnSimYanzheng)
	ON_COMMAND(ID_YANZHENG, OnYanzheng)
	ON_COMMAND(ID_HELPDLG, OnHelpdlg)
	ON_COMMAND(ID_S_2, OnS2)
	ON_COMMAND(ID_PIC_SAVE, OnPicSave)
	ON_COMMAND(ID_S_6, OnS6)
	ON_COMMAND(ID_S_7, OnS7)
	ON_COMMAND(ID_FANH, OnFanHuanFang)
	ON_COMMAND(ID_SUIJISHU, OnSuijishu)
	ON_COMMAND(ID_magicx, Onmagicx)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDCTDoc construction/destruction

CDCTDoc::CDCTDoc()
{
	// TODO: add one-time construction code here
	lpbmi=NULL;
	Min=0;
	Max=255;


}

CDCTDoc::~CDCTDoc()
{
	if(lpbmi!=NULL)
		GlobalFreePtr(lpbmi);
	
}

BOOL CDCTDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)
	return FALSE;

	
}



/////////////////////////////////////////////////////////////////////////////
// CDCTDoc serialization

void CDCTDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CDCTDoc diagnostics

#ifdef _DEBUG
void CDCTDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CDCTDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CDCTDoc commands

//void CDCTDoc::FCT(fl0at *, unsigned int *, float *, int, int)
//{

//}

BOOL CDCTDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;
	aa=1;
	// TODO: Add your specialized creation code here
	CFile fp;
	fp.Open(lpszPathName,CFile::modeRead);
 	fp.Read((LPSTR)&bmh,sizeof(BITMAPFILEHEADER));//第一次讀
 	if(bmh.bfType!=0x4d42)
 	{
 		MessageBox(NULL,"不是合法的位圖文件","錯誤!",MB_OK);

 		fp.Close();
 		return false;
	}
	
 		DWORD dwBitsSize=bmh.bfSize;
 		lpbmi=(BITMAPINFO*)GlobalAllocPtr(GHND,dwBitsSize-
			sizeof(BITMAPFILEHEADER));//分配內(nèi)存單元
 		fp.Read(lpbmi,dwBitsSize-sizeof(BITMAPFILEHEADER));//第二次讀
		if((lpbmi->bmiHeader.biBitCount!=8)
			||(lpbmi->bmiHeader.biCompression!=BI_RGB))
 		{
 			MessageBox(NULL,"not 256 or compresed","error",MB_OK);
 			GlobalFreePtr(lpbmi);//釋放內(nèi)存單元
            lpbmi=NULL;
 			fp.Close();//關閉文件
 			return false;
 		}
 	
	lpbits=(LPBYTE)lpbmi+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD);
 	m_size.cx=lpbmi->bmiHeader.biWidth;
	m_size.cy=lpbmi->bmiHeader.biHeight;
 	m_TrueWidth=(m_size.cx+3)/4*4;
 
	fp.Close();
    CXYDlg XY;
	XY.DoModal();
	m_x=XY.m_x;
	
	m_y=XY.m_y;
	for(int i=0;i<8;i++)
		for(int j=0;j<8;j++)
		{
			ShowData[i][j]=GetXY(i+m_x,j+m_y);
			StartData[i][j]=GetXY(i+m_x,j+m_y);
		}

	UpdateAllViews(NULL);
	SetModifiedFlag();
	
	return TRUE;
}

BOOL CDCTDoc::OnSaveDocument(LPCTSTR lpszPathName) 
{
	// TODO: Add your specialized code here and/or call the base class
	
//	return CDocument::OnSaveDocument(lpszPathName);
	
	CFile fp;

	fp.Open(lpszPathName,CFile::modeWrite|CFile::modeCreate);
	fp.Write((LPSTR)&bmh,sizeof(BITMAPFILEHEADER));
	fp.Write(lpbmi,bmh.bfSize-sizeof(BITMAPFILEHEADER));
	fp.Close();
	SetModifiedFlag(false);
	return true;
}

void CDCTDoc::OnDraw(CDC *pDC)
{  
	 ::StretchDIBits(pDC->m_hDC,0,0,m_size.cx,m_size.cy,
		0,0,m_size.cx,
		m_size.cy,lpbits,lpbmi,DIB_RGB_COLORS,SRCCOPY);	
		CString str;
		str.Format("圖像象素值  StarPoint(%d,    %d)",m_x,m_y);
		pDC->TextOut(m_size.cx+20,0,str);
		if(aa==1)
		{
			for(int i=0;i<8;i++)
		        for(int j=0;j<8;j++)
				{
			       str.Format("%d",ShowData[i][j]);
			       pDC->TextOut(m_size.cx+20+i*40,(j+1)*30,str);
				} 
		}
		else
             for(int i=0;i<8;i++)
		        for(int j=0;j<8;j++)
				{
			        str.Format("%-8.3f",ShowFData[i][j]);
			       pDC->TextOut(m_size.cx+20+i*80,(j+1)*30,str);
				} 
}

////獲得在(X,Y)點的像素值 \\\GetXY(x,y)
BYTE CDCTDoc::GetXY(int x, int y)
{
	y=m_size.cy-y-1;
	return lpbits[y*m_TrueWidth+x];
}
////修改在(X,Y)點的像素值 \\\SetXY(x,y,value)
void CDCTDoc::SetXY(int x, int y, BYTE val)
{
	y=m_size.cy-y-1;
	lpbits[y*m_TrueWidth+x]=val;

}



////////快速FFT變換
void CDCTDoc::FFT(float*xr,float*xi,float*wr,float*wi,int m,int N)
{
	int ip,k,kk,incr,iter,j,i,l;
	float Tr,Ti;
	    ip=1;
		kk=(N>>1);
		incr=2;
		for(iter=0;iter<m;iter++)
		{
			
			for(j=0;j<N;j+=incr)
			{
				i=j+ip;
				Tr=xr[i];
				Ti=xi[i];
				xr[i]=xr[j]-Tr;
				xi[i]=xi[j]-Ti;
				xr[j]=xr[j]+Tr;
				xi[j]=xi[j]+Ti;
			}
		if(iter!=0)
			{
				for(k=1;k<ip;k++)
				{
					l=k*kk-1;
					for(j=k;j<N;j+=incr)
					{
						i=j+ip;
						Tr=xr[i]*wr[l]-xi[i]*wi[l];
						Ti=xr[i]*wi[l]+xi[i]*wr[l];
						xr[i]=xr[j]-Tr;	
						xi[i]=xi[j]-Ti;
						xr[j]=xr[j]+Tr;
						xi[j]=xi[j]+Ti;

					}
				}
			}
			kk>>=1;
			ip<<=1;
			incr<<=1;
		}
}




///////////////
void CDCTDoc::GLT(float *wr, float *wi, int N, int sign)
{
	int n2,i;
	float theta;
	    n2=(N>>1)-1;
		theta=(float)(2.0*3.14159/((float)N));
		for(i=0;i<n2;i++)
		{
			wr[i]=(float)cos((double)((i+1)*theta));
			wi[i]=(float)sin((double)((i+1)*theta));
			if(sign==(int)(-1))
				wi[i]=-wi[i];
		}


}

void CDCTDoc::bit_reversal(unsigned int*L, int m, int N)
{
	int MASK,C,A,i,j,k;
	for(k=0;k<N;k++)
	{
		MASK=1;
		C=0;
		for(i=0,j=m-1;i<m;i++,j--)
		{
			A=(k&MASK)>>i;
			A<<=j;
			C|=A;
			MASK<<=1;

		}
		L[k]=C;
	}

}


				
void CDCTDoc::FCT(float*x,unsigned int*L,float*C, int m, int N)
{
	int NK1,NK2,i,j,k,kk,ip,incr,L1,k1,k2,iter;
	float T;
	NK1=N>>1;
	T=x[2];
	x[2]=x[1];
	x[1]=T;
	k1=2;
	k2=4;
	for(i=1;i<(NK1-1);i++)
	{
		T=x[k2];
		for(j=0;j<=(k2-k1);j++)
		{
			x[k2-j]=x[k2-j-1];
		}
		x[k1]=T;
		k1++;
		k2+=2;

	}
	NK2=N-1;
	for(i=0;i<(NK1>>1);i++)
	{
		T=x[NK2-i];
		x[NK2-i]=x[NK1+i];
		x[NK1+i]=T;
	}
	
	ip=NK1;
	kk=0;
	incr=N;
	for(iter=0;iter<m;iter++)
	{
		for(k=0;k<ip;k++)
		{
		    for(j=k;j<N;j+=incr)
			{
				i=j+ip;
				T=x[j];
				x[j]=T+x[i];
				x[i]=T-x[i];
				x[i]*=C[kk];
			}
			kk++;
		}
		ip>>=1;
		incr>>=1;

	}
	for(i=0;i<(N-1);i++)
	{
		if(i<=(int)L[i])
			continue;
		else
		{
			T=x[i];
			x[i]=x[L[i]];
			x[L[i]]=T;
		}
	}
	for(i=1;i<NK1;i++)	
		x[i]*=0.5;
	NK1=(N>>2);	
	NK2=(N>>1);
	kk=1;
	for(iter=1;iter<m;iter++)
	{
		kk<<=1;
		L1=kk-1;
		for(k=1;k<=L1;k++)
			for(i=0;i<NK1;i++)
				x[NK1+NK2*k+i]=x[NK1+NK2*k+i]-x[NK1+NK2*(k-1)+i];
			NK1>>=1;
			NK2>>=1;
	}
	x[0]=x[0]/(float)sqrt(N);
	for(i=1;i<N;i++)
		x[i]=(float)(x[i]*1.414/(float)sqrt(N));


}
			
void CDCTDoc::WTS(float*C, int m, int N)
{
int NK1,NK2,i,iter,k;
double  PI;
PI=3.14159;
	NK1=N>>1;
	NK2=N<<1;
	k=0;
	for(iter=0;iter<m;iter++)
	{
		for(i=0;i<NK1;i++)
		{
			C[k]=(float)(cos(  PI*(4*i+1) /(float)NK2 )  );
			k++;
		}
		NK1>>=1;
		NK2>>=1;

	}
	for(i=0;i<k-1;i++)
	{
		C[i]*=2.0;
	}
}


void CDCTDoc::WTSINV(float *C, int m, int N)

{
	int NK,i,k,iter,LK;
	double PI;
	PI=3.14159265;
	 NK=4;
	 k=0;
	 LK=1;
	 for(iter=0;iter<m;iter++)
	 {
		 for(i=0;i<LK;i++)
		 {
			 C[k]=(float)(1.0/(float)cos((PI*(4*i+1))/NK));
			 k++;
		 }
		 NK<<=1;
		 LK<<=1;

	 }

	 for(i=1;i<(N-1);i++)
		 C[i]/=2.0;

}


void CDCTDoc::IFCT(float *x, unsigned int *L, float *C, int m, int N)
{
  int NK1,NK2,i,j,k,kk,ip,incr,L1,iter;
	float T;
	x[0]=x[0]*(float)sqrt(N);
	for(i=1;i<N;i++)
		x[i]=(float)(x[i]*(float)sqrt(N)/1.4140);

	NK1=1;
	NK2=2;
	kk=1;
	for(i=0;i<m;i++)
		kk*=2;
	for(iter=1;iter<m;iter++)
	{
		kk>>=1;
		L1=kk-1;
		for(k=L1;k>=1;k--)
			for(i=0;i<NK1;i++)
               x[NK1+k*NK2+i]=x[NK1+k*NK2+i]+x[NK1+(k-1)*NK2+i];
			NK1<<=1;
			NK2<<=1;

	}
	NK1=N>>1;
	for(i=1;i<NK1;i++)
		x[i]*=2.0;

	
	for(i=0;i<(N-1);i++)
	{
		if(i<(int)L[i])
			continue;
		else
		{
			T=x[i];
			x[i]=x[L[i]];
			x[L[i]]=T;
		}
	}
  
	ip=1;
	kk=0;
	incr=2;
	for(iter=0;iter<m;iter++)
	{
		for(k=0;k<ip;k++)
		{
		    for(j=k;j<N;j+=incr)
			{
				i=j+ip;
				T=x[j];
				x[i]=x[i]*C[kk];
				x[j]=T+x[i];
				x[i]=T-x[i];
			
			}
			kk++;
		}
		ip<<=1;
		incr<<=1;
	

	}
	
	kk=1;
	for(i=1;i<(N>>1);i++)
	{
		T=x[N-1];
		k=1;
		for(j=kk;j<N;j++)
		{
			x[N-k]=x[N-k-1];
			k++;
		}
		x[kk]=T;
		kk+=2;
	}

	for(i=0;i<N;i++)
		x[i]=x[i]/(float)(N);

}
void CDCTDoc::ZDCT(int *Z, unsigned int *L, int m, int N)
{
	double pi;
	int ip,k,kk,incr,iter,j,i,l,Zr1i,Zr1j,T,NK1,k1,k2,NK2;
	int Zr[8],Zi[8];
	pi=3.141592;
//調整輸入順序
	NK1=N>>1;
	T=Z[2];
	Z[2]=Z[1];
	Z[1]=T;
	k1=2;
	k2=4;
	for(i=1;i<(NK1-1);i++)
	{
		T=Z[k2];
		for(j=0;j<=(k2-k1);j++)
		{
			Z[k2-j]=Z[k2-j-1];
		}
		Z[k1]=T;
		k1++;
		k2+=2;

	}
	NK2=N-1;
	for(i=0;i<(NK1>>1);i++)
	{
		T=Z[NK2-i];
		Z[NK2-i]=Z[NK1+i];
		Z[NK1+i]=T;
	}
	//倒位序
	for(i=0;i<(N-1);i++)
	{
		if(i<=(int)L[i])
			continue;
		else
		{
			T=Z[i];
			Z[i]=Z[L[i]];
			Z[L[i]]=T;
		}
	}
	for(i=0;i<N;i++)
	{
		Zr[i]=Z[i];
		Zi[i]=0;
	}
//ZFFT運算
	    ip=1;
		kk=(N>>1);
		incr=2;
		for(iter=0;iter<m;iter++)
		{
			
			for(i=0;i<N;i+=incr)
			{   
				
				
				j=i+ip;
				
				Zr[i]=Zr[i];
				Zr[j]=-Zr[j];

                Zr[i]=Zr[i];
				Zr[j]=Zr[j]+Zr[i];

				Zr[i]=Zr[i]+(int)(Zr[j]*(sqrt(2)/2-1));
				Zr[j]=Zr[j];
				

				Zr[i]=Zr[i];
				Zr[j]=(int)(-Zr[i]*sqrt(2))+Zr[j];
			

				Zr[i]=Zr[i]+(int)(Zr[j]*(sqrt(2)/2-0.5));
				Zr[j]=Zr[j];
				
				Zr[i]=Zr[i]-(int)(0.5*Zr[j]);
				Zr[j]=Zr[j];
				
				Zr[i]=Zr[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美视频一区| 欧洲精品中文字幕| 久久婷婷久久一区二区三区| 手机精品视频在线观看| 91精品国产综合久久精品app| 一区二区三区日韩精品视频| 欧美综合天天夜夜久久| 亚洲不卡一区二区三区| 91精品免费在线观看| 美女免费视频一区二区| 久久综合九色综合97_久久久| 国产精品99久久久| 亚洲欧洲日本在线| 欧美日韩一区二区三区高清| 日本欧美加勒比视频| 久久免费视频色| 成人黄色电影在线 | 欧美一区在线视频| 激情综合亚洲精品| 国产精品久久久久7777按摩| 欧美中文字幕久久| 激情亚洲综合在线| 亚洲天堂精品视频| 欧美疯狂性受xxxxx喷水图片| 狠狠色丁香久久婷婷综| 中文字幕日韩av资源站| 欧美精品视频www在线观看| 久久国产精品色婷婷| 国产精品二三区| 欧美精品 日韩| 成人小视频免费在线观看| 一区二区三区高清在线| 欧美va亚洲va在线观看蝴蝶网| 成人动漫一区二区| 日韩精品久久久久久| 日本一区二区高清| 欧美夫妻性生活| av不卡免费在线观看| 日本不卡视频一二三区| 国产精品情趣视频| 欧美一级免费观看| 91丨porny丨在线| 极品美女销魂一区二区三区免费| 一区二区三区在线观看动漫| 精品国产凹凸成av人网站| 在线视频一区二区三区| 国产一区欧美二区| 成人午夜私人影院| 午夜欧美一区二区三区在线播放| 国产清纯在线一区二区www| 欧美高清www午色夜在线视频| 成人小视频免费观看| 久99久精品视频免费观看| 亚洲综合清纯丝袜自拍| 国产精品视频一二三| 欧美不卡一区二区| 欧美日韩电影一区| 色狠狠一区二区三区香蕉| 国产成人精品免费看| 蜜桃精品在线观看| 午夜免费久久看| 一区二区三区四区精品在线视频| 国产日韩精品久久久| 精品美女在线播放| 制服丝袜中文字幕一区| 欧美中文字幕一区二区三区 | 555夜色666亚洲国产免| 色天使色偷偷av一区二区| 国产成人高清在线| 国产一区二区三区蝌蚪| 美女任你摸久久| 奇米888四色在线精品| 视频在线在亚洲| 天堂av在线一区| 亚洲午夜久久久久久久久电影院| 亚洲三级在线免费| 国产精品高清亚洲| 中文字幕日韩一区二区| 国产精品福利一区二区| 国产精品久久久久久久岛一牛影视 | 一本大道久久a久久精品综合| a在线播放不卡| 99久久免费视频.com| 99re热这里只有精品视频| 成人黄色av网站在线| 99久久久久久99| 91在线码无精品| 91久久精品一区二区| 欧亚一区二区三区| 欧美日韩精品免费观看视频| 欧美日本国产视频| 欧美一区二区福利视频| 欧美大片日本大片免费观看| 精品精品国产高清a毛片牛牛| 精品久久久久久最新网址| 久久噜噜亚洲综合| 国产精品乱码人人做人人爱| 亚洲日穴在线视频| 亚洲伊人伊色伊影伊综合网| 日本sm残虐另类| 国产在线精品一区在线观看麻豆| 国产成人在线电影| 91免费在线看| 欧美日韩国产系列| 精品成人在线观看| 国产精品久久久久久久久免费丝袜 | 国产成人av电影在线| 99精品视频一区二区三区| 在线观看日韩高清av| 日韩一区二区三区免费观看| 久久久99久久精品欧美| 亚洲日本在线a| 日韩av在线免费观看不卡| 国产精品99久久久| 欧美性感一类影片在线播放| 精品三级在线观看| 亚洲免费观看高清在线观看| 成人福利视频网站| 欧美三级视频在线观看| 欧美精品一区二区高清在线观看| 国产精品对白交换视频| 日本午夜一区二区| 99久精品国产| 欧美sm美女调教| 亚洲精品成人少妇| 国产一区二区在线免费观看| 91久久精品网| 久久久电影一区二区三区| 亚洲国产精品一区二区尤物区| 精品一二三四区| 欧美综合色免费| 中文字幕国产一区| 麻豆免费精品视频| 色av一区二区| 国产日本欧美一区二区| 日韩经典中文字幕一区| 91社区在线播放| 国产亚洲综合av| 裸体在线国模精品偷拍| 日本高清不卡一区| 欧美国产成人精品| 毛片av一区二区三区| 欧美午夜片在线看| 亚洲欧洲成人自拍| 国产精品996| 精品捆绑美女sm三区| 午夜成人免费视频| 色欧美片视频在线观看在线视频| 久久精品视频一区| 另类小说一区二区三区| 欧美久久一二区| 亚洲毛片av在线| 91色九色蝌蚪| 国产精品亲子伦对白| 国产精品自拍网站| 2020国产精品| 麻豆91免费观看| 日韩欧美的一区二区| 日本最新不卡在线| 欧美精选一区二区| 天天射综合影视| 欧美日韩国产一二三| 亚洲va韩国va欧美va精品| 国产欧美一区二区精品久导航| 日本欧美一区二区三区| 欧美久久久久久久久| 三级久久三级久久久| 欧美日韩电影一区| 免费在线一区观看| 欧美一二三区精品| 麻豆久久久久久| 精品三级av在线| 国产美女在线精品| 久久久久久久久久看片| 国产精品亚洲专一区二区三区| 精品久久久久久久一区二区蜜臀| 免费xxxx性欧美18vr| 欧美大片在线观看| 国产综合一区二区| 国产欧美视频一区二区三区| 成人一区二区三区| 亚洲私人影院在线观看| 色婷婷综合激情| 亚洲第一福利视频在线| 欧美一级在线视频| 国产一区二区三区电影在线观看| 国产亚洲精品福利| 99久久精品久久久久久清纯| 伊人开心综合网| 欧美日本韩国一区二区三区视频| 日韩av电影天堂| 久久久久久亚洲综合影院红桃| 高清成人免费视频| 一区二区三区在线免费| 欧美喷潮久久久xxxxx| 国产一区在线精品| 中文字幕一区在线观看视频| 欧美午夜一区二区三区免费大片| 日韩精品久久理论片| 国产欧美一区二区三区网站|