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

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

?? displaylib.c

?? 三星公司S3c2443的測試程序源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
	*VIDWxADD0_Reg_Addr[win_num][buf_num] = (uint32)lcd_framebuffer;		
	// buffer end address
	*VIDWxADD1_Reg_Addr[win_num][buf_num] = (uint32)lcd_framebuffer + (pagewidth_in_byte+offsize_in_byte)*(lcd_line_value);
	// buffer size 
	*VIDWxADD2_Reg_Addr[win_num][buf_num] = (offsize_in_byte<<VIDWxADD2_OFFSET_SIZE_S)|pagewidth_in_byte;

	*WINxMAP_Reg_Addr[win_num] = 0;

	if (win_num>0)
	{
		*VIDOSDxC_Reg_Addr[win_num] = 0;
		
		*WxKEYCON0_Reg_Addr[win_num] = 0;
		*WxKEYCON1_Reg_Addr[win_num] = 0;
	}
}

void Basic_Display_Setting_CPUIF_OUTPUT_FORMAT( int32 win_num,int32 buf_num, int32 bpp, uint32 width, uint32 height)
{
	uint32 pagewidth_in_byte=0,offsize_in_byte=0;
	uint32 pagewidth,offsize;

	lcd_bpp = bpp;
	
	screen_width=width;
	screen_height=height;

	pagewidth=lcd_horizon_value;
	offsize = screen_width - lcd_horizon_value;

	switch(bpp)
	{
		case WINCONx_1BPP_PALLET:
			PutPixel=_PutPixel1Bit;
			break;
		case WINCONx_2BPP_PALLET:
			PutPixel=_PutPixel2Bit;
			break;
		case WINCONx_4BPP_PALLET:
			PutPixel=_PutPixel4Bit;
			break;
		case WINCONx_8BPP_PALLET:
		case WINCONx_8BPP_NO_PALLET:
			PutPixel=_PutPixel8Bit;
			break;
		case WINCONx_16BPP_565:
		case WINCONx_16BPP_A555:
		case WINCONx_16BPP_1555:
			PutPixel=_PutPixel16Bit;
			break;
		case WINCONx_18BPP_666:
		case WINCONx_18BPP_A665:
		case WINCONx_19BPP_A666:
		case WINCONx_24BPP_888:
		case WINCONx_24BPP_A887:
		case WINCONx_25BPP_A888:
			PutPixel=_PutPixel32Bit;
			break;
			
	}

	// 2006.06.02
	// Frame buffer address setting : Windows0 have the two buffer like as buffer0, buffer1. 
	// Each buffer have the register for setting the start and end address. But Window1 have one buffer
	// base lcd_framebuffer = Noncache address(0x31000000)

	pagewidth_in_byte = pagewidth/8*lcd_bit_order[bpp];
	if((pagewidth_in_byte%lcd_burst_in_byte[lcd_burst_mode])!=0)
	{
		pagewidth_in_byte += lcd_burst_in_byte[lcd_burst_mode] - (pagewidth_in_byte%lcd_burst_in_byte[lcd_burst_mode]);
	}		
	offsize_in_byte = offsize/8*lcd_bit_order[bpp];

	LCDC_Common_Init_CPUIF_OUTPUT_FORMAT();

	*WINCONx_Reg_Addr[win_num] = (buf_num<<WINCON_BUFSEL)|(0<<WINCON_BUFAUTOEN)|(0<<WINCON_SWAP_S)|(lcd_burst_mode<<WINCON_BURSTLEN_S)|(bpp<<WINCON_BPP_S); // 4word burst, 16bpp, 
	*VIDOSDxA_Reg_Addr[win_num] = (0<<VIDOSDxAB_HORIZON_X_S)|(0);
	*VIDOSDxB_Reg_Addr[win_num] = ((lcd_horizon_value-1)<<VIDOSDxAB_HORIZON_X_S)|(lcd_line_value-1);	

	lcd_framebuffer = (uint32 *)lcd_frame_buffer[win_num][buf_num];

	// buffer start address
	*VIDWxADD0_Reg_Addr[win_num][buf_num] = (uint32)lcd_framebuffer;		
	// buffer end address
	*VIDWxADD1_Reg_Addr[win_num][buf_num] = (uint32)lcd_framebuffer + (pagewidth_in_byte+offsize_in_byte)*(lcd_line_value);
	// buffer size 
	*VIDWxADD2_Reg_Addr[win_num][buf_num] = (offsize_in_byte<<VIDWxADD2_OFFSET_SIZE_S)|pagewidth_in_byte;

	*WINxMAP_Reg_Addr[win_num] = 0;

	if (win_num>0)
	{
		*VIDOSDxC_Reg_Addr[win_num] = 0;
		
		*WxKEYCON0_Reg_Addr[win_num] = 0;
		*WxKEYCON1_Reg_Addr[win_num] = 0;
	}
}


