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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bitstream.c

?? 基于Linux的ffmepg decoder
?? C
字號(hào):
#include <stdio.h>#include <stdlib.h>#include "bitstream.h"#include "zigzag.h"#include "../quant/quant_matrix.h"#include "../local_mem.h"#include "../define.h"#include "../vpe.h"#include "../mp4.h"int old_time_incre;uint32_t time_increment_resolution;/***************************************************************************** * Functions ****************************************************************************/static int32_t vop_width[8] = {0, 128, 176, 352, 704, 1408, 0, 0};static int32_t vop_height[8] = {0, 96, 144, 288, 576, 1152, 0, 0};static uint32_t __inlinelog2bin(uint32_t value){/* Changed by Chenm001 */	int n = 0;	while (value) {		value >>= 1;		n++;	}	return n;}/*static const uint32_t intra_dc_threshold_table[] = {	32,							// never use	13,	15,	17,	19,	21,	23,	1,};*/voidbs_get_matrix(Bitstream * bs,			  uint8_t * matrix){	int i = 0, j = 0;	int last, value = 0;	do {		last = value;		j++;		if (j == 8) {			j=0;		}		value = BitstreamGetBits(bs, 8);		matrix[scan_tables[0][i++]] = value;	}	while (value != 0 && i < 64);    i--;    /* fix little bug at coeff not full */	while (i < 64) {		matrix[scan_tables[0][i++]] = last;	}}boolbRead_video_packet_header(DECODER * dec,						int *fcode_forward,						int *fcode_backward,						int32_t * mbnum){	int tmp;	int coding_type;	uint32_t * Table_Output = ((uint32_t *) ((uint32_t)dec->pu32BaseAddr + TABLE_OUTPUT_OFF));	tmp = Table_Output[0] & 0xFFFF;		/* macroblock_number */	if (dec->h263==1)		*mbnum = (tmp >> 2) * dec->mb_width;	else {		*mbnum = tmp;		//extent bit		if (Table_Output[0] & BIT24) {			coding_type = Table_Output[2] & 0xff;			// hardware not support			if (coding_type >= B_VOP)				return -1;			if (coding_type != I_VOP && *fcode_forward)				*fcode_forward = (Table_Output[2] >> 16) & 0xff;			if (coding_type == B_VOP && *fcode_backward)				*fcode_backward = 0;		}	}	return 0;}/*decode headersreturns coding_type, or -1 if error*/#define VIDOBJ_START_CODE_MASK		0x0000001f#define VIDOBJLAY_START_CODE_MASK	0x0000000f#define VIDO_SHORT_HEADER_MASK 0x000003ff#define VIDO_SHORT_HEADER 0x8000#define VIDO_SHORT_HEADER_END 0x3fintBitstreamReadHeaders(Bitstream * bs,					 DECODER * dec,					 uint32_t * rounding,					 uint32_t * quant,					 uint32_t * fcode_forward,					 uint32_t * fcode_backward,					 uint32_t * intra_dc_threshold_bit){	uint32_t vol_ver_id;	uint32_t coding_type;	uint32_t start_code;	uint32_t time_incr = 0;	int32_t time_increment = 0;	do {		BitstreamByteAlign(bs);		start_code = BitstreamShowBits(bs, 32);		vVpe_Indicator(0x93000000 | (start_code >> 16));		vVpe_Indicator(0x93000000 | (start_code & 0xFFFF));		if (start_code == VISOBJSEQ_START_CODE) {			int profile;			BitstreamSkip(bs, 32);	/* visual_object_sequence_start_code */			profile = BitstreamGetBits(bs, 8);	/* profile_and_level_indication */		} else if (start_code == VISOBJSEQ_STOP_CODE) {			BitstreamSkip(bs, 32);	/* visual_object_sequence_stop_code */		} else if (start_code == VISOBJ_START_CODE) {			BitstreamSkip(bs, 32);	/* visual_object_start_code */			if (BitstreamGetBit(bs))	/* is_visual_object_identified */			{				vol_ver_id = BitstreamGetBits(bs, 4);	/* visual_object_ver_id */				BitstreamSkip(bs, 3);	/* visual_object_priority */			} else {				vol_ver_id = 1;			}			if (BitstreamShowBits(bs, 4) != VISOBJ_TYPE_VIDEO)	/* visual_object_type */			{				return -1;			}			BitstreamSkip(bs, 4);			/* video_signal_type */			if (BitstreamGetBit(bs))	/* video_signal_type */			{				BitstreamSkip(bs, 3);	/* video_format */				BitstreamSkip(bs, 1);	/* video_range */				if (BitstreamGetBit(bs))	/* color_description */				{					BitstreamSkip(bs, 8);	/* color_primaries */					BitstreamSkip(bs, 8);	/* transfer_characteristics */					BitstreamSkip(bs, 8);	/* matrix_coefficients */				}			}		} else if ((start_code & ~VIDOBJ_START_CODE_MASK) == VIDOBJ_START_CODE) {			BitstreamSkip(bs, 32);	/* video_object_start_code */		} else if ((start_code & ~VIDO_SHORT_HEADER_MASK) == VIDO_SHORT_HEADER) {			int temp, pei, psupp = 0;			uint32_t width, height;		// ben add			dec->h263 = 1;			dec->quant_type = 0;			*fcode_forward = 1;			dec->quarterpel = 0;			BitstreamSkip(bs, 22);			BitstreamSkip(bs, 8);			READ_MARKER();			temp = BitstreamGetBit(bs);			//  zero_bit			dec->split_screen_indicator = BitstreamGetBit(bs);			//  split_screen_indicator			dec->document_camera_indicator = BitstreamGetBit(bs);			//  document_camera_indicator			dec->full_picture_freeze_release = BitstreamGetBit(bs);			//  full_picture_freeze_release			dec->source_format = BitstreamGetBits(bs,3);			//  source_format			dec->picture_coding_type = BitstreamGetBit(bs);			//  picture_coding_type			temp = BitstreamGetBits(bs,4);			//  four_reserved_zero_bits			*quant = BitstreamGetBits(bs,5);		//	quant			temp = BitstreamGetBit(bs);			//  zero_bit			do {				pei = BitstreamGetBit(bs);				if (pei == 1)					psupp=BitstreamGetBits(bs,8);			} while (pei == 1);			width = vop_width[dec->source_format];			height = vop_height[dec->source_format];//ben add#if 0			dec->width = width;			dec->height = height;#else			/* for auto set width & height */			if (dec->width == 0)					dec->width = width;			if (dec->height == 0)				dec->height = height;			if (width != dec->width || height != dec->height)				return -1;#endif			return dec->picture_coding_type;		}		else if ((start_code & ~VIDOBJLAY_START_CODE_MASK) == VIDOBJLAY_START_CODE) {			BitstreamSkip(bs, 32);	/* video_object_layer_start_code */			BitstreamSkip(bs, 1);	/* random_accessible_vol */			dec->h263 = 0;			/* video_object_type_indication */			if (BitstreamShowBits(bs, 8) != VIDOBJLAY_TYPE_SIMPLE && BitstreamShowBits(bs, 8) != VIDOBJLAY_TYPE_CORE && BitstreamShowBits(bs, 8) != VIDOBJLAY_TYPE_MAIN && BitstreamShowBits(bs, 8) != 0)	/* BUGGY DIVX */			{				return -1;			}			BitstreamSkip(bs, 8);			if (BitstreamGetBit(bs))	/* is_object_layer_identifier */			{				vol_ver_id = BitstreamGetBits(bs, 4);	/* video_object_layer_verid */				BitstreamSkip(bs, 3);	/* video_object_layer_priority */			} else {				vol_ver_id = 1;			}			if (BitstreamGetBits(bs, 4) == VIDOBJLAY_AR_EXTPAR)	/* aspect_ratio_info */			{				BitstreamSkip(bs, 8);	/* par_width */				BitstreamSkip(bs, 8);	/* par_height */			}			if (BitstreamGetBit(bs))	/* vol_control_parameters */			{				BitstreamSkip(bs, 2);	/* chroma_format */				dec->low_delay = (uint8_t)BitstreamGetBit(bs);	/* low_delay */				if (BitstreamGetBit(bs))	/* vbv_parameters */				{					BitstreamSkip(bs, 15);	/* first_half_bitrate */					READ_MARKER();					BitstreamSkip(bs, 15);	/* latter_half_bitrate */					READ_MARKER();					BitstreamSkip(bs, 15);	/* first_half_vbv_buffer_size */					READ_MARKER();					BitstreamSkip(bs, 3);	/* latter_half_vbv_buffer_size */					BitstreamSkip(bs, 11);	/* first_half_vbv_occupancy */					READ_MARKER();					BitstreamSkip(bs, 15);	/* latter_half_vbv_occupancy */					READ_MARKER();				}			}			dec->shape = BitstreamGetBits(bs, 2);	/* video_object_layer_shape */			if (dec->shape == VIDOBJLAY_SHAPE_GRAYSCALE && vol_ver_id != 1) {				BitstreamSkip(bs, 4);	/* video_object_layer_shape_extension */			}			READ_MARKER();/* *************************** for decode B-frame time *********************** */			time_increment_resolution = BitstreamGetBits(bs, 16);	/* vop_time_increment_resolution *//*			time_increment_resolution--; */			if (time_increment_resolution > 0) {				dec->time_inc_bits = MAX(log2bin(time_increment_resolution-1), 1);			} else {				/* dec->time_inc_bits = 0; */				/* for "old" xvid compatibility, set time_inc_bits = 1 */				dec->time_inc_bits = 1;			}			READ_MARKER();			if (BitstreamGetBit(bs))	/* fixed_vop_rate */			{				BitstreamSkip(bs, dec->time_inc_bits);	/* fixed_vop_time_increment */			}			if (dec->shape != VIDOBJLAY_SHAPE_BINARY_ONLY) {				if (dec->shape == VIDOBJLAY_SHAPE_RECTANGULAR) {					uint32_t width, height;					READ_MARKER();					width = BitstreamGetBits(bs, 13);	/* video_object_layer_width */					READ_MARKER();					height = BitstreamGetBits(bs, 13);	/* video_object_layer_height */					READ_MARKER();#if 0				//ben modify					dec->width = width;					dec->height = height;#else					/* for auto set width & height */					if (dec->width == 0)							dec->width = width;					if (dec->height == 0)						dec->height = height;					if (width != dec->width || height != dec->height)						return -1;#endif				}				dec->interlacing = BitstreamGetBit(bs);				if (!BitstreamGetBit(bs))	/* obmc_disable */				{					/* TODO */					/* fucking divx4.02 has this enabled */				}				if (BitstreamGetBits(bs, (vol_ver_id == 1 ? 1 : 2)))	/* sprite_enable */				{					return -1;				}				if (vol_ver_id != 1 &&					dec->shape != VIDOBJLAY_SHAPE_RECTANGULAR) {					BitstreamSkip(bs, 1);	/* sadct_disable */				}				if (BitstreamGetBit(bs))	/* not_8_bit */				{					dec->quant_bits = BitstreamGetBits(bs, 4);	/* quant_precision */					BitstreamSkip(bs, 4);	/* bits_per_pixel */				} else {					dec->quant_bits = 5;				}				if (dec->shape == VIDOBJLAY_SHAPE_GRAYSCALE) {					BitstreamSkip(bs, 1);	/* no_gray_quant_update */					BitstreamSkip(bs, 1);	/* composition_method */					BitstreamSkip(bs, 1);	/* linear_composition */				}				dec->quant_type = BitstreamGetBit(bs);	/* quant_type */				if (dec->quant_type) {					if (BitstreamGetBit(bs))	/* load_intra_quant_mat */					{						uint8_t matrix[64];						bs_get_matrix(bs, matrix);						set_intra_matrix(matrix);					} else {						set_intra_matrix(get_default_intra_matrix());					}					if (BitstreamGetBit(bs))	/* load_inter_quant_mat */					{						uint8_t matrix[64];												bs_get_matrix(bs, matrix);						set_inter_matrix(matrix);					} else						set_inter_matrix(get_default_inter_matrix());					if (dec->shape == VIDOBJLAY_SHAPE_GRAYSCALE) {						return -1;					}				}				if (vol_ver_id != 1) {					dec->quarterpel = BitstreamGetBit(bs);	/* quarter_sample */				}				else {					dec->quarterpel = 0;				}				if (!BitstreamGetBit(bs))	/* complexity_estimation_disable */				{					return -1;				}				dec->resync_marker_disable = BitstreamGetBits(bs,1);				/* resync_marker_disable */				dec->data_partitioned = BitstreamGetBits(bs,1);				if (dec->data_partitioned)	/* data_partitioned */				{					dec->reversible_vlc = BitstreamGetBits(bs,1);				}				if (vol_ver_id != 1) {					if (BitstreamGetBit(bs))	/* newpred_enable */					{						BitstreamSkip(bs, 2);	/* requested_upstream_message_type */						BitstreamSkip(bs, 1);	/* newpred_segment_type */					}					if (BitstreamGetBit(bs))	/* reduced_resolution_vop_enable */					{						return -1;					}				}				if ((dec->scalability = (int8_t)BitstreamGetBit(bs)))	/* scalability */				{					return -1;				}			} else				/* dec->shape == BINARY_ONLY */			{				if (vol_ver_id != 1) {					if (BitstreamGetBit(bs))	/* scalability */					{						return -1;					}				}				BitstreamSkip(bs, 1);	/* resync_marker_disable */			}		}		else if (start_code == GRPOFVOP_START_CODE) {			BitstreamSkip(bs, 32);			{				int hours, minutes, seconds;				hours = BitstreamGetBits(bs, 5);				minutes = BitstreamGetBits(bs, 6);				READ_MARKER();				seconds = BitstreamGetBits(bs, 6);							}			BitstreamSkip(bs, 1);	/* closed_gov */			BitstreamSkip(bs, 1);	/* broken_link */		} else if (start_code == VOP_START_CODE) {			BitstreamSkip(bs, 32);	/* vop_start_code */			coding_type = BitstreamGetBits(bs, 2);	/* vop_coding_type */			dec->picture_coding_type = coding_type;//**********************NOTE*****************************************			coding_type = coding_type & 0x1;/* *************************** for decode B-frame time *********************** */			while (BitstreamGetBit(bs) != 0)	/* time_base */				time_incr++;			READ_MARKER();			if (dec->time_inc_bits) {				time_increment = (BitstreamGetBits(bs, dec->time_inc_bits));	/* vop_time_increment */			}			if (coding_type != B_VOP) {				dec->last_time_base = dec->time_base;				dec->time_base += time_incr;				dec->time = time_increment;/*					dec->time_base * time_increment_resolution +					time_increment;*/				if (time_increment_resolution!= 0)					dec->time_pp = (uint32_t) 						(time_increment_resolution + dec->time - dec->last_non_b_time)%time_increment_resolution;				dec->last_non_b_time = dec->time;			} else {				dec->time = time_increment; /*					(dec->last_time_base +					 time_incr) * time_increment_resolution + time_increment; */				dec->time_bp = (uint32_t) 					(time_increment_resolution + dec->last_non_b_time - dec->time)%time_increment_resolution;			}			READ_MARKER();			if (!BitstreamGetBit(bs))	/* vop_coded */			{				return N_VOP;			}			/* fix a little bug by MinChen <chenm002@163.com> */			if ((dec->shape != VIDOBJLAY_SHAPE_BINARY_ONLY) &&				(coding_type == P_VOP)) {				*rounding = BitstreamGetBit(bs);	/* rounding_type */			}			if (dec->shape != VIDOBJLAY_SHAPE_RECTANGULAR) {				uint32_t width, height;				uint32_t horiz_mc_ref, vert_mc_ref;				width = BitstreamGetBits(bs, 13);				READ_MARKER();				height = BitstreamGetBits(bs, 13);				READ_MARKER();				horiz_mc_ref = BitstreamGetBits(bs, 13);				READ_MARKER();				vert_mc_ref = BitstreamGetBits(bs, 13);				READ_MARKER();				BitstreamSkip(bs, 1);	/* change_conv_ratio_disable */				if (BitstreamGetBit(bs))	/* vop_constant_alpha */				{					BitstreamSkip(bs, 8);	/* vop_constant_alpha_value */				}			}			if (dec->shape != VIDOBJLAY_SHAPE_BINARY_ONLY) {				/* intra_dc_vlc_threshold */				* intra_dc_threshold_bit= BitstreamGetBits(bs, 3);//				* intra_dc_threshold_bit= BitstreamShowBits(bs, 3);//				*intra_dc_threshold = intra_dc_threshold_table[BitstreamGetBits(bs, 3)];				if (dec->interlacing) {					dec->top_field_first = BitstreamGetBit(bs);					dec->alternate_vertical_scan = BitstreamGetBit(bs);				}			}			if ((*quant = BitstreamGetBits(bs, dec->quant_bits)) < 1)	/* vop_quant */				*quant = 1;			if (coding_type != I_VOP) {				*fcode_forward = BitstreamGetBits(bs, 3);	/* fcode_forward *///**********************NOTE*****************************************				if (*fcode_forward < 1) *fcode_forward = 1;			}			if (coding_type == B_VOP) {				*fcode_backward = BitstreamGetBits(bs, 3);	/* fcode_backward */			}			if (!dec->scalability) {				if ((dec->shape != VIDOBJLAY_SHAPE_RECTANGULAR) &&					(coding_type != I_VOP)) {					BitstreamSkip(bs, 1);	/* vop_shape_coding_type */				}			}			return coding_type;		} else if (start_code == USERDATA_START_CODE) {			BitstreamSkip(bs, 32);	/* user_data_start_code */		} else					/* start_code == ? */		{			if (BitstreamShowBits(bs, 24) == 0x000001) {			}			BitstreamSkip(bs, 8);		}	}	while ((BitstreamPos(bs) >> 3) < bs->length);	return -1;					/* ignore it */}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产电影精品久久禁18| 久久丁香综合五月国产三级网站| 91精品国产免费| 国产suv一区二区三区88区| 亚洲一区二区av电影| 337p日本欧洲亚洲大胆精品| 在线精品观看国产| 国产成人啪午夜精品网站男同| 亚洲免费视频中文字幕| 欧美精品一区二区蜜臀亚洲| 欧美在线综合视频| 懂色av一区二区在线播放| 蜜臀av亚洲一区中文字幕| 亚洲视频你懂的| 久久综合色综合88| 在线播放视频一区| 色综合一区二区| 国产福利91精品| 久久99国产乱子伦精品免费| 亚洲小少妇裸体bbw| 国产精品区一区二区三区| 欧美电视剧免费全集观看| 欧美日韩情趣电影| 色婷婷综合久色| av午夜精品一区二区三区| 国产精一品亚洲二区在线视频| 日韩av中文在线观看| 一区二区三区免费观看| 亚洲免费观看在线视频| 国产精品久久久久影院老司 | 欧美日韩一本到| 97久久超碰精品国产| 国产乱码精品一区二区三区av| 青草国产精品久久久久久| 丝袜脚交一区二区| 亚洲自拍都市欧美小说| 成人免费在线播放视频| 国产女主播一区| 国产欧美一区二区三区在线老狼| 精品久久久久一区| 久久色在线观看| 2017欧美狠狠色| 久久久噜噜噜久久中文字幕色伊伊 | 国产aⅴ综合色| 国产成人av网站| 国产suv精品一区二区883| gogogo免费视频观看亚洲一| 成人激情小说网站| 92精品国产成人观看免费| 91亚洲精华国产精华精华液| 色综合久久99| 欧美日韩免费高清一区色橹橹| 欧美午夜精品久久久久久超碰| 欧美精品黑人性xxxx| 日韩限制级电影在线观看| 精品久久久久久无| 日本一区二区免费在线观看视频| 国产精品人人做人人爽人人添| 亚洲色大成网站www久久九九| 亚洲影视在线播放| 日韩成人伦理电影在线观看| 狠狠色丁香婷婷综合久久片| 国产91丝袜在线播放| www.欧美日韩国产在线| 欧美在线观看18| 91免费国产视频网站| 欧美综合欧美视频| 日韩亚洲欧美在线观看| 国产性做久久久久久| 亚洲欧美综合网| 天堂午夜影视日韩欧美一区二区| 久久精品国产**网站演员| 国产白丝精品91爽爽久久| 色狠狠一区二区| 日韩一区二区三区免费看 | 成人综合婷婷国产精品久久免费| www.一区二区| 欧美日韩精品综合在线| 久久久久一区二区三区四区| 亚洲精品老司机| 麻豆精品久久精品色综合| 懂色av一区二区三区免费看| 欧美亚一区二区| 久久久噜噜噜久噜久久综合| 亚洲中国最大av网站| 国产在线日韩欧美| www.日韩av| 日韩欧美一级二级三级| 亚洲美女在线一区| 久久国产剧场电影| 一本久道中文字幕精品亚洲嫩| 日韩一级高清毛片| 亚洲欧美日韩中文播放| 精品午夜久久福利影院| 欧美性受极品xxxx喷水| 久久综合久久99| 日韩av中文在线观看| 91蝌蚪国产九色| 2014亚洲片线观看视频免费| 亚洲国产成人精品视频| 岛国精品在线观看| 精品欧美一区二区在线观看 | 欧美a一区二区| 色诱亚洲精品久久久久久| 2023国产精品自拍| 亚洲成人午夜电影| 91污片在线观看| 国产亚洲成aⅴ人片在线观看 | 亚洲欧美福利一区二区| 国产一区高清在线| 777a∨成人精品桃花网| 伊人色综合久久天天人手人婷| 国产精品白丝av| 日韩视频不卡中文| 亚洲国产一区二区视频| 91亚洲精品久久久蜜桃网站 | 国产人成一区二区三区影院| 免费高清在线视频一区·| 91久久精品一区二区三| 国产精品久久久久久久久搜平片 | 捆绑调教一区二区三区| 欧美肥胖老妇做爰| 亚洲午夜激情网页| 欧美日韩一区中文字幕| 中文字幕一区二区三区在线观看 | 884aa四虎影成人精品一区| 亚洲国产精品麻豆| 欧日韩精品视频| 亚洲猫色日本管| 色av一区二区| 亚洲精品日韩综合观看成人91| www.日韩av| 亚洲精选免费视频| 色综合天天综合色综合av| 中文字幕视频一区| 色综合久久综合网欧美综合网| 自拍偷在线精品自拍偷无码专区 | 欧美日韩一区三区| 亚洲综合激情网| 欧美性受xxxx黑人xyx| 亚洲一区二区三区影院| 欧美在线观看18| 亚洲va天堂va国产va久| 欧美精品日日鲁夜夜添| 日韩av一级电影| 欧美成人精品二区三区99精品| 韩国三级电影一区二区| 国产偷国产偷亚洲高清人白洁 | 成人激情免费电影网址| 国产精品污www在线观看| aaa国产一区| 一区二区三区四区乱视频| 欧美午夜在线观看| 日本亚洲视频在线| 久久综合色之久久综合| 不卡欧美aaaaa| 亚洲一区在线观看免费 | 欧美精品自拍偷拍| 老司机精品视频一区二区三区| 国产日韩av一区二区| voyeur盗摄精品| 亚洲第一综合色| 日韩精品中文字幕在线一区| 久久成人av少妇免费| 欧美极品美女视频| 色婷婷激情一区二区三区| 亚洲国产精品久久久男人的天堂| 日韩欧美国产wwwww| 成人avav在线| 色婷婷综合久久久中文一区二区 | 午夜视频在线观看一区二区三区| 国产亚洲欧美一区在线观看| 精品理论电影在线观看| 日韩美女主播在线视频一区二区三区| 欧美三级日韩三级| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美va亚洲va国产综合| 亚洲丝袜美腿综合| 成人av影视在线观看| 亚洲国产另类精品专区| 久久婷婷久久一区二区三区| 色综合天天狠狠| 麻豆国产91在线播放| 中文字幕亚洲欧美在线不卡| 51久久夜色精品国产麻豆| 顶级嫩模精品视频在线看| 亚洲国产精品精华液网站| 国产欧美一区二区精品仙草咪| 欧美色网站导航| 国产99久久久国产精品潘金网站| 亚洲一二三四在线观看| 国产欧美视频一区二区三区| 欧美人狂配大交3d怪物一区| 粉嫩在线一区二区三区视频| 奇米888四色在线精品| 亚洲免费资源在线播放| 国产欧美日韩中文久久| 欧美一区二区三区思思人| 一道本成人在线| 国产91精品免费|