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

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

?? tif_jpeg.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* $Id: tif_jpeg.c,v 1.50 2006/10/12 18:02:52 dron Exp $ *//* * Copyright (c) 1994-1997 Sam Leffler * Copyright (c) 1994-1997 Silicon Graphics, Inc. * * Permission to use, copy, modify, distribute, and sell this software and  * its documentation for any purpose is hereby granted without fee, provided * that (i) the above copyright notices and this permission notice appear in * all copies of the software and related documentation, and (ii) the names of * Sam Leffler and Silicon Graphics may not be used in any advertising or * publicity relating to the software without the specific, prior written * permission of Sam Leffler and Silicon Graphics. *  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.   *  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE  * OF THIS SOFTWARE. */#define WIN32_LEAN_AND_MEAN#define VC_EXTRALEAN#include "tiffiop.h"#ifdef JPEG_SUPPORT/* * TIFF Library * * JPEG Compression support per TIFF Technical Note #2 * (*not* per the original TIFF 6.0 spec). * * This file is simply an interface to the libjpeg library written by * the Independent JPEG Group.  You need release 5 or later of the IJG * code, which you can find on the Internet at ftp.uu.net:/graphics/jpeg/. * * Contributed by Tom Lane <tgl@sss.pgh.pa.us>. */#include <setjmp.h>int TIFFFillStrip(TIFF*, tstrip_t);int TIFFFillTile(TIFF*, ttile_t);/* We undefine FAR to avoid conflict with JPEG definition */#ifdef FAR#undef FAR#endif/*  Libjpeg's jmorecfg.h defines INT16 and INT32, but only if XMD_H is  not defined.  Unfortunately, the MinGW and Borland compilers include  a typedef for INT32, which causes a conflict.  MSVC does not include  a conficting typedef given the headers which are included.*/#if defined(__BORLANDC__) || defined(__MINGW32__)# define XMD_H 1#endif/*   The windows RPCNDR.H file defines boolean, but defines it with the   unsigned char size.  You should compile JPEG library using appropriate   definitions in jconfig.h header, but many users compile library in wrong   way. That causes errors of the following type:   "JPEGLib: JPEG parameter struct mismatch: library thinks size is 432,   caller expects 464"   For such users we wil fix the problem here. See install.doc file from   the JPEG library distribution for details.*//* Define "boolean" as unsigned char, not int, per Windows custom. */#if defined(WIN32) && !defined(__MINGW32__)# ifndef __RPCNDR_H__            /* don't conflict if rpcndr.h already read */   typedef unsigned char boolean;# endif# define HAVE_BOOLEAN            /* prevent jmorecfg.h from redefining it */#endif#include "jpeglib.h"#include "jerror.h"/* * We are using width_in_blocks which is supposed to be private to * libjpeg. Unfortunately, the libjpeg delivered with Cygwin has * renamed this member to width_in_data_units.  Since the header has * also renamed a define, use that unique define name in order to * detect the problem header and adjust to suit. */#if defined(D_MAX_DATA_UNITS_IN_MCU)#define width_in_blocks width_in_data_units#endif/* * On some machines it may be worthwhile to use _setjmp or sigsetjmp * in place of plain setjmp.  These macros will make it easier. */#define SETJMP(jbuf)		setjmp(jbuf)#define LONGJMP(jbuf,code)	longjmp(jbuf,code)#define JMP_BUF			jmp_buftypedef struct jpeg_destination_mgr jpeg_destination_mgr;typedef struct jpeg_source_mgr jpeg_source_mgr;typedef	struct jpeg_error_mgr jpeg_error_mgr;/* * State block for each open TIFF file using * libjpeg to do JPEG compression/decompression. * * libjpeg's visible state is either a jpeg_compress_struct * or jpeg_decompress_struct depending on which way we * are going.  comm can be used to refer to the fields * which are common to both. * * NB: cinfo is required to be the first member of JPEGState, *     so we can safely cast JPEGState* -> jpeg_xxx_struct* *     and vice versa! */typedef	struct {	union {		struct jpeg_compress_struct c;		struct jpeg_decompress_struct d;		struct jpeg_common_struct comm;	} cinfo;			/* NB: must be first */        int             cinfo_initialized;	jpeg_error_mgr	err;		/* libjpeg error manager */	JMP_BUF		exit_jmpbuf;	/* for catching libjpeg failures */	/*	 * The following two members could be a union, but	 * they're small enough that it's not worth the effort.	 */	jpeg_destination_mgr dest;	/* data dest for compression */	jpeg_source_mgr	src;		/* data source for decompression */					/* private state */	TIFF*		tif;		/* back link needed by some code */	uint16		photometric;	/* copy of PhotometricInterpretation */	uint16		h_sampling;	/* luminance sampling factors */	uint16		v_sampling;	tsize_t		bytesperline;	/* decompressed bytes per scanline */	/* pointers to intermediate buffers when processing downsampled data */	JSAMPARRAY	ds_buffer[MAX_COMPONENTS];	int		scancount;	/* number of "scanlines" accumulated */	int		samplesperclump;	TIFFVGetMethod	vgetparent;	/* super-class method */	TIFFVSetMethod	vsetparent;	/* super-class method */	TIFFPrintMethod printdir;	/* super-class method */	TIFFStripMethod	defsparent;	/* super-class method */	TIFFTileMethod	deftparent;	/* super-class method */					/* pseudo-tag fields */	void*		jpegtables;	/* JPEGTables tag value, or NULL */	uint32		jpegtables_length; /* number of bytes in same */	int		jpegquality;	/* Compression quality level */	int		jpegcolormode;	/* Auto RGB<=>YCbCr convert? */	int		jpegtablesmode;	/* What to put in JPEGTables */        int             ycbcrsampling_fetched;	uint32		recvparams;	/* encoded Class 2 session params */	char*		subaddress;	/* subaddress string */	uint32		recvtime;	/* time spent receiving (secs) */	char*		faxdcs;		/* encoded fax parameters (DCS, Table 2/T.30) */} JPEGState;#define	JState(tif)	((JPEGState*)(tif)->tif_data)static	int JPEGDecode(TIFF*, tidata_t, tsize_t, tsample_t);static	int JPEGDecodeRaw(TIFF*, tidata_t, tsize_t, tsample_t);static	int JPEGEncode(TIFF*, tidata_t, tsize_t, tsample_t);static	int JPEGEncodeRaw(TIFF*, tidata_t, tsize_t, tsample_t);static  int JPEGInitializeLibJPEG( TIFF * tif,								   int force_encode, int force_decode );#define	FIELD_JPEGTABLES	(FIELD_CODEC+0)#define	FIELD_RECVPARAMS	(FIELD_CODEC+1)#define	FIELD_SUBADDRESS	(FIELD_CODEC+2)#define	FIELD_RECVTIME		(FIELD_CODEC+3)#define	FIELD_FAXDCS		(FIELD_CODEC+4)static const TIFFFieldInfo jpegFieldInfo[] = {    { TIFFTAG_JPEGTABLES,	 -3,-3,	TIFF_UNDEFINED,	FIELD_JPEGTABLES,      FALSE,	TRUE,	"JPEGTables" },    { TIFFTAG_JPEGQUALITY,	 0, 0,	TIFF_ANY,	FIELD_PSEUDO,      TRUE,	FALSE,	"" },    { TIFFTAG_JPEGCOLORMODE,	 0, 0,	TIFF_ANY,	FIELD_PSEUDO,      FALSE,	FALSE,	"" },    { TIFFTAG_JPEGTABLESMODE,	 0, 0,	TIFF_ANY,	FIELD_PSEUDO,      FALSE,	FALSE,	"" },    /* Specific for JPEG in faxes */    { TIFFTAG_FAXRECVPARAMS,	 1, 1, TIFF_LONG,	FIELD_RECVPARAMS,      TRUE,	FALSE,	"FaxRecvParams" },    { TIFFTAG_FAXSUBADDRESS,	-1,-1, TIFF_ASCII,	FIELD_SUBADDRESS,      TRUE,	FALSE,	"FaxSubAddress" },    { TIFFTAG_FAXRECVTIME,	 1, 1, TIFF_LONG,	FIELD_RECVTIME,      TRUE,	FALSE,	"FaxRecvTime" },    { TIFFTAG_FAXDCS,		-1, -1, TIFF_ASCII,	FIELD_FAXDCS,	  TRUE,	FALSE,	"FaxDcs" },};#define	N(a)	(sizeof (a) / sizeof (a[0]))/* * libjpeg interface layer. * * We use setjmp/longjmp to return control to libtiff * when a fatal error is encountered within the JPEG * library.  We also direct libjpeg error and warning * messages through the appropriate libtiff handlers. *//* * Error handling routines (these replace corresponding * IJG routines from jerror.c).  These are used for both * compression and decompression. */static voidTIFFjpeg_error_exit(j_common_ptr cinfo){	JPEGState *sp = (JPEGState *) cinfo;	/* NB: cinfo assumed first */	char buffer[JMSG_LENGTH_MAX];	(*cinfo->err->format_message) (cinfo, buffer);	TIFFErrorExt(sp->tif->tif_clientdata, "JPEGLib", buffer);		/* display the error message */	jpeg_abort(cinfo);			/* clean up libjpeg state */	LONGJMP(sp->exit_jmpbuf, 1);		/* return to libtiff caller */}/* * This routine is invoked only for warning messages, * since error_exit does its own thing and trace_level * is never set > 0. */static voidTIFFjpeg_output_message(j_common_ptr cinfo){	char buffer[JMSG_LENGTH_MAX];	(*cinfo->err->format_message) (cinfo, buffer);	TIFFWarningExt(((JPEGState *) cinfo)->tif->tif_clientdata, "JPEGLib", buffer);}/* * Interface routines.  This layer of routines exists * primarily to limit side-effects from using setjmp. * Also, normal/error returns are converted into return * values per libtiff practice. */#define	CALLJPEG(sp, fail, op)	(SETJMP((sp)->exit_jmpbuf) ? (fail) : (op))#define	CALLVJPEG(sp, op)	CALLJPEG(sp, 0, ((op),1))static intTIFFjpeg_create_compress(JPEGState* sp){	/* initialize JPEG error handling */	sp->cinfo.c.err = jpeg_std_error(&sp->err);	sp->err.error_exit = TIFFjpeg_error_exit;	sp->err.output_message = TIFFjpeg_output_message;	return CALLVJPEG(sp, jpeg_create_compress(&sp->cinfo.c));}static intTIFFjpeg_create_decompress(JPEGState* sp){	/* initialize JPEG error handling */	sp->cinfo.d.err = jpeg_std_error(&sp->err);	sp->err.error_exit = TIFFjpeg_error_exit;	sp->err.output_message = TIFFjpeg_output_message;	return CALLVJPEG(sp, jpeg_create_decompress(&sp->cinfo.d));}static intTIFFjpeg_set_defaults(JPEGState* sp){	return CALLVJPEG(sp, jpeg_set_defaults(&sp->cinfo.c));}static intTIFFjpeg_set_colorspace(JPEGState* sp, J_COLOR_SPACE colorspace){	return CALLVJPEG(sp, jpeg_set_colorspace(&sp->cinfo.c, colorspace));}static intTIFFjpeg_set_quality(JPEGState* sp, int quality, boolean force_baseline){	return CALLVJPEG(sp,	    jpeg_set_quality(&sp->cinfo.c, quality, force_baseline));}static intTIFFjpeg_suppress_tables(JPEGState* sp, boolean suppress){	return CALLVJPEG(sp, jpeg_suppress_tables(&sp->cinfo.c, suppress));}static intTIFFjpeg_start_compress(JPEGState* sp, boolean write_all_tables){	return CALLVJPEG(sp,	    jpeg_start_compress(&sp->cinfo.c, write_all_tables));}static intTIFFjpeg_write_scanlines(JPEGState* sp, JSAMPARRAY scanlines, int num_lines){	return CALLJPEG(sp, -1, (int) jpeg_write_scanlines(&sp->cinfo.c,	    scanlines, (JDIMENSION) num_lines));}static intTIFFjpeg_write_raw_data(JPEGState* sp, JSAMPIMAGE data, int num_lines){	return CALLJPEG(sp, -1, (int) jpeg_write_raw_data(&sp->cinfo.c,	    data, (JDIMENSION) num_lines));}static intTIFFjpeg_finish_compress(JPEGState* sp){	return CALLVJPEG(sp, jpeg_finish_compress(&sp->cinfo.c));}static intTIFFjpeg_write_tables(JPEGState* sp){	return CALLVJPEG(sp, jpeg_write_tables(&sp->cinfo.c));}static intTIFFjpeg_read_header(JPEGState* sp, boolean require_image){	return CALLJPEG(sp, -1, jpeg_read_header(&sp->cinfo.d, require_image));}static intTIFFjpeg_start_decompress(JPEGState* sp){	return CALLVJPEG(sp, jpeg_start_decompress(&sp->cinfo.d));}static intTIFFjpeg_read_scanlines(JPEGState* sp, JSAMPARRAY scanlines, int max_lines){	return CALLJPEG(sp, -1, (int) jpeg_read_scanlines(&sp->cinfo.d,	    scanlines, (JDIMENSION) max_lines));}static intTIFFjpeg_read_raw_data(JPEGState* sp, JSAMPIMAGE data, int max_lines){	return CALLJPEG(sp, -1, (int) jpeg_read_raw_data(&sp->cinfo.d,	    data, (JDIMENSION) max_lines));}static intTIFFjpeg_finish_decompress(JPEGState* sp){	return CALLJPEG(sp, -1, (int) jpeg_finish_decompress(&sp->cinfo.d));}static intTIFFjpeg_abort(JPEGState* sp){	return CALLVJPEG(sp, jpeg_abort(&sp->cinfo.comm));}static intTIFFjpeg_destroy(JPEGState* sp){	return CALLVJPEG(sp, jpeg_destroy(&sp->cinfo.comm));}static JSAMPARRAYTIFFjpeg_alloc_sarray(JPEGState* sp, int pool_id,		      JDIMENSION samplesperrow, JDIMENSION numrows){	return CALLJPEG(sp, (JSAMPARRAY) NULL,	    (*sp->cinfo.comm.mem->alloc_sarray)		(&sp->cinfo.comm, pool_id, samplesperrow, numrows));}/* * JPEG library destination data manager. * These routines direct compressed data from libjpeg into the * libtiff output buffer. */static voidstd_init_destination(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	TIFF* tif = sp->tif;	sp->dest.next_output_byte = (JOCTET*) tif->tif_rawdata;	sp->dest.free_in_buffer = (size_t) tif->tif_rawdatasize;}static booleanstd_empty_output_buffer(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	TIFF* tif = sp->tif;	/* the entire buffer has been filled */	tif->tif_rawcc = tif->tif_rawdatasize;	TIFFFlushData1(tif);	sp->dest.next_output_byte = (JOCTET*) tif->tif_rawdata;	sp->dest.free_in_buffer = (size_t) tif->tif_rawdatasize;	return (TRUE);}static voidstd_term_destination(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	TIFF* tif = sp->tif;	tif->tif_rawcp = (tidata_t) sp->dest.next_output_byte;	tif->tif_rawcc =	    tif->tif_rawdatasize - (tsize_t) sp->dest.free_in_buffer;	/* NB: libtiff does the final buffer flush */}static voidTIFFjpeg_data_dest(JPEGState* sp, TIFF* tif){	(void) tif;	sp->cinfo.c.dest = &sp->dest;	sp->dest.init_destination = std_init_destination;	sp->dest.empty_output_buffer = std_empty_output_buffer;	sp->dest.term_destination = std_term_destination;}/* * Alternate destination manager for outputting to JPEGTables field. */static voidtables_init_destination(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	/* while building, jpegtables_length is allocated buffer size */	sp->dest.next_output_byte = (JOCTET*) sp->jpegtables;	sp->dest.free_in_buffer = (size_t) sp->jpegtables_length;}static booleantables_empty_output_buffer(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	void* newbuf;	/* the entire buffer has been filled; enlarge it by 1000 bytes */	newbuf = _TIFFrealloc((tdata_t) sp->jpegtables,			      (tsize_t) (sp->jpegtables_length + 1000));	if (newbuf == NULL)		ERREXIT1(cinfo, JERR_OUT_OF_MEMORY, 100);	sp->dest.next_output_byte = (JOCTET*) newbuf + sp->jpegtables_length;	sp->dest.free_in_buffer = (size_t) 1000;	sp->jpegtables = newbuf;	sp->jpegtables_length += 1000;	return (TRUE);}static voidtables_term_destination(j_compress_ptr cinfo){	JPEGState* sp = (JPEGState*) cinfo;	/* set tables length to number of bytes actually emitted */	sp->jpegtables_length -= sp->dest.free_in_buffer;}static intTIFFjpeg_tables_dest(JPEGState* sp, TIFF* tif){	(void) tif;	/*	 * Allocate a working buffer for building tables.	 * Initial size is 1000 bytes, which is usually adequate.	 */	if (sp->jpegtables)		_TIFFfree(sp->jpegtables);	sp->jpegtables_length = 1000;	sp->jpegtables = (void*) _TIFFmalloc((tsize_t) sp->jpegtables_length);	if (sp->jpegtables == NULL) {		sp->jpegtables_length = 0;		TIFFErrorExt(sp->tif->tif_clientdata, "TIFFjpeg_tables_dest", "No space for JPEGTables");		return (0);	}	sp->cinfo.c.dest = &sp->dest;	sp->dest.init_destination = tables_init_destination;	sp->dest.empty_output_buffer = tables_empty_output_buffer;	sp->dest.term_destination = tables_term_destination;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频一区二区三区| 亚洲福利电影网| 亚洲欧美激情一区二区| 中文字幕第一区第二区| 欧美国产一区视频在线观看| 欧美精彩视频一区二区三区| 国产午夜亚洲精品理论片色戒| www一区二区| 国产欧美精品在线观看| 国产精品麻豆久久久| 亚洲国产精品t66y| 国产精品成人免费在线| 中文字幕一区二区三区av | 国产一区二区美女| 狠狠v欧美v日韩v亚洲ⅴ| 久久91精品久久久久久秒播| 精品伊人久久久久7777人| 久久99精品国产麻豆婷婷洗澡| 青青草国产精品97视觉盛宴| 国产中文字幕精品| 成人午夜av影视| 日本精品一区二区三区高清 | 欧美无砖砖区免费| 欧美日韩精品专区| 日韩视频免费观看高清完整版在线观看 | 色999日韩国产欧美一区二区| 91黄色激情网站| 欧美日韩国产综合视频在线观看| 91精品国产综合久久福利| 日韩女优毛片在线| 欧美国产乱子伦| 亚洲最新在线观看| 蜜臀av一区二区在线观看| 激情另类小说区图片区视频区| 国产九色精品成人porny| 成人aaaa免费全部观看| 欧美性一二三区| 精品国产免费人成电影在线观看四季 | 日韩一区中文字幕| 一片黄亚洲嫩模| 麻豆精品一区二区三区| 成人av资源站| 91.com视频| 国产日韩欧美制服另类| 夜夜精品视频一区二区| 捆绑变态av一区二区三区| 成人国产电影网| 日韩一级二级三级精品视频| 中文av一区二区| 亚洲成a人v欧美综合天堂| 国产精品自拍三区| 欧美色手机在线观看| 国产三级三级三级精品8ⅰ区| 玉米视频成人免费看| 久久99国产精品久久| 在线影院国内精品| 欧美精品一区二区三区高清aⅴ | 亚洲国产精品成人久久综合一区| 亚洲一区在线观看网站| 国产成人在线视频免费播放| 欧美日韩国产小视频在线观看| 国产欧美一区二区精品久导航| 无码av免费一区二区三区试看| 成人一区在线观看| 欧美一区二区免费观在线| 1区2区3区精品视频| 狠狠狠色丁香婷婷综合激情| 欧美影视一区在线| 中文字幕第一区第二区| 麻豆精品视频在线观看视频| 在线影视一区二区三区| 欧美国产在线观看| 久久精品99久久久| 91成人在线免费观看| 国产欧美一区二区精品仙草咪| 蜜桃视频在线观看一区二区| 欧美色网站导航| 亚洲欧洲av在线| 国产91清纯白嫩初高中在线观看| 欧美一级高清片| 五月天欧美精品| 欧美日韩亚洲另类| 一区二区久久久| 欧美大尺度电影在线| 亚洲国产另类精品专区| 色一情一乱一乱一91av| 中文字幕免费不卡在线| 韩国女主播一区| 日韩免费成人网| 老司机免费视频一区二区| 91麻豆精品久久久久蜜臀| 午夜私人影院久久久久| 在线观看av一区二区| 亚洲裸体在线观看| 99精品一区二区三区| 欧美国产日韩亚洲一区| 国产69精品久久久久777| 久久综合丝袜日本网| 精品亚洲欧美一区| 精品日韩一区二区| 狠狠色狠狠色综合| 久久综合999| 国产成人精品三级麻豆| 国产亚洲欧美色| 国产91色综合久久免费分享| 国产精品三级av| av一区二区三区| 亚洲欧美激情小说另类| 色偷偷成人一区二区三区91| 亚洲精品国产一区二区精华液 | 亚洲天天做日日做天天谢日日欢| www.在线成人| 亚洲视频小说图片| 色欧美88888久久久久久影院| 一区二区三区91| 欧美一区午夜视频在线观看| 蜜桃av一区二区三区| 精品盗摄一区二区三区| 国产麻豆成人精品| 国产精品福利一区二区| 色综合夜色一区| 午夜不卡av在线| 欧美变态tickling挠脚心| 国产精品亚洲一区二区三区妖精| 国产精品午夜久久| 色狠狠一区二区| 日本成人中文字幕在线视频| 精品播放一区二区| 成人福利视频网站| 亚洲成人三级小说| 日韩欧美一级精品久久| 国产乱码精品一区二区三区忘忧草| 国产精品初高中害羞小美女文| 日本伦理一区二区| 奇米精品一区二区三区在线观看| 久久美女高清视频| 色哟哟国产精品| 日产欧产美韩系列久久99| 久久伊99综合婷婷久久伊| 色综合天天综合网天天看片| 天天操天天干天天综合网| 2024国产精品视频| 97精品视频在线观看自产线路二| 调教+趴+乳夹+国产+精品| 久久久久97国产精华液好用吗| 一本久久a久久精品亚洲| 久久国产三级精品| 国产精品久线观看视频| 欧美日韩小视频| 成人免费不卡视频| 91免费观看视频| 免费高清在线一区| 综合av第一页| 亚洲精品在线观看视频| 91小视频免费看| 精品一区二区三区在线观看| 亚洲特黄一级片| 精品国产sm最大网站| 色中色一区二区| 国产九色sp调教91| 天天综合网天天综合色| 亚洲国产成人一区二区三区| 欧美一卡2卡三卡4卡5免费| 成人一区二区三区中文字幕| 日产精品久久久久久久性色| 亚洲免费在线观看视频| 亚洲精品一区二区三区精华液| 在线观看一区二区视频| 国产成人免费网站| 日韩激情视频在线观看| 成人免费在线观看入口| 精品福利二区三区| 在线电影院国产精品| 97久久精品人人澡人人爽| 国产一区二区三区美女| 日韩精品一二区| 亚洲精品国产第一综合99久久 | 国产日产欧美一区二区三区 | 午夜精品一区二区三区电影天堂| 国产精品久久久久一区| 久久日韩精品一区二区五区| 777色狠狠一区二区三区| 91成人在线精品| 色综合视频一区二区三区高清| 国产精品123区| 国产真实精品久久二三区| 日韩影视精彩在线| 亚洲午夜精品一区二区三区他趣| 成人欧美一区二区三区黑人麻豆| 国产欧美一区二区精品性| 久久综合色播五月| 欧美一级淫片007| 欧美电影一区二区| 欧美日韩一区高清| 欧美色区777第一页| 欧美三级中文字幕| 在线观看av不卡| 欧美日韩一区在线| 欧美三级在线视频| 中文字幕一区二区三中文字幕|