void LCDC_Common_Init_CPUIF_OUTPUT_FORMAT(void)
{
	uint8 clkval=0;
	uint16 hcync_cnt,vclk_cnt;

	rVIDCON0 = VIDCON0_S_CPU_IF_MAIN|VIDCON0_CPU_16plus2|VIDCON0_S_RGB_PAR|VIDCON0_S_VCLK_GATING_OFF|VIDCON0_S_CLKDIR_DIVIDED|VIDCON0_S_CLKSEL_HCLK;
	
	if(rVIDCON0 & (1<<2))	//ePLL
	{
		clkval = (uint8)(((float)96000000/(float)(hcync_cnt*vclk_cnt*lcd_frame_rate*2))+0.5)-1;
		rEPLLCON = (40<<16)|(1<<8)|(1<<0); // M=40;P=1, S=1);
		rEPLLCON &= ~(1<<24); // epll on
	}
	else	//HCLK
	{
		clkval = (uint8)(((float)HCLK/(float)(hcync_cnt*vclk_cnt*lcd_frame_rate*2))+0.5)-1;
	}
	
	rVIDCON0 |= (clkval <<VIDCON0_CLKVAL_F_SHIFT);

	//check point
	rSYSIFCON0 = (lcd_cs_setup<<16)|(lcd_wr_setup<<12)|(lcd_wr_act<<8)|(lcd_wr_hold<<4)|(1<<2)|(1<<1)|(1); // CS_SETUP=0xf, WR_SETUP=0xf, WR_ACT=0xf, WR_HOLD=0xf, RSPOL=HIGH, SUCCEUP=One time, SYSIFEN=Enable

	rVIDTCON2 = ((lcd_line_value-1)<<VIDTCON2_LINEVAL_S)|(lcd_horizon_value-1);
}

void Display_Start(int8 win_num)
{	
	LcdWindowOnOff(win_num,LCD_ON);
	LcdEnvidOnOff(LCD_ON);

	return;
}

void Display_Start_CPUIF(int8 win_num)
{	
	LcdWindowOnOff(win_num,LCD_ON);
	LcdEnvidOnOff(LCD_ON);
	Delay(1);
	rCPUTRIGCON2 = 1;
	
	return;
}

void Display_End(int8 win_num)
{	
	printf("\nIf you want to end this test, press any key\n");
	
	while(!(Uart_getc()));

	LcdWindowOnOff(win_num,LCD_OFF);
	LcdEnvidOnOff(LCD_OFF);	

	return;
}


