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

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

?? tif_getimage.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* $Id: tif_getimage.c,v 1.61 2006/04/13 03:25:53 joris Exp $ *//* * Copyright (c) 1991-1997 Sam Leffler * Copyright (c) 1991-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. *//* * TIFF Library * * Read and return a packed RGBA image. */#include "tiffiop.h"#include <stdio.h>static int gtTileContig(TIFFRGBAImage*, uint32*, uint32, uint32);static int gtTileSeparate(TIFFRGBAImage*, uint32*, uint32, uint32);static int gtStripContig(TIFFRGBAImage*, uint32*, uint32, uint32);static int gtStripSeparate(TIFFRGBAImage*, uint32*, uint32, uint32);static int PickContigCase(TIFFRGBAImage*);static int PickSeparateCase(TIFFRGBAImage*);static int BuildMapUaToAa(TIFFRGBAImage* img);static int BuildMapBitdepth16To8(TIFFRGBAImage* img);static const char photoTag[] = "PhotometricInterpretation";/*  * Helper constants used in Orientation tag handling */#define FLIP_VERTICALLY 0x01#define FLIP_HORIZONTALLY 0x02/* * Color conversion constants. We will define display types here. */TIFFDisplay display_sRGB = {	{			/* XYZ -> luminance matrix */		{  3.2410F, -1.5374F, -0.4986F },		{  -0.9692F, 1.8760F, 0.0416F },		{  0.0556F, -0.2040F, 1.0570F }	},		100.0F, 100.0F, 100.0F,	/* Light o/p for reference white */	255, 255, 255,		/* Pixel values for ref. white */	1.0F, 1.0F, 1.0F,	/* Residual light o/p for black pixel */	2.4F, 2.4F, 2.4F,	/* Gamma values for the three guns */};/* * Check the image to see if TIFFReadRGBAImage can deal with it. * 1/0 is returned according to whether or not the image can * be handled.  If 0 is returned, emsg contains the reason * why it is being rejected. */intTIFFRGBAImageOK(TIFF* tif, char emsg[1024]){	TIFFDirectory* td = &tif->tif_dir;	uint16 photometric;	int colorchannels;	if (!tif->tif_decodestatus) {		sprintf(emsg, "Sorry, requested compression method is not configured");		return (0);	}	switch (td->td_bitspersample) {		case 1:		case 2:		case 4:		case 8:		case 16:			break;		default:			sprintf(emsg, "Sorry, can not handle images with %d-bit samples",			    td->td_bitspersample);			return (0);	}	colorchannels = td->td_samplesperpixel - td->td_extrasamples;	if (!TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &photometric)) {		switch (colorchannels) {			case 1:				photometric = PHOTOMETRIC_MINISBLACK;				break;			case 3:				photometric = PHOTOMETRIC_RGB;				break;			default:				sprintf(emsg, "Missing needed %s tag", photoTag);				return (0);		}	}	switch (photometric) {		case PHOTOMETRIC_MINISWHITE:		case PHOTOMETRIC_MINISBLACK:		case PHOTOMETRIC_PALETTE:			if (td->td_planarconfig == PLANARCONFIG_CONTIG			    && td->td_samplesperpixel != 1			    && td->td_bitspersample < 8 ) {				sprintf(emsg,				    "Sorry, can not handle contiguous data with %s=%d, "				    "and %s=%d and Bits/Sample=%d",				    photoTag, photometric,				    "Samples/pixel", td->td_samplesperpixel,				    td->td_bitspersample);				return (0);			}			/*			 * We should likely validate that any extra samples are either			 * to be ignored, or are alpha, and if alpha we should try to use			 * them.  But for now we won't bother with this.			*/			break;		case PHOTOMETRIC_YCBCR:			/*			 * TODO: if at all meaningful and useful, make more complete			 * support check here, or better still, refactor to let supporting			 * code decide whether there is support and what meaningfull			 * error to return			 */			break;		case PHOTOMETRIC_RGB:			if (colorchannels < 3) {				sprintf(emsg, "Sorry, can not handle RGB image with %s=%d",				    "Color channels", colorchannels);				return (0);			}			break;		case PHOTOMETRIC_SEPARATED:			{				uint16 inkset;				TIFFGetFieldDefaulted(tif, TIFFTAG_INKSET, &inkset);				if (inkset != INKSET_CMYK) {					sprintf(emsg,					    "Sorry, can not handle separated image with %s=%d",					    "InkSet", inkset);					return 0;				}				if (td->td_samplesperpixel < 4) {					sprintf(emsg,					    "Sorry, can not handle separated image with %s=%d",					    "Samples/pixel", td->td_samplesperpixel);					return 0;				}				break;			}		case PHOTOMETRIC_LOGL:			if (td->td_compression != COMPRESSION_SGILOG) {				sprintf(emsg, "Sorry, LogL data must have %s=%d",				    "Compression", COMPRESSION_SGILOG);				return (0);			}			break;		case PHOTOMETRIC_LOGLUV:			if (td->td_compression != COMPRESSION_SGILOG &&			    td->td_compression != COMPRESSION_SGILOG24) {				sprintf(emsg, "Sorry, LogLuv data must have %s=%d or %d",				    "Compression", COMPRESSION_SGILOG, COMPRESSION_SGILOG24);				return (0);			}			if (td->td_planarconfig != PLANARCONFIG_CONTIG) {				sprintf(emsg, "Sorry, can not handle LogLuv images with %s=%d",				    "Planarconfiguration", td->td_planarconfig);				return (0);			}			break;		case PHOTOMETRIC_CIELAB:			break;		default:			sprintf(emsg, "Sorry, can not handle image with %s=%d",			    photoTag, photometric);			return (0);	}	return (1);}voidTIFFRGBAImageEnd(TIFFRGBAImage* img){	if (img->Map)		_TIFFfree(img->Map), img->Map = NULL;	if (img->BWmap)		_TIFFfree(img->BWmap), img->BWmap = NULL;	if (img->PALmap)		_TIFFfree(img->PALmap), img->PALmap = NULL;	if (img->ycbcr)		_TIFFfree(img->ycbcr), img->ycbcr = NULL;	if (img->cielab)		_TIFFfree(img->cielab), img->cielab = NULL;	if (img->UaToAa)		_TIFFfree(img->UaToAa), img->UaToAa = NULL;	if (img->Bitdepth16To8)		_TIFFfree(img->Bitdepth16To8), img->Bitdepth16To8 = NULL;	if( img->redcmap ) {		_TIFFfree( img->redcmap );		_TIFFfree( img->greencmap );		_TIFFfree( img->bluecmap );	}}static intisCCITTCompression(TIFF* tif){    uint16 compress;    TIFFGetField(tif, TIFFTAG_COMPRESSION, &compress);    return (compress == COMPRESSION_CCITTFAX3 ||	    compress == COMPRESSION_CCITTFAX4 ||	    compress == COMPRESSION_CCITTRLE ||	    compress == COMPRESSION_CCITTRLEW);}intTIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stop, char emsg[1024]){	uint16* sampleinfo;	uint16 extrasamples;	uint16 planarconfig;	uint16 compress;	int colorchannels;	uint16 *red_orig, *green_orig, *blue_orig;	int n_color;	/* Initialize to normal values */	img->row_offset = 0;	img->col_offset = 0;	img->redcmap = NULL;	img->greencmap = NULL;	img->bluecmap = NULL;	img->req_orientation = ORIENTATION_BOTLEFT;     /* It is the default */	img->tif = tif;	img->stoponerr = stop;	TIFFGetFieldDefaulted(tif, TIFFTAG_BITSPERSAMPLE, &img->bitspersample);	switch (img->bitspersample) {		case 1:		case 2:		case 4:		case 8:		case 16:			break;		default:			sprintf(emsg, "Sorry, can not handle images with %d-bit samples",			    img->bitspersample);			return (0);	}	img->alpha = 0;	TIFFGetFieldDefaulted(tif, TIFFTAG_SAMPLESPERPIXEL, &img->samplesperpixel);	TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,	    &extrasamples, &sampleinfo);	if (extrasamples >= 1)	{		switch (sampleinfo[0]) {			case EXTRASAMPLE_UNSPECIFIED:          /* Workaround for some images without */				if (img->samplesperpixel > 3)  /* correct info about alpha channel */					img->alpha = EXTRASAMPLE_ASSOCALPHA;				break;			case EXTRASAMPLE_ASSOCALPHA:           /* data is pre-multiplied */			case EXTRASAMPLE_UNASSALPHA:           /* data is not pre-multiplied */				img->alpha = sampleinfo[0];				break;		}	}#ifdef DEFAULT_EXTRASAMPLE_AS_ALPHA	if( !TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &img->photometric))		img->photometric = PHOTOMETRIC_MINISWHITE;	if( extrasamples == 0	    && img->samplesperpixel == 4	    && img->photometric == PHOTOMETRIC_RGB )	{		img->alpha = EXTRASAMPLE_ASSOCALPHA;		extrasamples = 1;	}#endif	colorchannels = img->samplesperpixel - extrasamples;	TIFFGetFieldDefaulted(tif, TIFFTAG_COMPRESSION, &compress);	TIFFGetFieldDefaulted(tif, TIFFTAG_PLANARCONFIG, &planarconfig);	if (!TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &img->photometric)) {		switch (colorchannels) {			case 1:				if (isCCITTCompression(tif))					img->photometric = PHOTOMETRIC_MINISWHITE;				else					img->photometric = PHOTOMETRIC_MINISBLACK;				break;			case 3:				img->photometric = PHOTOMETRIC_RGB;				break;			default:				sprintf(emsg, "Missing needed %s tag", photoTag);				return (0);		}	}	switch (img->photometric) {		case PHOTOMETRIC_PALETTE:			if (!TIFFGetField(tif, TIFFTAG_COLORMAP,			    &red_orig, &green_orig, &blue_orig)) {				sprintf(emsg, "Missing required \"Colormap\" tag");				return (0);			}			/* copy the colormaps so we can modify them */			n_color = (1L << img->bitspersample);			img->redcmap = (uint16 *) _TIFFmalloc(sizeof(uint16)*n_color);			img->greencmap = (uint16 *) _TIFFmalloc(sizeof(uint16)*n_color);			img->bluecmap = (uint16 *) _TIFFmalloc(sizeof(uint16)*n_color);			if( !img->redcmap || !img->greencmap || !img->bluecmap ) {				sprintf(emsg, "Out of memory for colormap copy");				return (0);			}			_TIFFmemcpy( img->redcmap, red_orig, n_color * 2 );			_TIFFmemcpy( img->greencmap, green_orig, n_color * 2 );			_TIFFmemcpy( img->bluecmap, blue_orig, n_color * 2 );			/* fall thru... */		case PHOTOMETRIC_MINISWHITE:		case PHOTOMETRIC_MINISBLACK:			if (planarconfig == PLANARCONFIG_CONTIG			    && img->samplesperpixel != 1			    && img->bitspersample < 8 ) {				sprintf(emsg,				    "Sorry, can not handle contiguous data with %s=%d, "				    "and %s=%d and Bits/Sample=%d",				    photoTag, img->photometric,				    "Samples/pixel", img->samplesperpixel,				    img->bitspersample);				return (0);			}			break;		case PHOTOMETRIC_YCBCR:			/* It would probably be nice to have a reality check here. */			if (planarconfig == PLANARCONFIG_CONTIG)				/* can rely on libjpeg to convert to RGB */				/* XXX should restore current state on exit */				switch (compress) {					case COMPRESSION_JPEG:						/*						 * TODO: when complete tests verify complete desubsampling						 * and YCbCr handling, remove use of TIFFTAG_JPEGCOLORMODE in						 * favor of tif_getimage.c native handling						 */						TIFFSetField(tif, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB);						img->photometric = PHOTOMETRIC_RGB;						break;					default:						/* do nothing */;						break;				}			/*			 * TODO: if at all meaningful and useful, make more complete			 * support check here, or better still, refactor to let supporting			 * code decide whether there is support and what meaningfull			 * error to return			 */			break;		case PHOTOMETRIC_RGB:			if (colorchannels < 3) {				sprintf(emsg, "Sorry, can not handle RGB image with %s=%d",				    "Color channels", colorchannels);				return (0);			}			break;		case PHOTOMETRIC_SEPARATED:			{				uint16 inkset;				TIFFGetFieldDefaulted(tif, TIFFTAG_INKSET, &inkset);				if (inkset != INKSET_CMYK) {					sprintf(emsg, "Sorry, can not handle separated image with %s=%d",					    "InkSet", inkset);					return (0);				}				if (img->samplesperpixel < 4) {					sprintf(emsg, "Sorry, can not handle separated image with %s=%d",					    "Samples/pixel", img->samplesperpixel);					return (0);				}			}			break;		case PHOTOMETRIC_LOGL:			if (compress != COMPRESSION_SGILOG) {				sprintf(emsg, "Sorry, LogL data must have %s=%d",				    "Compression", COMPRESSION_SGILOG);				return (0);			}			TIFFSetField(tif, TIFFTAG_SGILOGDATAFMT, SGILOGDATAFMT_8BIT);			img->photometric = PHOTOMETRIC_MINISBLACK;	/* little white lie */			img->bitspersample = 8;			break;		case PHOTOMETRIC_LOGLUV:			if (compress != COMPRESSION_SGILOG && compress != COMPRESSION_SGILOG24) {				sprintf(emsg, "Sorry, LogLuv data must have %s=%d or %d",				    "Compression", COMPRESSION_SGILOG, COMPRESSION_SGILOG24);				return (0);			}			if (planarconfig != PLANARCONFIG_CONTIG) {				sprintf(emsg, "Sorry, can not handle LogLuv images with %s=%d",				    "Planarconfiguration", planarconfig);				return (0);			}			TIFFSetField(tif, TIFFTAG_SGILOGDATAFMT, SGILOGDATAFMT_8BIT);			img->photometric = PHOTOMETRIC_RGB;		/* little white lie */			img->bitspersample = 8;			break;		case PHOTOMETRIC_CIELAB:			break;		default:			sprintf(emsg, "Sorry, can not handle image with %s=%d",			    photoTag, img->photometric);			return (0);	}	img->Map = NULL;	img->BWmap = NULL;	img->PALmap = NULL;	img->ycbcr = NULL;	img->cielab = NULL;	img->UaToAa = NULL;	img->Bitdepth16To8 = NULL;	TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &img->width);	TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &img->height);	TIFFGetFieldDefaulted(tif, TIFFTAG_ORIENTATION, &img->orientation);	img->isContig =	    !(planarconfig == PLANARCONFIG_SEPARATE && colorchannels > 1);	if (img->isContig) {		if (!PickContigCase(img)) {			sprintf(emsg, "Sorry, can not handle image");			return 0;		}	} else {		if (!PickSeparateCase(img)) {			sprintf(emsg, "Sorry, can not handle image");			return 0;		}	}	return 1;}intTIFFRGBAImageGet(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h){    if (img->get == NULL) {		TIFFErrorExt(img->tif->tif_clientdata, TIFFFileName(img->tif), "No \"get\" routine setup");		return (0);	}	if (img->put.any == NULL) {		TIFFErrorExt(img->tif->tif_clientdata, TIFFFileName(img->tif),		"No \"put\" routine setupl; probably can not handle image format");		return (0);    }    return (*img->get)(img, raster, w, h);}/* * Read the specified image into an ABGR-format rastertaking in account * specified orientation. */intTIFFReadRGBAImageOriented(TIFF* tif,			  uint32 rwidth, uint32 rheight, uint32* raster,			  int orientation, int stop){    char emsg[1024] = "";    TIFFRGBAImage img;    int ok;	if (TIFFRGBAImageOK(tif, emsg) && TIFFRGBAImageBegin(&img, tif, stop, emsg)) {		img.req_orientation = orientation;		/* XXX verify rwidth and rheight against width and height */		ok = TIFFRGBAImageGet(&img, raster+(rheight-img.height)*rwidth,			rwidth, img.height);		TIFFRGBAImageEnd(&img);	} else {		TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), emsg);		ok = 0;    }    return (ok);}/* * Read the specified image into an ABGR-format raster. Use bottom left * origin for raster by default. */intTIFFReadRGBAImage(TIFF* tif,		  uint32 rwidth, uint32 rheight, uint32* raster, int stop){	return TIFFReadRGBAImageOriented(tif, rwidth, rheight, raster,					 ORIENTATION_BOTLEFT, stop);}static int setorientation(TIFFRGBAImage* img){	switch (img->orientation) {		case ORIENTATION_TOPLEFT:		case ORIENTATION_LEFTTOP:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久蜜臀| 亚洲精品五月天| 精品一区二区三区av| 夜色激情一区二区| 一区二区三区精品视频| 中日韩免费视频中文字幕| 国产一区二区三区黄视频 | 9人人澡人人爽人人精品| 一本色道久久综合狠狠躁的推荐| 欧美一区二区三区男人的天堂 | 日韩精品一区二区三区在线观看 | 日韩女优电影在线观看| 亚洲欧美另类图片小说| 99久久免费精品| 亚洲国产精品精华液2区45| 国产成人三级在线观看| 一区二区三区欧美在线观看| 日韩一区二区在线观看视频播放| 韩国成人精品a∨在线观看| 国产午夜精品福利| 在线观看不卡视频| 国产精品伊人色| 丝袜美腿高跟呻吟高潮一区| 国产日韩欧美不卡| 欧美日韩国产首页| 99久久综合色| 国产精品一二三区在线| 夜夜嗨av一区二区三区中文字幕 | 欧美一区二区三区影视| 99久久伊人精品| 韩国三级在线一区| 色偷偷一区二区三区| 欧美性大战久久| 欧美成人在线直播| 中文字幕一区二区三区精华液| 成人国产在线观看| 亚洲日本中文字幕区| 亚洲欧美色一区| 成人激情小说网站| 99热精品国产| 国产精品麻豆99久久久久久| 激情综合网av| 精品国产免费久久| 不卡视频一二三四| 亚洲另类春色校园小说| 欧美日韩中文精品| 奇米精品一区二区三区在线观看一| 成人h动漫精品一区二| 国产91精品入口| 成人avav在线| 91福利视频网站| 日韩三级免费观看| 国产精品乱码久久久久久| 久久免费午夜影院| 国产精品无遮挡| 亚洲欧洲日本在线| 亚洲成人高清在线| 91麻豆6部合集magnet| 亚洲与欧洲av电影| 中文字幕av一区二区三区高| 国产色产综合产在线视频| 久久影院午夜论| 亚洲成人tv网| 午夜精品福利视频网站| 婷婷夜色潮精品综合在线| 亚洲精品日产精品乱码不卡| 国产精品免费av| 亚洲码国产岛国毛片在线| 久久网站最新地址| 欧美va亚洲va香蕉在线| 久久久久久免费| 久久亚洲私人国产精品va媚药| 精品成人免费观看| 中文字幕亚洲在| 亚洲午夜免费视频| 波多野结衣在线一区| 欧美日韩一区二区三区四区 | 欧美日韩国产免费| 日韩精彩视频在线观看| 色一区在线观看| 久久久久国产精品免费免费搜索| 成人美女视频在线看| 中文字幕巨乱亚洲| 欧美精品乱码久久久久久| 亚洲超碰精品一区二区| 欧美一区二区人人喊爽| 激情成人午夜视频| 久久久久国产精品人| 97国产一区二区| 亚洲高清视频的网址| 欧美疯狂做受xxxx富婆| 美女在线视频一区| 国产精品免费视频网站| 欧美性极品少妇| 久久精品国产秦先生| 日韩成人精品在线观看| 欧美videofree性高清杂交| 成熟亚洲日本毛茸茸凸凹| 亚洲欧美经典视频| 欧美不卡在线视频| 午夜精品福利在线| 天天av天天翘天天综合网| 精品久久人人做人人爱| 91网站最新网址| 久久99国产精品久久| 欧美国产精品一区二区| 成人看片黄a免费看在线| 国产一区二区主播在线| 成人欧美一区二区三区小说| 7777精品伊人久久久大香线蕉| 免费高清成人在线| 亚洲欧美日韩在线播放| 亚洲人成人一区二区在线观看| 欧美亚洲国产一卡| 国产91在线观看丝袜| 国产精品18久久久| 日韩中文字幕av电影| 国产日韩精品一区| 在线视频一区二区三| 久久久91精品国产一区二区三区| 久久久亚洲精华液精华液精华液| 99re这里都是精品| 国产成人亚洲精品狼色在线| 亚洲gay无套男同| 国产精品乱码一区二区三区软件| 日本久久一区二区三区| 国产成人精品免费一区二区| 日韩经典一区二区| 亚洲综合免费观看高清完整版| 亚洲精品在线观看网站| 色偷偷久久人人79超碰人人澡 | 美女看a上一区| 日本一区二区三区久久久久久久久不 | 日本不卡的三区四区五区| 一二三四区精品视频| 一区二区三区中文字幕| 色综合网色综合| 欧美日韩美女一区二区| 色天使色偷偷av一区二区| 成人性生交大片免费| 国产综合色视频| 亚洲国产精品99久久久久久久久 | 色综合激情久久| 99久久精品国产导航| 丰满放荡岳乱妇91ww| 久久天天做天天爱综合色| 麻豆精品在线播放| 日本一区二区久久| 蜜桃传媒麻豆第一区在线观看| 精品欧美一区二区在线观看 | 日韩一区二区在线观看视频播放| 99精品桃花视频在线观看| 日韩欧美国产三级| 欧美亚洲国产一区二区三区 | 99这里只有久久精品视频| 在线综合亚洲欧美在线视频| 国产一区二区三区在线观看精品 | 日韩精品专区在线影院观看 | 久久婷婷一区二区三区| 欧美成人在线直播| 久久综合色之久久综合| 国产校园另类小说区| 国产精品无遮挡| 欧美性三三影院| 日韩三级在线观看| 精品国产欧美一区二区| 欧美成人国产一区二区| 久久久久久日产精品| 亚洲色图视频免费播放| 日韩欧美国产高清| 欧美精品一区二区三区蜜桃视频| 久久久99精品免费观看| 亚洲欧美激情插| 日韩av不卡在线观看| 亚洲一区在线视频| 成人免费视频app| 欧美在线观看你懂的| 欧美久久久久久蜜桃| 精品日韩成人av| 精品久久人人做人人爱| 日本午夜精品一区二区三区电影| 六月丁香综合在线视频| 99精品黄色片免费大全| 欧美午夜精品一区二区蜜桃| 欧美日本在线播放| 国产欧美日韩综合精品一区二区| 亚洲免费电影在线| 奇米888四色在线精品| 国产999精品久久久久久| 欧美日韩日本视频| 久久亚洲私人国产精品va媚药| 国产精品美女久久久久久久| 午夜天堂影视香蕉久久| 日韩av成人高清| 日韩美女一区二区三区| 亚洲男人的天堂在线aⅴ视频| 男人的天堂久久精品| 99精品视频一区二区| 亚洲免费电影在线| 免费在线一区观看|