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

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

?? mca25.c

?? 基于AVRETH1的最新網絡軟件
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*,-----------------------------------------------------------------------------------------.| io/mca25|-----------------------------------------------------------------------------------------| this file implements the communcation protocol used by sony ericcsons mca25 handy camera| - based on my mca25 code shipped with the rtl8019 webservercode| - enhanced by some ideas from jesper| - mca25 packetsize can be freely configured -> use full ethernet buffer -> faster|| BUGS:| - sometimes the camera hangs during mux7 etc -> but cam is then restartet| - retransfer if there was a lost packet is NOT TESTED !!|| Author   : {{removed according to contest rules}}|            -> circuitcellar.com avr design contest 2006|            -> Entry #AT2616||-----------------------------------------------------------------------------------------| License:| This program is free software; you can redistribute it and/or modify it under| the terms of the GNU General Public License as published by the Free Software| Foundation; either version 2 of the License, or (at your option) any later| version.| This program is distributed in the hope that it will be useful, but|| WITHOUT ANY WARRANTY;|| without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR| PURPOSE. See the GNU General Public License for more details.|| You should have received a copy of the GNU General Public License along with| this program; if not, write to the Free Software Foundation, Inc., 51| Franklin St, Fifth Floor, Boston, MA 02110, USA|| http://www.gnu.de/gpl-ger.html`-----------------------------------------------------------------------------------------*/#include "mca25.h"#include "led.h"//ACTIVATE DEBUG by editing this file:#include "debug.h"//start JPG magicPROGMEM char MCA25_START_JPG[] = {0xF9,0x81,0xEF,0x3F,0x83,0x00,0x82,0x71,0x00,0x58,0x3C,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x69,0x6E,0x67,0x2D,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x76,0x65,0x72,0x73,0x69,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x74,0x61,0x6B,0x65,0x2D,0x70,0x69,0x63,0x3D,0x22,0x4E,0x4F,0x22,0x20,0x73,0x65,0x6E,0x64,0x2D,0x70,0x69,0x78,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x65,0x6C,0x2D,0x73,0x69,0x7A,0x65,0x3D,0x22,0x36,0x34,0x30,0x2A,0x34,0x38,0x30,0x22,0x20,0x7A,0x6F,0x6F,0x6D,0x3D,0x22,0x31,0x30,0x22,0x2F,0x3E,0x42,0x00,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x21,0x78,0x2D,0x62,0x74,0x2F,0x69,0x6D,0x61,0x67,0x69,0x6E,0x67,0x2D,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x69,0x6E,0x67,0x2D,0x69,0x6D,0x61,0x67,0x65,0x00,0x8C,0xF9,0xF9,0x81,0xEF,0x0D,0x4C,0x00,0x06,0x06,0x01,0x80,0x4B,0xF9};//start capturing magicPROGMEM char MCA25_START_CAPTURING[] = {//part 10xF9,0x81,0xEF,0x3F,0x83,0x00,0x69,0x71,0x00,0x3F,0x3C,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x69,0x6E,0x67,0x2D,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x20,0x76,0x65,0x72,0x73,0x69,0x8C,0xF9,//part 20xF9,0x81,0xEF,0x3F,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x74,0x61,0x6B,0x65,0x2D,0x70,0x69,0x63,0x3D,0x22,0x59,0x45,0x53,0x22,0x20,0x7A,0x6F,0x6F,0x6D,0x3D,0x22,0x31,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x30,0x22,0x2F,0x3E,0x42,0x00,0x21,0x78,0x2D,0x62,0x74,0x2F,0x69,0x6D,0x61,0x67,0x69,0x6E,0x67,0x2D,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x69,0x6E,0x67,0x2D,0x8C,0xF9,//part 30xF9,0x81,0xEF,0x19,0x69,0x6D,0x61,0x67,0x65,0x00,0x4C,0x00,0x06,0x06,0x01,0x80,0x50,0xF9};//configure cam magicPROGMEM char MCA25_CONFIG_640x480[] = {0xF9,0x81,0xEF,0x3F,0x82,0x01,0x3B,0x01,0x00,0x03,0x49,0x01,0x35,0x3C,0x63,0x61,0x6D,0x65,0x72,0x61,0x2D,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x20,0x76,0x65,0x72,0x73,0x69,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x6F,0x6E,0x3D,0x22,0x31,0x2E,0x30,0x22,0x20,0x77,0x68,0x69,0x74,0x65,0x2D,0x62,0x61,0x6C,0x61,0x6E,0x63,0x65,0x3D,0x22,0x4F,0x46,0x46,0x22,0x20,0x63,0x6F,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x6C,0x6F,0x72,0x2D,0x63,0x6F,0x6D,0x70,0x65,0x6E,0x73,0x61,0x74,0x69,0x6F,0x6E,0x3D,0x22,0x31,0x33,0x22,0x20,0x66,0x75,0x6E,0x2D,0x6C,0x61,0x79,0x65,0x72,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x3D,0x22,0x30,0x22,0x3E,0x3C,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x69,0x6E,0x67,0x2D,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x65,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x67,0x3D,0x22,0x45,0x42,0x4D,0x50,0x22,0x20,0x70,0x69,0x78,0x65,0x6C,0x2D,0x73,0x69,0x7A,0x65,0x3D,0x22,0x38,0x30,0x2A,0x36,0x30,0x22,0x20,0x63,0x6F,0x6C,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x6F,0x72,0x2D,0x64,0x65,0x70,0x74,0x68,0x3D,0x22,0x38,0x22,0x2F,0x3E,0x0D,0x0A,0x3C,0x74,0x68,0x75,0x6D,0x62,0x6E,0x61,0x69,0x6C,0x2D,0x66,0x6F,0x72,0x6D,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x61,0x74,0x20,0x65,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x67,0x3D,0x22,0x45,0x42,0x4D,0x50,0x22,0x20,0x70,0x69,0x78,0x65,0x6C,0x2D,0x73,0x69,0x7A,0x65,0x3D,0x22,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x31,0x30,0x31,0x2A,0x38,0x30,0x22,0x20,0x63,0x6F,0x6C,0x6F,0x72,0x2D,0x64,0x65,0x70,0x74,0x68,0x3D,0x22,0x38,0x22,0x2F,0x3E,0x0D,0x0A,0x3C,0x6E,0x61,0x74,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x69,0x76,0x65,0x2D,0x66,0x6F,0x72,0x6D,0x61,0x74,0x20,0x65,0x6E,0x63,0x6F,0x64,0x69,0x6E,0x67,0x3D,0x22,0x22,0x20,0x70,0x69,0x78,0x65,0x6C,0x2D,0x73,0x69,0x8C,0xF9,0xF9,0x81,0xEF,0x3F,0x7A,0x65,0x3D,0x22,0x36,0x34,0x30,0x2A,0x34,0x38,0x30,0x22,0x2F,0x3E,0x0D,0x0A,0x3C,0x2F,0x63,0x61,0x6D,0x65,0x72,0x61,0x2D,0x73,0x65,0x74,0x74,0x69,0x6E,0x8C,0xF9,0xF9,0x81,0xEF,0x0B,0x67,0x73,0x3E,0x0D,0x0A,0xAF,0xF9};//global varsunsigned char mca25_pic_state;unsigned char mca25_allocated_for_socket;unsigned char mca25_allocated_timeout;unsigned char mca25_buffer[MCA25_COMM_BUFFER_LEN];unsigned char mca25_ready;unsigned char mca25_mux_buffer[6];unsigned long mca25_datapos;unsigned char mca25_jpg_state;unsigned char mca25_is_rev017;#if 0unsigned char mca25_brightness;//estimate picture brightness, might be used to switch led light only if necessaryvoid mca25_estimate_brightness(unsigned char val){	//pixel is rgb332, we use rgb222 only!	unsigned char tmp = (((val&0xC0)>>6) + ((val&0x18)>>3) + (val&0x3));	mca25_brightness += tmp;}#endif//send data ackvoid mca25_send_data_ack(void){	mca25_puts_progmem("\xF9\x81\xEF\x07\x83\x00\x03\xA6\xF9");}//handle channel 0x23 datavoid mca25_handle_channel_x23(void){	if (mca25_mux_buffer[1] == 0xEF){		//UIH		if (string_compare_progmem_plen("AT*ECUR=", mca25_buffer)){			//ack current request packets:			// -> send mux "\r\nOK\r\n" packet:			mca25_puts_progmem("\xF9\x21\xEF\x0D\x0D\x0A\x4F\x4B\x0D\x0A\x48\xF9");		}else{			#if MCA25_DEBUG			softuart_putc('u');			#endif		}	}else if (mca25_mux_buffer[1] == 0x3F){		//SABM		mca25_puts_progmem("\xF9\x23\x73\x01\x02\xF9");	}}//handle channel 0x03 datavoid mca25_handle_channel_x03(void){	if (mca25_mux_buffer[1] == 0xEF){		//UIH		if (string_compare_progmem_plen("\xE1\x07\x23\x0C\x01", mca25_buffer)){			mca25_puts_progmem("\xF9\x01\xEF\x0B\xE3\x07\x23\x0C\x01\x79\xF9");		}else{			#if MCA25_DEBUG			softuart_putc('v');			#endif		}	}else if (mca25_mux_buffer[1] == 0x3F){		//SABM		mca25_puts_progmem("\xF9\x03\x73\x01\xD7\xF9");	}}//cleanup dead connection -> run this every second !void mca25_cleanup(void){	if (mca25_pic_state != MCA25_PIC_STATE_IDLE){		if (mca25_allocated_timeout == 0){			#if MCA25_DEBUG			softuart_puts_progmem("CAM : allocation to socket ");			softuart_put_uint8(mca25_allocated_for_socket);			softuart_puts_progmem(" removed");			softuart_putnewline();			#endif				mca25_pic_state = MCA25_PIC_STATE_IDLE;		}else{			mca25_allocated_timeout--;		}	}}//grab jpg data & store in bufferunsigned int mca25_grab_data(char *buffer, unsigned int datalen, unsigned long pos, unsigned char socketnum){	int skip_count=0;	unsigned char state=0;		mca25_allocated_timeout = 5; //5sec timeout	//cam is used by another user -> abort	if ((mca25_pic_state != MCA25_PIC_STATE_IDLE) && (mca25_allocated_for_socket != socketnum)){		return 0xFFFE;	}	//cam is no longer working -> reset !	if ((mca25_pic_state == MCA25_PIC_STATE_CAM_ERROR) || (mca25_ready == 0)){		//cam not initialised or missing!		#if MCA25_DEBUG		softuart_puts_progmem("CAM : grab -> cam error -> retry init!");		softuart_putnewline();		#endif		mca25_init_cam();		mca25_configure();		//return 0xFFFF; //-> abort this image !	}	//we need to do a preview image:	if (mca25_pic_state == MCA25_PIC_STATE_IDLE){		mca25_start_image_grab(socketnum);	}		#if 1	softuart_puts_progmem("CAM : req byte ");	softuart_put_uint16(pos);	softuart_puts_progmem(" cur pos is: ");	softuart_put_uint16(mca25_datapos);	softuart_putnewline();	//tcp stack requested data bytes we do no longer have...	//hack: dont touch ethernetbuffer & hope that data is still available.	//      if buffer was used during last transfer -> picture will have errors...	if (pos<mca25_datapos){		int adjust = (mca25_datapos-pos)-512;		if (adjust == 0){			//perfect			return 512;		}else if(adjust > 0){			//we must shift the data:			for(unsigned int a=0; a<512; a++){				if (a+adjust <= 512)					buffer[a] = buffer[a+adjust];			}			return adjust; //#adjusted bytes data		}else{			//>512 bytes of data seems to be lost -> no way to fix it...			//-> dont touch the buffer, maybe we can use the data later ...			return (adjust%512);		}	}else if(pos>mca25_datapos){		//?! how could that happen ?		//FIXME:		//1) ignore the missing data & continue		//2) skip camera data until we have the requestet data packet...		//-> use (1), change to 2 later ?!	}#endif	#if MCA25_DEBUG	/*softuart_puts_progmem("CAM : grab data starting at byte ");	softuart_put_uint16(pos>>16);	softuart_put_uint16(pos&0xFFFF);	softuart_puts_progmem(", current pos is ");	softuart_put_uint16(mca25_datapos>>16);	softuart_put_uint16(mca25_datapos&0xFFFF);	softuart_putnewline();*/	#endif	unsigned int dcnt=0;	unsigned int res=0;	unsigned int bufpos=0;	//we have received data -> send an ack !	if ((mca25_pic_state == MCA25_PIC_STATE_JPG_DATA) || (mca25_pic_state ==  MCA25_PIC_STATE_LAST_DATA)){		mca25_send_data_ack();	}	//do the statemachine	while (state != 100){		if (state == 0)			res = mca25_read_mux_packet(&buffer[bufpos],6);		else			res = mca25_read_mux_packet(&buffer[bufpos],0);		if (res == 0){			#if MCA25_DEBUG 			softuart_puts_progmem("TIMEOUT! (MUX J)");			softuart_putnewline();			softuart_puts_progmem("dcount=");			softuart_put_uint16(dcnt);			softuart_putnewline();			#endif			//cam error, disable !			mca25_ready = 0;			return 0xFFFF; //read failed -> exit!; 		}			if (bufpos>datalen){			#if MCA25_DEBUG 			softuart_puts_progmem("CAM : buf overflow! ");			softuart_put_uint16(skip_count);			softuart_put_uint16(bufpos);			softuart_putnewline();			#endif			return 0xFFFF;		}		//new version, thanks to jesper ;)		//softuart_put_uint8(mca25_buffer[1]);		if ((mca25_mux_buffer[0] == 0x83) && (mca25_mux_buffer[1] == 0xEF) ){ //data channel & UIH packet				dcnt++;								switch (state){					case 0: //check how many bytes cam want to send						skip_count = ((int)mca25_mux_buffer[4]<<8) + mca25_mux_buffer[5];						if (skip_count > datalen){							skip_count = datalen;						}												if (skip_count > 3){							//only handle data packets -> ignore packets smaller 3 bytes (=acks)							skip_count    -= ((mca25_mux_buffer[2])>>1);							bufpos        += (mca25_mux_buffer[2]>>1)-6;							//last data packet ?!							if (mca25_mux_buffer[3] == 0xA0){								mca25_pic_state = MCA25_PIC_STATE_LAST_DATA; //no more data							}else{								mca25_pic_state = MCA25_PIC_STATE_JPG_DATA; //middle of pic							}							state = 1;														if (skip_count <= 0){								//softuart_putc('.');								if (mca25_pic_state == MCA25_PIC_STATE_LAST_DATA){									mca25_send_data_ack();									//reconfigure mux channel (?!)									mca25_puts_progmem("\xF9\x01\xEF\x0B\xE3\x07\x23\x0C\x01\x79\xF9");									mca25_pic_state = MCA25_PIC_STATE_IDLE;									mca25_datapos += bufpos;									return bufpos;								}else{									mca25_datapos += bufpos;							    return 0;								}							}						}						break;					case 2:					case 1:						skip_count    -= ((mca25_mux_buffer[2])>>1);						bufpos        += (mca25_mux_buffer[2]>>1)-0;							if (skip_count <= 0){							//softuart_putc('.');							if (mca25_pic_state == MCA25_PIC_STATE_LAST_DATA){								mca25_send_data_ack();								//reconfigure mux channel (?!)								mca25_puts_progmem("\xF9\x01\xEF\x0B\xE3\x07\x23\x0C\x01\x79\xF9");								mca25_pic_state = MCA25_PIC_STATE_IDLE;								mca25_datapos += bufpos;								return bufpos; //last data packet !							}else{								mca25_datapos += bufpos;								return 0; //state = 100;							}						}						break;					default:						break;				} //case				//softuart_put_uint16(skip_count);			}else if (mca25_mux_buffer[0] == 0x23){				//channel 0x23				mca25_handle_channel_x23();			}else if (mca25_mux_buffer[0] == 0x03){ 				//channel 0x03				mca25_handle_channel_x03();			}else{				/*for(unsigned char f=0; f<40; f++){					softuart_put_uint8(f);					softuart_putc('>');					softuart_put_uint8(mca25_buffer[f]);					softuart_putnewline();				}softuart_putnewline();softuart_putnewline();*/			}		}			//softuart_puts_progmem("count=");		//softuart_put_uint16(dcnt);		//preview image #i has been grabbed.		#if MCA25_DEBUG		softuart_putc(' ');		#endif		return 0xFFFF;}//start image grab, grab preview pictures and send jpg requestunsigned char mca25_start_image_grab(unsigned char socketnum){	unsigned char state;	unsigned char datapos;	int skip_count=0;	//switch light on (slow fade in !)	//mpf10_fade(MPF10_FADE_IN);	//without soft fade in:	MPF10_ENABLE();	//reset global data byte counter		mca25_datapos = 0;	//allocate cam to current socket	mca25_allocated_for_socket = socketnum;	//reset state	mca25_pic_state = MCA25_PIC_STATE_IDLE; //not ready	if (mca25_ready == 0){		//cam not initialised or missing!		#if MCA25_DEBUG		softuart_puts_progmem("CAM : cam not initialised or missing -> abort.");		softuart_putnewline();		#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品欧美综合四区| 欧美极品aⅴ影院| **性色生活片久久毛片| 六月丁香婷婷色狠狠久久| 在线亚洲一区观看| 国产蜜臀av在线一区二区三区| 亚洲.国产.中文慕字在线| 成人国产视频在线观看| 欧美精品一区二区三区四区 | 欧美成人性福生活免费看| 一区二区三区加勒比av| 成人福利视频在线看| 精品1区2区在线观看| 日日摸夜夜添夜夜添精品视频| 99久久精品国产观看| 欧美国产精品v| 狠狠色丁香婷综合久久| 欧美一区二区三区色| 亚洲一区二区三区视频在线 | 日日摸夜夜添夜夜添精品视频| 一本一道综合狠狠老| 国产精品久久777777| 国产乱码精品一品二品| 精品久久久三级丝袜| 美国毛片一区二区| 欧美一级在线观看| 图片区小说区区亚洲影院| 欧美在线观看一区| 亚洲一区二区三区不卡国产欧美| 91视频91自| 亚洲精品亚洲人成人网| 色婷婷香蕉在线一区二区| 亚洲女同ⅹxx女同tv| 色综合一区二区| 在线免费观看一区| 亚洲精品免费视频| 91一区二区三区在线观看| 亚洲色图清纯唯美| 色婷婷激情综合| 亚洲一区二区在线视频| 欧美日韩在线播放三区四区| 一区二区国产盗摄色噜噜| 欧美性三三影院| 亚洲18影院在线观看| 欧美一区二区三区视频在线 | 一二三四社区欧美黄| 91成人在线精品| 亚洲大片精品永久免费| 欧美顶级少妇做爰| 美脚の诱脚舐め脚责91| 2020国产成人综合网| 国产不卡视频一区二区三区| 中国色在线观看另类| 91免费精品国自产拍在线不卡| 中文字幕日本乱码精品影院| 日本韩国欧美一区| 五月婷婷久久丁香| 日韩欧美国产系列| 国产福利一区二区三区视频 | 欧美另类z0zxhd电影| 奇米色一区二区| 精品国产一区二区精华| 成人性色生活片免费看爆迷你毛片| 国产精品天干天干在线综合| 色偷偷成人一区二区三区91| 午夜欧美电影在线观看| 精品国产百合女同互慰| www.亚洲精品| 亚洲一区影音先锋| 欧美sm极限捆绑bd| 成人免费视频国产在线观看| 亚洲精品视频免费看| 欧美一区中文字幕| 国产成人免费在线视频| 亚洲激情自拍偷拍| 日韩视频免费直播| 成人免费电影视频| 亚洲成人av一区二区三区| 精品欧美黑人一区二区三区| zzijzzij亚洲日本少妇熟睡| 亚洲国产一区二区三区青草影视| 日韩免费高清av| 波多野结衣欧美| 丝袜诱惑亚洲看片| 欧美国产97人人爽人人喊| 欧美性xxxxxx少妇| 国产一区二区三区高清播放| 亚洲黄色小视频| 精品卡一卡二卡三卡四在线| 99精品久久免费看蜜臀剧情介绍| 日韩中文字幕1| 国产精品女主播av| 91精品欧美福利在线观看| 懂色av一区二区三区免费观看 | 久久午夜免费电影| 在线中文字幕不卡| 国产福利91精品一区| 亚洲一区二区三区四区在线| 久久久久久日产精品| 欧美午夜精品一区二区三区| 国产一区二区三区免费| 香蕉av福利精品导航| 亚洲国产高清aⅴ视频| 91麻豆精品国产91久久久久久久久 | 午夜精品一区二区三区免费视频| 久久久亚洲精品一区二区三区 | av欧美精品.com| 久久精品国产第一区二区三区| 中文字幕一区二区三区在线播放 | 欧美三日本三级三级在线播放| 国产乱码精品一区二区三区五月婷| 一区二区三区美女视频| 国产精品区一区二区三区| 日韩午夜激情电影| 欧美吻胸吃奶大尺度电影| 国产精品 欧美精品| 日本不卡一区二区| 一区二区不卡在线播放| 中文字幕免费不卡| 精品日韩一区二区三区 | 成人三级伦理片| 久草在线在线精品观看| 天天综合天天综合色| 亚洲精选视频免费看| 国产精品青草久久| 久久久久久久久久久久久夜| 欧美一区二区三区日韩视频| 欧美在线免费观看视频| 91麻豆自制传媒国产之光| 国产成人精品一区二| 国产专区综合网| 美国av一区二区| 日日摸夜夜添夜夜添国产精品| 亚洲一区二区在线播放相泽| 综合av第一页| 中文字幕不卡三区| 亚洲国产精品av| 国产欧美综合色| 国产欧美日韩综合| 国产日韩欧美a| 久久久国产精品午夜一区ai换脸| 精品久久久久久亚洲综合网 | 精品视频在线看| 欧美午夜寂寞影院| 欧美午夜电影网| 欧美私人免费视频| 欧美日韩国产一级| 欧美日韩大陆一区二区| 欧美日韩国产在线播放网站| 欧美三级一区二区| 欧美区视频在线观看| 欧美精三区欧美精三区| 欧美精品乱码久久久久久按摩| 欧美精品18+| 欧美一区二区播放| 日韩精品中午字幕| 欧美精品一区二区三区高清aⅴ| 精品久久久久久久久久久久久久久久久 | 久久亚洲欧美国产精品乐播| 欧美成人官网二区| 久久先锋影音av鲁色资源| 久久亚洲精精品中文字幕早川悠里| www欧美成人18+| 国产色一区二区| 国产精品蜜臀av| 日本欧美韩国一区三区| 精品国产凹凸成av人导航| 久久精品夜色噜噜亚洲a∨| 亚洲国产精品精华液2区45| 美女一区二区在线观看| 日本免费在线视频不卡一不卡二 | 蜜桃av噜噜一区| 国产麻豆91精品| 成人av免费在线观看| 在线亚洲人成电影网站色www| 欧美撒尿777hd撒尿| 欧美一区二区视频在线观看| 欧美tickling挠脚心丨vk| 国产日韩在线不卡| 亚洲免费成人av| 天涯成人国产亚洲精品一区av| 久久成人免费网站| 成人免费av资源| 欧美色精品在线视频| 日韩免费观看2025年上映的电影| 国产视频一区二区在线| 亚洲欧美日韩中文播放| 日韩在线观看一区二区| 国产在线一区观看| 91亚洲男人天堂| 欧美一卡二卡三卡| 中文字幕成人网| 亚洲国产视频a| 狠狠色丁香婷综合久久| 99vv1com这只有精品| 欧美精品高清视频| 欧美极品另类videosde| 亚洲一级二级三级在线免费观看| 麻豆精品在线播放| www.久久久久久久久|