void Prepare_Image(int8 win_num, int8 bpp)
{
	uint32 i, j;
	uint32 *framebuffer,data;
	
	framebuffer = lcd_framebuffer;

	if(bpp<=WINCONx_8BPP_PALLET)
		Prepare_Pallet(win_num,bpp);

	switch(bpp)
	{
		case WINCONx_1BPP_PALLET:
			for(i=0;i<2;i++)
			{
				LCD_FilledRectangle(0, screen_height/2*i, screen_width-1, screen_height/2*(i+1)-1, i);
				lprintf(50,screen_height/2*i,i^0x1,"Color %d",i);
			}
			break;

		case WINCONx_2BPP_PALLET:
			for(i=0;i<4;i++)
			{
				LCD_FilledRectangle(0, screen_height/4*i, screen_width-1, screen_height/4*(i+1)-1, i);
				lprintf(50,screen_height/4*i,i^0x3,"Color %d",i);
			}
			break;

		case WINCONx_4BPP_PALLET:
			for(i=0;i<16;i++)
			{
				LCD_FilledRectangle(0, screen_height/16*i, screen_width-1, screen_height/16*(i+1)-1, i);
				lprintf(50,screen_height/16*i,i^0xf,"Color %d",i);
			}
			break;

		case WINCONx_8BPP_PALLET:
			if(lcd_type == LCD_MODULE_LTS222)
			{
				for(i=0; i<(screen_width*screen_height*lcd_bit_order[bpp]/32); i++) 
				{
					data =(DEMO256[i*4]<<24);
					data |= (DEMO256[i*4+1] <<16);
					data |= (DEMO256[i*4+2] <<8);
					data |= DEMO256[i*4+3];
					*framebuffer++ = data;
				}
				lprintf(0,0,0xff,"8BPP paletteized mode.");
			}
			else
				printf("This test for the LCD type is not prepared\n");				
			break;

		case WINCONx_8BPP_NO_PALLET:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0xff);
						
				lprintf(0,0,0xff,"8BPP(A232) Non-paletteized mode.");
			}
			break;

		case WINCONx_16BPP_565:
			for(i=0;i<screen_width;i++)
				for(j=0;j<screen_height;j++)
					PutPixel(i,j,(i*j)&0xffff);
			lprintf(0,0,0xffff,"16BPP(565) Non-paletteized mode.");
			break;
			
		case WINCONx_16BPP_A555:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0xffff);
				lprintf(0,0,0xffff,"16BPP(A555) Non-paletteized mode.");
			}
			break;
			
		case WINCONx_16BPP_1555:
			for(i=0;i<screen_width;i++)
				for(j=0;j<screen_height;j++)
					PutPixel(i,j,(i*j)&0xffff);
			lprintf(0,0,0xffff,"16BPP(1555) Non-paletteized mode.");
			break;
			
		case WINCONx_18BPP_666:
			for(i=0;i<screen_width;i++)
				for(j=0;j<screen_height;j++)
					PutPixel(i,j,(i*j)&0x3ffff);
			lprintf(0,0,0x3ffff,"18BPP(666) Non-paletteized mode.");
			break;
			
		case WINCONx_18BPP_A665:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0x3ffff);
				lprintf(0,0,0x3ffff,"18BPP(A665) Non-paletteized mode.");
			}
			break;
			
		case WINCONx_19BPP_A666:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0x7ffff);
				lprintf(0,0,0x7ffff,"19BPP(A666) Non-paletteized mode.");
			}
			break;
			
		case WINCONx_24BPP_888:
			for(i=0;i<screen_width;i++)
				for(j=0;j<screen_height;j++)
					PutPixel(i,j,(i*j)&0xffffff);
			lprintf(0,0,0xffffff,"24BPP(888) Non-paletteized mode.");
			break;
			
		case WINCONx_24BPP_A887:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0xffffff);
				lprintf(0,0,0xffffff,"24BPP(A887) Non-paletteized mode.");
			}
			break;
			
		case WINCONx_25BPP_A888:
			if (win_num==0)
				printf("This mode is not supported in window 0.\n");
			else
			{
				for(i=0;i<screen_width;i++)
					for(j=0;j<screen_height;j++)
						PutPixel(i,j,(i*j)&0x1ffffff);
				lprintf(0,0,0x1ffffff,"25BPP(A888) Non-paletteized mode.");
			}
			break;

		default:
			break;
	}
	
}

