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

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

?? ov511.c

?? 本源代碼為USB攝像頭的驅動程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * OmniVision OV511 Camera-to-USB Bridge Driver * * Copyright (c) 1999-2001 Mark W. McClelland * Original decompression code Copyright 1998-2000 OmniVision Technologies * Many improvements by Bret Wallach <bwallac1@san.rr.com> * Color fixes by by Orion Sky Lawlor <olawlor@acm.org> (2/26/2000) * Snapshot code by Kevin Moore * OV7620 fixes by Charl P. Botha <cpbotha@ieee.org> * Changes by Claudio Matsuoka <claudio@conectiva.com> * Original SAA7111A code by Dave Perks <dperks@ibm.net> * Kernel I2C interface adapted from nt1003 driver * * Based on the Linux CPiA driver written by Peter Pregler, * Scott J. Bertin and Johannes Erdfelt. *  * Please see the file: linux/Documentation/usb/ov511.txt  * and the website at:  http://alpha.dyndns.org/ov511 * for more info. * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. */#include <linux/config.h>#include <linux/version.h>#include <linux/module.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/vmalloc.h>#include <linux/slab.h>#include <linux/proc_fs.h>#include <linux/ctype.h>#include <linux/pagemap.h>#include <asm/io.h>#include <asm/semaphore.h>#include <asm/processor.h>#include <linux/wrapper.h>#if defined (__i386__)	#include <asm/cpufeature.h>#endif#include "ov511.h"/* * Version Information */#define DRIVER_VERSION "v1.48a for Linux 2.4"#define EMAIL "mmcclell@bigfoot.com"#define DRIVER_AUTHOR "Mark McClelland <mmcclell@bigfoot.com> & Bret Wallach \	& Orion Sky Lawlor <olawlor@acm.org> & Kevin Moore & Charl P. Botha \	<cpbotha@ieee.org> & Claudio Matsuoka <claudio@conectiva.com>"#define DRIVER_DESC "OV511 USB Camera Driver"#define OV511_I2C_RETRIES 3#define ENABLE_Y_QUANTABLE 1#define ENABLE_UV_QUANTABLE 1/* Pixel count * 3 bytes for RGB */#define MAX_FRAME_SIZE(w, h) ((w) * (h) * 3)#define MAX_DATA_SIZE(w, h) (MAX_FRAME_SIZE(w, h) + sizeof(struct timeval))/* Max size * bytes per YUV420 pixel (1.5) + one extra isoc frame for safety */#define MAX_RAW_DATA_SIZE(w, h) ((w) * (h) * 3 / 2 + 1024)#define FATAL_ERROR(rc) ((rc) < 0 && (rc) != -EPERM)/* PARAMETER VARIABLES: *//* (See ov511.txt for detailed descriptions of these.) *//* Sensor automatically changes brightness */static int autobright = 1;/* Sensor automatically changes gain */static int autogain = 1;/* Sensor automatically changes exposure */static int autoexp = 1;/* 0=no debug messages * 1=init/detection/unload and other significant messages, * 2=some warning messages * 3=config/control function calls * 4=most function calls and data parsing messages * 5=highly repetitive mesgs * NOTE: This should be changed to 0, 1, or 2 for production kernels */static int debug; /* = 0 *//* Fix vertical misalignment of red and blue at 640x480 */static int fix_rgb_offset; /* = 0 *//* Snapshot mode enabled flag */static int snapshot; /* = 0 *//* Force image to be read in RGB instead of BGR. This option allow * programs that expect RGB data (e.g. gqcam) to work with this driver. */static int force_rgb; /* = 0 *//* Number of seconds before inactive buffers are deallocated */static int buf_timeout = 5;/* Number of cameras to stream from simultaneously */static int cams = 1;/* Enable compression. Needs a fast (>300 MHz) CPU. */static int compress; /* = 0 *//* Display test pattern - doesn't work yet either */static int testpat; /* = 0 *//* Setting this to 1 will make the sensor output GBR422 instead of YUV420. Only * affects RGB24 mode. */static int sensor_gbr; /* = 0 *//* Dump raw pixel data. */static int dumppix; /* = 0 *//* LED policy. Only works on some OV511+ cameras. 0=off, 1=on (default), 2=auto * (on when open) */static int led = 1;/* Set this to 1 to dump the bridge register contents after initialization */static int dump_bridge; /* = 0 *//* Set this to 1 to dump the sensor register contents after initialization */static int dump_sensor; /* = 0 *//* Temporary option for debugging "works, but no image" problem. Prints the * first 12 bytes of data (potentially a packet header) in each isochronous * data frame. */static int printph; /* = 0 *//* Compression parameters - I'm not exactly sure what these do yet */static int phy = 0x1f;static int phuv = 0x05;static int pvy = 0x06;static int pvuv = 0x06;static int qhy = 0x14;static int qhuv = 0x03;static int qvy = 0x04;static int qvuv = 0x04;/* Light frequency. Set to 50 or 60 (Hz), or zero for default settings */static int lightfreq; /* = 0 *//* Set this to 1 to enable banding filter by default. Compensates for * alternating horizontal light/dark bands caused by (usually fluorescent) * lights */static int bandingfilter; /* = 0 *//* Pixel clock divisor */static int clockdiv = -1;/* Isoc packet size */static int packetsize = -1;/* Frame drop register (16h) */static int framedrop = -1;/* Allows picture settings (brightness, hue, etc...) to take effect immediately, * even in the middle of a frame. This reduces the time to change settings, but * can ruin frames during the change. Only affects OmniVision sensors. */static int fastset; /* = 0 *//* Forces the palette to a specific value. If an application requests a * different palette, it will be rejected. */static int force_palette; /* = 0 *//* Set tuner type, if not autodetected */static int tuner = -1;/* Allows proper exposure of objects that are illuminated from behind. Only * affects OmniVision sensors. */static int backlight; /* = 0 *//* If you change this, you must also change the MODULE_PARM definition */#define OV511_MAX_UNIT_VIDEO 16/* Allows specified minor numbers to be forced. They will be assigned in the * order that devices are detected. Note that you cannot specify 0 as a minor * number. If you do not specify any, the next available one will be used. This * requires kernel 2.4.5 or later. */static int unit_video[OV511_MAX_UNIT_VIDEO];/* Remove zero-padding from uncompressed incoming data. This will compensate for * the blocks of corruption that appear when the camera cannot keep up with the * speed of the USB bus (eg. at low frame resolutions) */static int remove_zeros; /* = 0 */MODULE_PARM(autobright, "i");MODULE_PARM_DESC(autobright, "Sensor automatically changes brightness");MODULE_PARM(autogain, "i");MODULE_PARM_DESC(autogain, "Sensor automatically changes gain");MODULE_PARM(autoexp, "i");MODULE_PARM_DESC(autoexp, "Sensor automatically changes exposure");MODULE_PARM(debug, "i");MODULE_PARM_DESC(debug,  "Debug level: 0=none, 1=inits, 2=warning, 3=config, 4=functions, 5=max");MODULE_PARM(fix_rgb_offset, "i");MODULE_PARM_DESC(fix_rgb_offset,  "Fix vertical misalignment of red and blue at 640x480");MODULE_PARM(snapshot, "i");MODULE_PARM_DESC(snapshot, "Enable snapshot mode");MODULE_PARM(force_rgb, "i");MODULE_PARM_DESC(force_rgb, "Read RGB instead of BGR");MODULE_PARM(buf_timeout, "i");MODULE_PARM_DESC(buf_timeout, "Number of seconds before buffer deallocation");MODULE_PARM(cams, "i");MODULE_PARM_DESC(cams, "Number of simultaneous cameras");MODULE_PARM(compress, "i");MODULE_PARM_DESC(compress, "Turn on compression (not reliable yet)");MODULE_PARM(testpat, "i");MODULE_PARM_DESC(testpat,  "Replace image with vertical bar testpattern (only partially working)");// Temporarily removed (needs to be rewritten for new format conversion code)// MODULE_PARM(sensor_gbr, "i");// MODULE_PARM_DESC(sensor_gbr, "Make sensor output GBR422 rather than YUV420");MODULE_PARM(dumppix, "i");MODULE_PARM_DESC(dumppix, "Dump raw pixel data");MODULE_PARM(led, "i");MODULE_PARM_DESC(led,  "LED policy (OV511+ or later). 0=off, 1=on (default), 2=auto (on when open)");MODULE_PARM(dump_bridge, "i");MODULE_PARM_DESC(dump_bridge, "Dump the bridge registers");MODULE_PARM(dump_sensor, "i");MODULE_PARM_DESC(dump_sensor, "Dump the sensor registers");MODULE_PARM(printph, "i");MODULE_PARM_DESC(printph, "Print frame start/end headers");MODULE_PARM(phy, "i");MODULE_PARM_DESC(phy, "Prediction range (horiz. Y)");MODULE_PARM(phuv, "i");MODULE_PARM_DESC(phuv, "Prediction range (horiz. UV)");MODULE_PARM(pvy, "i");MODULE_PARM_DESC(pvy, "Prediction range (vert. Y)");MODULE_PARM(pvuv, "i");MODULE_PARM_DESC(pvuv, "Prediction range (vert. UV)");MODULE_PARM(qhy, "i");MODULE_PARM_DESC(qhy, "Quantization threshold (horiz. Y)");MODULE_PARM(qhuv, "i");MODULE_PARM_DESC(qhuv, "Quantization threshold (horiz. UV)");MODULE_PARM(qvy, "i");MODULE_PARM_DESC(qvy, "Quantization threshold (vert. Y)");MODULE_PARM(qvuv, "i");MODULE_PARM_DESC(qvuv, "Quantization threshold (vert. UV)");MODULE_PARM(lightfreq, "i");MODULE_PARM_DESC(lightfreq,  "Light frequency. Set to 50 or 60 Hz, or zero for default settings");MODULE_PARM(bandingfilter, "i");MODULE_PARM_DESC(bandingfilter,  "Enable banding filter (to reduce effects of fluorescent lighting)");MODULE_PARM(clockdiv, "i");MODULE_PARM_DESC(clockdiv, "Force pixel clock divisor to a specific value");MODULE_PARM(packetsize, "i");MODULE_PARM_DESC(packetsize, "Force a specific isoc packet size");MODULE_PARM(framedrop, "i");MODULE_PARM_DESC(framedrop, "Force a specific frame drop register setting");MODULE_PARM(fastset, "i");MODULE_PARM_DESC(fastset, "Allows picture settings to take effect immediately");MODULE_PARM(force_palette, "i");MODULE_PARM_DESC(force_palette, "Force the palette to a specific value");MODULE_PARM(tuner, "i");MODULE_PARM_DESC(tuner, "Set tuner type, if not autodetected");MODULE_PARM(backlight, "i");MODULE_PARM_DESC(backlight, "For objects that are lit from behind");MODULE_PARM(unit_video, "0-16i");MODULE_PARM_DESC(unit_video,  "Force use of specific minor number(s). 0 is not allowed.");MODULE_PARM(remove_zeros, "i");MODULE_PARM_DESC(remove_zeros,  "Remove zero-padding from uncompressed incoming data");MODULE_AUTHOR(DRIVER_AUTHOR);MODULE_DESCRIPTION(DRIVER_DESC);MODULE_LICENSE("GPL");static struct usb_driver ov511_driver;static struct ov51x_decomp_ops *ov511_decomp_ops;static struct ov51x_decomp_ops *ov511_mmx_decomp_ops;static struct ov51x_decomp_ops *ov518_decomp_ops;static struct ov51x_decomp_ops *ov518_mmx_decomp_ops;/* Number of times to retry a failed I2C transaction. Increase this if you * are getting "Failed to read sensor ID..." */static int i2c_detect_tries = 5;/* MMX support is present in kernel and CPU. Checked upon decomp module load. */static int ov51x_mmx_available;/* Function prototypes */static void ov51x_clear_snapshot(struct usb_ov511 *);static int ov51x_check_snapshot(struct usb_ov511 *);static inline int sensor_get_picture(struct usb_ov511 *, 				     struct video_picture *);static int sensor_get_exposure(struct usb_ov511 *, unsigned char *);static int ov511_control_ioctl(struct inode *, struct file *, unsigned int,			       unsigned long);/********************************************************************** * List of known OV511-based cameras **********************************************************************/static struct cam_list clist[] = {	{   0, "Generic Camera (no ID)" },	{   1, "Mustek WCam 3X" },	{   3, "D-Link DSB-C300" },	{   4, "Generic OV511/OV7610" },	{   5, "Puretek PT-6007" },	{   6, "Lifeview USB Life TV (NTSC)" },	{  21, "Creative Labs WebCam 3" },	{  36, "Koala-Cam" },	{  38, "Lifeview USB Life TV" },	{  41, "Samsung Anycam MPC-M10" },	{  43, "Mtekvision Zeca MV402" },	{  46, "Suma eON" },	{ 100, "Lifeview RoboCam" },	{ 102, "AverMedia InterCam Elite" },	{ 112, "MediaForte MV300" },	/* or OV7110 evaluation kit */	{  -1, NULL }};static __devinitdata struct usb_device_id device_table [] = {	{ USB_DEVICE(VEND_OMNIVISION, PROD_OV511) },	{ USB_DEVICE(VEND_OMNIVISION, PROD_OV511PLUS) },	{ USB_DEVICE(VEND_OMNIVISION, PROD_OV518) },	{ USB_DEVICE(VEND_OMNIVISION, PROD_OV518PLUS) },	{ USB_DEVICE(VEND_MATTEL, PROD_ME2CAM) },	{ }  /* Terminating entry */};MODULE_DEVICE_TABLE (usb, device_table);#if defined(CONFIG_PROC_FS) && defined(CONFIG_VIDEO_PROC_FS)static struct palette_list plist[] = {	{ VIDEO_PALETTE_GREY,	"GREY" },	{ VIDEO_PALETTE_HI240,  "HI240" },	{ VIDEO_PALETTE_RGB565, "RGB565" },	{ VIDEO_PALETTE_RGB24,	"RGB24" },	{ VIDEO_PALETTE_RGB32,	"RGB32" },	{ VIDEO_PALETTE_RGB555, "RGB555" },	{ VIDEO_PALETTE_YUV422, "YUV422" },	{ VIDEO_PALETTE_YUYV,   "YUYV" },	{ VIDEO_PALETTE_UYVY,   "UYVY" },	{ VIDEO_PALETTE_YUV420, "YUV420" },	{ VIDEO_PALETTE_YUV411, "YUV411" },	{ VIDEO_PALETTE_RAW,    "RAW" },	{ VIDEO_PALETTE_YUV422P,"YUV422P" },	{ VIDEO_PALETTE_YUV411P,"YUV411P" },	{ VIDEO_PALETTE_YUV420P,"YUV420P" },	{ VIDEO_PALETTE_YUV410P,"YUV410P" },	{ -1, NULL }};#endifstatic unsigned char yQuanTable511[] = OV511_YQUANTABLE;static unsigned char uvQuanTable511[] = OV511_UVQUANTABLE;static unsigned char yQuanTable518[] = OV518_YQUANTABLE;static unsigned char uvQuanTable518[] = OV518_UVQUANTABLE;/********************************************************************** * * Memory management * * This is a shameless copy from the USB-cpia driver (linux kernel * version 2.3.29 or so, I have no idea what this code actually does ;). * Actually it seems to be a copy of a shameless copy of the bttv-driver. * Or that is a copy of a shameless copy of ... (To the powers: is there * no generic kernel-function to do this sort of stuff?) * * Yes, it was a shameless copy from the bttv-driver. IIRC, Alan says * there will be one, but apparentely not yet -jerdfelt * * So I copied it again for the OV511 driver -claudio **********************************************************************//* Given PGD from the address space's page table, return the kernel * virtual mapping of the physical memory mapped at ADR. */static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr){	unsigned long ret = 0UL;	pmd_t *pmd;	pte_t *ptep, pte;	if (!pgd_none(*pgd)) {		pmd = pmd_offset(pgd, adr);		if (!pmd_none(*pmd)) {			ptep = pte_offset(pmd, adr);			pte = *ptep;			if (pte_present(pte)) {				ret = (unsigned long) 				      page_address(pte_page(pte));				ret |= (adr & (PAGE_SIZE - 1));			}		}	}	return ret;}/* Here we want the physical address of the memory. * This is used when initializing the contents of the * area and marking the pages as reserved. */static inline unsigned long kvirt_to_pa(unsigned long adr){	unsigned long va, kva, ret;	va = VMALLOC_VMADDR(adr);	kva = uvirt_to_kva(pgd_offset_k(va), va);	ret = __pa(kva);	return ret;}static void *rvmalloc(unsigned long size){	void *mem;	unsigned long adr, page;	/* Round it off to PAGE_SIZE */	size += (PAGE_SIZE - 1);	size &= ~(PAGE_SIZE - 1);	mem = vmalloc_32(size);	if (!mem)		return NULL;	memset(mem, 0, size); /* Clear the ram out, no junk to the user */	adr = (unsigned long) mem;	while (size > 0) {		page = kvirt_to_pa(adr);		mem_map_reserve(virt_to_page(__va(page)));		adr += PAGE_SIZE;		if (size > PAGE_SIZE)			size -= PAGE_SIZE;		else			size = 0;	}	return mem;}static void rvfree(void *mem, unsigned long size){	unsigned long adr, page;	if (!mem)		return;	size += (PAGE_SIZE - 1);	size &= ~(PAGE_SIZE - 1);	adr=(unsigned long) mem;	while (size > 0) {		page = kvirt_to_pa(adr);		mem_map_unreserve(virt_to_page(__va(page)));		adr += PAGE_SIZE;		if (size > PAGE_SIZE)			size -= PAGE_SIZE;		else			size = 0;	}	vfree(mem);}/********************************************************************** * /proc interface * Based on the CPiA driver version 0.7.4 -claudio **********************************************************************/#if defined(CONFIG_PROC_FS) && defined(CONFIG_VIDEO_PROC_FS)static struct proc_dir_entry *ov511_proc_entry = NULL;extern struct proc_dir_entry *video_proc_entry;static struct file_operations ov511_control_fops = {	ioctl:		ov511_control_ioctl,};#define YES_NO(x) ((x) ? "yes" : "no")/* /proc/video/ov511/<minor#>/info */static int ov511_read_proc_info(char *page, char **start, off_t off, int count, int *eof,		     void *data){	char *out = page;	int i, j, len;	struct usb_ov511 *ov511 = data;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区精品久久911| 在线观看一区不卡| 视频在线在亚洲| 亚洲桃色在线一区| 中文字幕乱码一区二区免费| 久久九九全国免费| 久久综合色播五月| 国产视频视频一区| 国产欧美日韩在线看| 日本一区二区久久| 国产精品久久久久久久久免费丝袜| 国产日韩欧美精品一区| 欧美国产日本视频| 亚洲精选视频免费看| 一区二区三区色| 天天综合天天综合色| 蜜桃一区二区三区四区| 六月丁香婷婷久久| 成人性视频免费网站| 色婷婷久久久亚洲一区二区三区| 色婷婷久久99综合精品jk白丝| 欧美羞羞免费网站| 日韩亚洲欧美综合| 亚洲国产激情av| 亚洲国产精品久久艾草纯爱| 日韩1区2区3区| 国产成人亚洲综合a∨婷婷| av电影一区二区| 欧美日韩视频在线观看一区二区三区 | 麻豆精品精品国产自在97香蕉| 不卡的av在线| 色婷婷久久综合| 欧美一区二区三区日韩| 国产亚洲女人久久久久毛片| 中文字幕中文字幕中文字幕亚洲无线| 亚洲国产精品久久人人爱| 狠狠色狠狠色综合系列| 91影院在线免费观看| 日韩精品资源二区在线| 亚洲免费观看高清在线观看| 蜜桃一区二区三区四区| 色中色一区二区| 欧美精品一区二区久久婷婷 | 在线免费观看日本一区| 欧美www视频| 樱花草国产18久久久久| 韩国中文字幕2020精品| 欧美亚洲国产一区二区三区va| 337p日本欧洲亚洲大胆色噜噜| 亚洲精品视频免费观看| 狠狠狠色丁香婷婷综合激情 | 欧美日韩成人在线| 国产精品色在线| 另类的小说在线视频另类成人小视频在线| 粉嫩高潮美女一区二区三区| 欧美精品色综合| 国产精品久久久久久久久免费丝袜| 成人性生交大片| 日韩欧美一卡二卡| 婷婷久久综合九色综合伊人色| a亚洲天堂av| 国产欧美在线观看一区| 日产国产高清一区二区三区| 在线观看网站黄不卡| 专区另类欧美日韩| 国产.欧美.日韩| 2021中文字幕一区亚洲| 激情五月播播久久久精品| 欧美三级电影精品| 一区二区三区中文在线| 不卡欧美aaaaa| 国产精品大尺度| 成人性视频网站| 国产精品女同互慰在线看| 成人精品小蝌蚪| 国产精品视频一区二区三区不卡| 国产做a爰片久久毛片| 精品国产1区二区| 国产一区三区三区| 精品sm捆绑视频| 黄色日韩网站视频| 久久久影视传媒| 国产.欧美.日韩| 中文字幕一区二区三区色视频| 岛国av在线一区| 亚洲欧美色一区| 在线观看av一区二区| 亚洲国产日韩a在线播放| 欧美精品第一页| 免费观看91视频大全| 精品日韩在线观看| 国产裸体歌舞团一区二区| 久久久国产综合精品女国产盗摄| 国产麻豆精品95视频| 中文字幕在线观看一区二区| 91视频观看视频| 亚洲一区视频在线| 欧美一级久久久久久久大片| 精品一区二区三区免费播放| 久久久蜜桃精品| 成人性色生活片| 亚洲成人一区二区| 欧美va亚洲va香蕉在线| 国产成人综合视频| 亚洲国产成人av网| 久久久久青草大香线综合精品| 成人一区二区三区在线观看| 亚洲激情在线激情| 日韩欧美亚洲国产精品字幕久久久| 激情欧美一区二区三区在线观看| 中文幕一区二区三区久久蜜桃| 欧美综合久久久| 黑人精品欧美一区二区蜜桃| 综合婷婷亚洲小说| 日韩欧美国产一区二区三区| 成人免费看黄yyy456| 婷婷久久综合九色综合伊人色| 久久久久久一级片| 在线成人免费观看| av中文字幕不卡| 六月丁香婷婷久久| 亚洲自拍偷拍九九九| 国产日韩欧美在线一区| 欧美人体做爰大胆视频| 成人福利视频在线看| 喷白浆一区二区| 有坂深雪av一区二区精品| 久久夜色精品国产欧美乱极品| 欧美最猛性xxxxx直播| 国产精品亚洲一区二区三区在线| 亚洲一级电影视频| 国产精品免费视频一区| 欧美一区二区精品在线| 欧美三级欧美一级| 91浏览器在线视频| 国产不卡在线视频| 狠狠网亚洲精品| 亚洲高清在线视频| 亚洲欧洲韩国日本视频| 久久综合九色综合97婷婷| 欧美男男青年gay1069videost| 成人18精品视频| 国产成人av影院| 精品亚洲欧美一区| 日韩精品国产欧美| 亚洲国产成人高清精品| 一区二区三区资源| 17c精品麻豆一区二区免费| 久久综合狠狠综合久久激情| 91精品国产综合久久精品app| 色视频一区二区| 91在线视频网址| 99久久国产综合精品麻豆| aaa欧美大片| 成人午夜激情视频| 99久久精品国产网站| 99国内精品久久| 91一区在线观看| 在线免费不卡电影| 欧美性一二三区| 欧美喷水一区二区| 91精品国产综合久久国产大片| 4438x成人网最大色成网站| 欧美日韩精品欧美日韩精品| 制服丝袜成人动漫| 欧美大片免费久久精品三p | 久久色成人在线| 2020国产精品久久精品美国| 国产色一区二区| 国产精品久久久久影院亚瑟 | 亚洲一区二区三区四区在线免费观看 | 国产欧美视频一区二区| 国产精品久久久99| 亚洲在线一区二区三区| 蜜乳av一区二区三区| 国产一区二区视频在线| av一区二区三区在线| 在线看国产日韩| 日韩女优av电影在线观看| 欧美国产一区二区在线观看| 樱桃国产成人精品视频| 免费在线观看一区| 不卡免费追剧大全电视剧网站| 欧美色综合久久| 26uuuu精品一区二区| 亚洲情趣在线观看| 日本不卡的三区四区五区| 国产高清精品久久久久| 在线一区二区三区四区五区| 日韩亚洲欧美中文三级| 国产精品视频观看| 亚洲午夜视频在线观看| 国产精品伊人色| 精品视频在线视频| 国产日韩欧美精品电影三级在线| 亚洲国产aⅴ成人精品无吗| 国产91在线观看| 欧美日韩国产精品成人| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲精品国产成人久久av盗摄 |