void Prepare_Pallet(int8 win_num, int8 bpp)
{
	uint32 *pallet_ptr, i;
				
	//pallet format => 16bit(565)
	rWPALCON = (6<<3)|(6<<0);

	//  palette can be updated
	rWPALCON |= (1<<9);	
	
	pallet_ptr =(uint32 *)WINxPalletBase[win_num];

	switch(bpp)
	{
		case WINCONx_1BPP_PALLET:
			*(pallet_ptr+0) = 0x0000;
			*(pallet_ptr+1) = 0xffff;
			break;

		case WINCONx_2BPP_PALLET:
			*(pallet_ptr+0) = 0x0000;
			*(pallet_ptr+1) = 0xf800;
			*(pallet_ptr+2) = 0x07e0;
			*(pallet_ptr+3) = 0x001f;
			break;

		case WINCONx_4BPP_PALLET:
			*(pallet_ptr+0)	= 0x0000;
			*(pallet_ptr+1) = 0xf800;
			*(pallet_ptr+2) = 0x07e0;
			*(pallet_ptr+3) = 0x001f;
			*(pallet_ptr+4) = 0xf81f;
			*(pallet_ptr+5) = 0xffe0;
			*(pallet_ptr+6) = 0x07ff;
			*(pallet_ptr+7) = 0xffff;
			*(pallet_ptr+8) = 0x18e3;
			*(pallet_ptr+9) = 0x7800;
			*(pallet_ptr+10) = 0x03e0;
			*(pallet_ptr+11) = 0x000f;
			*(pallet_ptr+12) = 0x780f;
			*(pallet_ptr+13) = 0x7be0;
			*(pallet_ptr+14) = 0x03ef;
			*(pallet_ptr+15) = 0x7bef;
			break;

		case WINCONx_8BPP_PALLET:
			for(i=0;i<256;i++)
				*(pallet_ptr+i) = (uint32)DEMO256pal[i];
			break;
			
		default :
			break;
	}
	
	rWPALCON &= ~(1<<9);
}

void LcdEnvidOnOff(uint8 onoff)
{
	if(onoff==LCD_ON)
		rVIDCON0 |= (3); // ENVID On using Per Frame method
	else 
		rVIDCON0 &= (~3); // ENVID Off using Per Frame method
}    

void LcdWindowOnOff(uint8 num, uint8 onoff)
{
	switch(num)
	{
		case LCD_WIN_0:
			if(onoff==LCD_ON)
				rWINCON0 |= 0x01;
			else
				rWINCON0 &= ~0x01;
			break;
					
		case LCD_WIN_1:
			if(onoff==LCD_ON)
				rWINCON1 |= 0x01;
			else
				rWINCON1 &= ~0x01;
			break;
			
		case LCD_WIN_ALL:
			if(onoff==LCD_ON)
			{
				rWINCON0 |= 0x01;
				rWINCON1 |= 0x01;
			}
			else
			{
				rWINCON0 &= ~0x01;
				rWINCON1 &= ~0x01;
			}
		
		default:
			break;
	}
	return;
}
//
//===================================================

//===================================================
//
//
void _PutPixel1Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width/32+x/32)= (*(uint32 *)(lcd_framebuffer+y*screen_width/32+x/32) 
		& ~(0x80000000>>(x%32)*1))| ((c&0x00000001)<<((32-1-(x%32))*1));   
}

void _PutPixel2Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width/16+x/16)= (*(uint32 *)(lcd_framebuffer+y*screen_width/16+x/16) 
		& ~(0xc0000000>>(x%16)*2))| ((c&0x00000003)<<((16-1-(x%16))*2));
}

void _PutPixel4Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width/8+x/8)= (*(uint32 *)(lcd_framebuffer+y*screen_width/8+x/8) 
		& ~(0xf0000000>>(x%8)*4))| ((c&0x0000000f)<<((8-1-(x%8))*4));
}

void _PutPixel8Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width/4+x/4)= (*(uint32 *)(lcd_framebuffer+y*screen_width/4+x/4) 
		& ~(0xff000000>>(x%4)*8))| ((c&0x000000ff)<<((4-1-(x%4))*8));
}

void _PutPixel16Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width/2+x/2)= (*(uint32 *)(lcd_framebuffer+y*screen_width/2+x/2) 
		& ~(0xffff0000>>(x%2)*16))|((c&0x0000ffff)<<((2-1-(x%2))*16));
}

void _PutPixel32Bit(uint32 x,uint32 y,uint32 c)
{
	if(x<screen_width && y<screen_height)
		*(uint32 *)(lcd_framebuffer+y*screen_width+x)=c;
}



void LCD_Rectangle(int32 x1,int32 y1,int32 x2,int32 y2,int32 color)
{
    LCD_Line(x1,y1,x2,y1,color);
    LCD_Line(x2,y1,x2,y2,color);
    LCD_Line(x1,y2,x2,y2,color);
    LCD_Line(x1,y1,x1,y2,color);
}


void LCD_FilledRectangle(int32 x1,int32 y1,int32 x2,int32 y2,int32 color)
{
    int32 i;

    for(i=y1;i<=y2;i++)
	LCD_Line(x1,i,x2,i,color);
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产无套在线观| 亚洲国产精品麻豆| 亚洲视频中文字幕| 麻豆一区二区三| 97久久精品人人做人人爽| 日韩欧美中文一区二区| 亚洲视频免费在线| 国产精品99久久久久久似苏梦涵 | 精品一区二区三区在线观看国产| 9l国产精品久久久久麻豆| 亚洲精品一区二区三区影院| 依依成人综合视频| 9久草视频在线视频精品| 精品国产免费一区二区三区香蕉 | 国产欧美一区二区三区在线看蜜臀 | 欧美日韩视频第一区| 日韩一区中文字幕| 国产成人精品免费一区二区| 欧美不卡视频一区| 男男gaygay亚洲| 欧美猛男gaygay网站| 悠悠色在线精品| 色呦呦一区二区三区| 国产视频一区在线播放| 韩国女主播一区| 欧美电影免费观看高清完整版在线 | 色嗨嗨av一区二区三区| 国产精品久久久久一区| 北岛玲一区二区三区四区| 亚洲国产精品激情在线观看| 国产在线视视频有精品| 欧美成人猛片aaaaaaa| 捆绑变态av一区二区三区| 91.com在线观看| 日本一区中文字幕 | 久久综合九色综合97婷婷女人| 日本视频在线一区| 日韩欧美第一区| 国内精品嫩模私拍在线| 久久亚洲一区二区三区四区| 国产成人小视频| 国产精品午夜春色av| 99久久夜色精品国产网站| 国产精品久99| 欧美伊人久久大香线蕉综合69| 亚洲最大色网站| 91精品婷婷国产综合久久| 激情久久久久久久久久久久久久久久| 日韩亚洲欧美中文三级| 国产一区二区免费看| 国产精品激情偷乱一区二区∴| 成人av免费在线观看| 一区二区三区电影在线播| 欧美狂野另类xxxxoooo| 久久成人免费电影| 国产精品情趣视频| 欧美性大战久久| 精品一区二区三区视频| 国产精品久久久久久久浪潮网站| 色先锋资源久久综合| 欧美a级一区二区| 国产欧美日本一区二区三区| 在线一区二区三区| 久久国内精品自在自线400部| 久久久久久久综合| 97国产精品videossex| 日韩电影在线免费| 国产精品成人一区二区艾草 | 精品国产一区二区三区久久影院| 国产成a人亚洲| 婷婷激情综合网| 国产精品成人网| 欧美一区二区三区影视| 成人毛片老司机大片| 日韩激情av在线| 亚洲人123区| 国产精品福利一区二区| 欧美三区免费完整视频在线观看| 国产曰批免费观看久久久| 亚洲国产色一区| 国产天堂亚洲国产碰碰| 91精品在线免费观看| 成人av综合一区| 国产在线不卡视频| 日本成人在线视频网站| ...av二区三区久久精品| 欧美精品一区二区三区一线天视频 | 国产成人免费在线视频| 日本欧美一区二区三区乱码 | 丝袜脚交一区二区| 中文字幕视频一区| 精品国产露脸精彩对白| 在线观看av一区| av亚洲精华国产精华| 国产一区二区精品久久91| 丝袜美腿高跟呻吟高潮一区| 一区二区三区免费在线观看| 国产亚洲精品aa| 精品对白一区国产伦| 91精品国产综合久久久久久久| 色综合亚洲欧洲| 成人黄色a**站在线观看| 国产在线精品一区二区夜色| 日日夜夜精品视频免费| 天堂在线亚洲视频| 一区二区三区四区亚洲| 亚洲特黄一级片| 国产精品国产三级国产有无不卡| 久久久久久99精品| 久久久九九九九| 国产婷婷精品av在线| 国产亚洲欧美激情| 国产日韩一级二级三级| 中文字幕精品一区| 国产精品乱码一区二区三区软件 | 欧美女孩性生活视频| 色视频成人在线观看免| 色94色欧美sute亚洲线路一久| 99精品视频一区二区| 99re这里只有精品首页| 99re热这里只有精品免费视频| 福利电影一区二区三区| hitomi一区二区三区精品| 99亚偷拍自图区亚洲| 91麻豆国产精品久久| 在线观看日韩av先锋影音电影院| 欧美视频第二页| 欧美一区二区在线观看| 精品免费视频一区二区| 国产日韩欧美a| 亚洲人xxxx| 日本欧美一区二区三区| 国产在线麻豆精品观看| 欧美电影影音先锋| 51精品秘密在线观看| 欧美成人精品福利| 国产欧美日产一区| 一区二区三区精密机械公司| 日韩av中文在线观看| 国内精品国产三级国产a久久| 国产一区二区调教| 成人精品国产福利| 欧美性猛交xxxx乱大交退制版| 欧美一卡二卡三卡| 亚洲国产成人在线| 一区二区三区国产精品| 狠狠色丁香久久婷婷综合_中| 国产成人免费视频网站高清观看视频| www.亚洲人| 日韩一卡二卡三卡| 亚洲桃色在线一区| 精品一二三四区| 成人av在线播放网站| 91精品国产综合久久精品麻豆 | 亚洲午夜精品在线| 国产乱色国产精品免费视频| av中文字幕亚洲| 欧美一区二区福利在线| 自拍偷拍亚洲激情| 精品一区二区三区在线观看国产| 91视频你懂的| 亚洲精品一区二区三区在线观看| 亚洲精品免费一二三区| 国产一区二区精品久久| 欧美日韩国产123区| 国产精品污www在线观看| 日本欧美一区二区三区乱码 | 日韩精品资源二区在线| 一区二区三区.www| 成人精品小蝌蚪| 欧美成人午夜电影| 性欧美疯狂xxxxbbbb| 不卡的av中国片| 久久网这里都是精品| 三级欧美在线一区| 91久久精品国产91性色tv| 国产亚洲午夜高清国产拍精品 | 亚洲一区免费视频| 成人手机电影网| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 一区在线播放视频| 国产成人久久精品77777最新版本| 91精品国产综合久久久久久| 亚洲精品中文在线影院| 99久久精品国产精品久久| 国产日韩欧美精品电影三级在线| 美女视频黄免费的久久 | 久久久精品2019中文字幕之3| 日韩电影免费一区| 欧美日韩精品欧美日韩精品一综合| 中文字幕不卡在线观看| 国产成人免费在线视频| 一区二区三区免费网站| av成人免费在线| 国产精品视频一区二区三区不卡| 国产精品888| 国产欧美日本一区二区三区| 国产成人免费在线| 欧美激情一区在线观看| 国产成人欧美日韩在线电影|