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

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

?? melp_chn.c

?? MELPe 1200 bps, fixed point
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ================================================================== */
/*                                                                    */ 
/*    Microsoft Speech coder     ANSI-C Source Code                   */
/*    SC1200 1200 bps speech coder                                    */
/*    Fixed Point Implementation      Version 7.0                     */
/*    Copyright (C) 2000, Microsoft Corp.                             */
/*    All rights reserved.                                            */
/*                                                                    */ 
/* ================================================================== */

/*

2.4 kbps MELP Proposed Federal Standard speech coder

Fixed-point C code, version 1.0

Copyright (c) 1998, Texas Instruments, Inc.

Texas Instruments has intellectual property rights on the MELP
algorithm.	The Texas Instruments contact for licensing issues for
commercial and non-government use is William Gordon, Director,
Government Contracts, Texas Instruments Incorporated, Semiconductor
Group (phone 972 480 7442).

The fixed-point version of the voice codec Mixed Excitation Linear
Prediction (MELP) is based on specifications on the C-language software
simulation contained in GSM 06.06 which is protected by copyright and
is the property of the European Telecommunications Standards Institute
(ETSI). This standard is available from the ETSI publication office
tel. +33 (0)4 92 94 42 58. ETSI has granted a license to United States
Department of Defense to use the C-language software simulation contained
in GSM 06.06 for the purposes of the development of a fixed-point
version of the voice codec Mixed Excitation Linear Prediction (MELP).
Requests for authorization to make other use of the GSM 06.06 or
otherwise distribute or modify them need to be addressed to the ETSI
Secretariat fax: +33 493 65 47 16.

*/

/*
	Name: melp_chn_write, melp_chn_read
	Description: Write/read MELP channel bitstream
	Inputs:
	  MELP parameter structure
	Outputs:
	  updated MELP parameter structure (channel pointers)
	Returns: void
*/

#include "sc1200.h"
#include "vq_lib.h"
#include "melp_sub.h"
#include "math_lib.h"
#include "constant.h"
#include "global.h"
#include "qnt12_cb.h"
#include "mathhalf.h"
#include "mathdp31.h"
#include "mat_lib.h"
#include "qnt12.h"
#include "msvq_cb.h"
#include "fsvq_cb.h"
#include "dsp_sub.h"
#include "fec_code.h"
#include "macro.h"

#define X0333_Q15		10923                        /* (1.0/3.0) * (1 << 15) */
#define X0667_Q15		21845                        /* (2.0/3.0) * (1 << 15) */
#define UV_PIND			0                             /* Unvoiced pitch index */
#define INVAL_PIND		1                             /* Invalid pitch index  */
#define SMOOTH			16383                                          /* Q15 */

#define ORIGINAL_BIT_ORDER	0    /* flag to use bit order of original version */
#if (ORIGINAL_BIT_ORDER)                             /* Original linear order */
static Shortword	bit_order[NUM_CH_BITS] = {
	 0,	 1,	 2,	 3,	 4,	 5,
	 6,	 7,	 8,	 9,	10, 11,
	12, 13, 14, 15, 16, 17,
	18, 19, 20, 21, 22, 23,
	24, 25, 26, 27, 28, 29,
	30, 31, 32, 33, 34, 35,
	36, 37, 38, 39, 40, 41,
	42, 43, 44, 45, 46, 47,
	48, 49, 50, 51, 52, 53
};
#else                                      /* Order based on priority of bits */
static Shortword	bit_order[NUM_CH_BITS] = {
	 0,	17,  9,	28, 34,  3,
	 4,	39,  1,	 2,	13, 38,
	14, 10, 11, 40, 15, 21,
	27, 45, 12, 26, 25, 33,
	20, 24, 23, 32, 44, 46,
	22, 31, 53, 52, 51,  7,
	 6,	19, 18, 29, 37, 30,
	36, 35, 43, 42, 16, 41,
	50, 49, 48, 47,  8,	 5
};
#endif

/* Define bit buffer */
static unsigned char	bit_buffer[NUM_CH_BITS];

static Shortword	sync_bit = 0;                                 /* sync bit */

Shortword parity(Shortword x, Shortword leng);

void melp_chn_write(struct quant_param *qpar, unsigned char chbuf[])
{
	register Shortword	i;
	unsigned char	*bit_ptr;
	Shortword	bit_cntr;


	/* FEC: code additional information in redundant indeces */
	fec_code(qpar);

	/* Fill bit buffer */
	bit_ptr = bit_buffer;
	bit_cntr = 0;

	pack_code(qpar->gain_index[1], &bit_ptr, &bit_cntr, 5, 1);

	/* Toggle and write sync bit */
	sync_bit = sub(1, sync_bit);
	pack_code(sync_bit, &bit_ptr, &bit_cntr, 1, 1);

	pack_code(qpar->gain_index[0], &bit_ptr, &bit_cntr, 3, 1);
	pack_code(qpar->pitch_index, &bit_ptr, &bit_cntr, PIT_BITS, 1);
	pack_code(qpar->jit_index[0], &bit_ptr, &bit_cntr, 1, 1);
	pack_code(qpar->bpvc_index[0], &bit_ptr, &bit_cntr, NUM_BANDS - 1, 1);

	for (i = 0; i < MSVQ_STAGES; i++)
		pack_code(qpar->msvq_index[i], &bit_ptr, &bit_cntr, msvq_bits[i], 1);

	pack_code(qpar->fsvq_index, &bit_ptr, &bit_cntr, FS_BITS, 1);

	/* Write channel output buffer */
	qpar->chptr = chbuf;
	qpar->chbit = 0;
	for (i = 0; i < bitNum24; i++){
		pack_code(bit_buffer[bit_order[i]], &qpar->chptr, &qpar->chbit, 1,
                  chwordsize);
		if (i == 0)                             /* set beginning of frame bit */
			*(qpar->chptr) |= (UShortword) 0x8000;
	}
}


BOOLEAN melp_chn_read(struct quant_param *qpar, struct melp_param *par,
					  struct melp_param *prev_par, unsigned char chbuf[])
{
	register Shortword	i;
	unsigned char	*bit_ptr;
	BOOLEAN		erase = FALSE;
	Shortword	index, bit_cntr, dontcare;


	/* Read channel output buffer into bit buffer */
	bit_ptr = bit_buffer;
	qpar->chptr = chbuf;
	qpar->chbit = 0;
	for (i = 0; i < bitNum24; i++){
		erase |= unpack_code(&(qpar->chptr), &(qpar->chbit), &index, 1,
							 chwordsize, ERASE_MASK);
		bit_buffer[bit_order[i]] = (unsigned char) index;
		bit_ptr ++;
	}

	/* Read information from  bit buffer */
	bit_ptr = bit_buffer;
	bit_cntr = 0;

	(void) unpack_code(&bit_ptr, &bit_cntr, &qpar->gain_index[1], 5, 1, 0);

	/* Read sync bit */
	(void) unpack_code(&bit_ptr, &bit_cntr, &dontcare, 1, 1, 0);
	(void) unpack_code(&bit_ptr, &bit_cntr, &qpar->gain_index[0], 3, 1, 0);
	(void) unpack_code(&bit_ptr, &bit_cntr, &(qpar->pitch_index), PIT_BITS,
					   1, 0);

	(void) unpack_code(&bit_ptr, &bit_cntr, &qpar->jit_index[0], 1, 1, 0);
	(void) unpack_code(&bit_ptr, &bit_cntr, &qpar->bpvc_index[0],
					   NUM_BANDS - 1, 1, 0);

	for (i = 0; i < MSVQ_STAGES; i++)
		(void) unpack_code(&bit_ptr, &bit_cntr, &(qpar->msvq_index[i]),
						   msvq_bits[i], 1, 0);

	(void) unpack_code(&bit_ptr, &bit_cntr, &qpar->fsvq_index, FS_BITS, 1, 0);

	/* Clear unvoiced flag */
	qpar->uv_flag[0] = FALSE;

	erase = (BOOLEAN) fec_decode(qpar, erase);

	/* Decode new frame if no erasures occurred */
	if (erase){                                      /* Erasure: frame repeat */
		*par = *prev_par;

		/* Force all subframes to equal last one */
		fill(par->gain, par->gain[NUM_GAINFR - 1], NUM_GAINFR - 1);

	} else {

		/* Decode line spectrum frequencies */
		vq_msd2(msvq_cb, par->lsf, msvq_cb_mean, qpar->msvq_index,
				msvq_levels, MSVQ_STAGES, LPC_ORD, 2);
		dontcare = FS_LEVELS;
		if (qpar->uv_flag[0])
			fill(par->fs_mag, ONE_Q13, NUM_HARM);
		else                                     /* Decode Fourier magnitudes */
			vq_msd2(fsvq_cb, par->fs_mag, (Shortword *) NULL,
					&(qpar->fsvq_index), &dontcare, 1, NUM_HARM, 0);

		/* Decode gain terms with uniform log quantizer */
		q_gain_dec(par->gain, qpar->gain_index, GN_QLO_Q8, GN_QUP_Q8,
				   GN_QLEV_M1_Q10, 5);

		/* Decode voicing information */
		par->uv_flag = qpar->uv_flag[0];

		/* Fractional pitch: Decode logarithmic pitch period */
		if (qpar->uv_flag[0])
			par->pitch = UV_PITCH_Q7;
		else {
			quant_u_dec(qpar->pitch_index, &par->pitch, PIT_QLO_Q12,
						PIT_QUP_Q12, PIT_QLEV_M1_Q8, 7);
			par->pitch = pow10_fxp(par->pitch, 7);
		}

		/* Decode jitter */
		/*	quant_u_dec(par->jit_index, &par->jitter, 0.0, MAX_JITTER, 2);    */

		if (qpar->jit_index[0] == 0)
			par->jitter = 0;
		else
			par->jitter = MAX_JITTER_Q15;

		/* Decode bandpass voicing */
		q_bpvc_dec(par->bpvc, qpar->bpvc_index[0], qpar->uv_flag[0],
				   NUM_BANDS);
	}

	/* Return erase flag */
	return(erase);
}


/****************************************************************************
**
** Function:		low_rate_chn_write
**
** Description: Write channel buffer for low rate ( 1200bps )
**
** Arguments:
**
**	quant_param par ---- The quantization structure
**
** Return value:	None
**
*****************************************************************************/
void low_rate_chn_write(struct quant_param *qpar)
{
	register Shortword	i;
	Shortword	bit_cntr, cnt;
	Shortword	uv1, uv2, cuv;
	Shortword	uv_index = 0, bp_prot1 = 0, bp_prot2 = 0, lsp_prot = 0;
	Shortword	uv_parity;
	unsigned char	*bit_ptr;


	/* FEC: code additional information in redundant indices */
	low_rate_fec_code(qpar);

	/* ====== Fill bit buffer ====== */
    bit_ptr = bit_buffer;
	bit_cntr = 0;

	/* ====== Toggle and write sync bit ====== */
	sync_bit = sub(1, sync_bit);
	pack_code(sync_bit, &bit_ptr, &bit_cntr, 1, 1);

	/* ===== Count the number of voiced frame ===== */
	cnt = 0;
	for (i = 0; i < NF; i++){
		if (!qpar->uv_flag[i])
			cnt++;
	}

	/* ====== Packing global voicing and pitch information ====== */
	if (cnt <= 1){                                         /* UUU UUV UVU VUU */
		uv_index = 0;
		bp_prot1 = 0;
		if (!qpar->uv_flag[0])
			bp_prot2 = 3;
		else if (!qpar->uv_flag[1])
			bp_prot2 = 2;
		else if (!qpar->uv_flag[2])
			bp_prot2 = 1;
		else {
			bp_prot2 = 0;
			lsp_prot = 0;
		}

		if (bp_prot2 == 0)
			qpar->pitch_index = UV_PIND;
		else
		    qpar->pitch_index =
				low_rate_pitch_enc[bp_prot2][qpar->pitch_index];
	} else if (cnt == 2){                                      /* UVV VUV VVU */
		if (qpar->uv_flag[0]){
			uv_index = 4;
			bp_prot1 = 3;
		} else if (qpar->uv_flag[1]){
			uv_index = 2;
			bp_prot1 = 2;
		} else if (qpar->uv_flag[2]){
			uv_index = 1;
			bp_prot1 = 1;
			lsp_prot = 7;
		}
	} else if (cnt == 3){                                              /* VVV */
		uv_index = (Shortword) (qpar->pitch_index / PITCH_VQ_SIZE);
		qpar->pitch_index = sub(qpar->pitch_index,
								(Shortword) (uv_index * PITCH_VQ_SIZE));
		uv_index = vvv_index_map[uv_index];
	}

	pack_code(uv_index, &bit_ptr, &bit_cntr, UV_BITS, 1);

	uv_parity = parity(uv_index, 3);
	
	pack_code(uv_parity, &bit_ptr, &bit_cntr, 1, 1);

	pack_code(qpar->pitch_index, &bit_ptr, &bit_cntr, PITCH_VQ_BITS, 1);

	/* ====== Packing LSF indices ====== */
	uv1 = qpar->uv_flag[0];
	uv2 = qpar->uv_flag[1];
	cuv = qpar->uv_flag[2];

	if ((uv1 == 1) && (uv2 == 1) && (cuv == 1)){
		pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[1][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[0][1], &bit_ptr, &bit_cntr, 4, 1);
		pack_code(qpar->lsf_index[1][1], &bit_ptr, &bit_cntr, 4, 1);
		pack_code(qpar->lsf_index[2][1], &bit_ptr, &bit_cntr, 4, 1);
		pack_code(lsp_prot,				 &bit_ptr, &bit_cntr, 3, 1);
	} else if ((uv1 == 1) && (uv2 == 1) && (cuv != 1)){
		pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[1][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 8, 1);
		pack_code(qpar->lsf_index[2][1], &bit_ptr, &bit_cntr, 6, 1);
		pack_code(qpar->lsf_index[2][2], &bit_ptr, &bit_cntr, 5, 1);
		pack_code(qpar->lsf_index[2][3], &bit_ptr, &bit_cntr, 5, 1);
	} else if ((uv1 == 1) && (uv2 != 1) && (cuv == 1)){
		pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[1][0], &bit_ptr, &bit_cntr, 8, 1);
		pack_code(qpar->lsf_index[1][1], &bit_ptr, &bit_cntr, 6, 1);
		pack_code(qpar->lsf_index[1][2], &bit_ptr, &bit_cntr, 5, 1);
		pack_code(qpar->lsf_index[1][3], &bit_ptr, &bit_cntr, 5, 1);
		pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 9, 1);
	} else if ((uv1 != 1) && (uv2 == 1) && (cuv == 1)){
		pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 8, 1);
		pack_code(qpar->lsf_index[0][1], &bit_ptr, &bit_cntr, 6, 1);
		pack_code(qpar->lsf_index[0][2], &bit_ptr, &bit_cntr, 5, 1);
		pack_code(qpar->lsf_index[0][3], &bit_ptr, &bit_cntr, 5, 1);
		pack_code(qpar->lsf_index[1][0], &bit_ptr, &bit_cntr, 9, 1);
		pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 9, 1);
	} else {
		if ((uv1 != 1) && (uv2 != 1) && (cuv == 1)){
			/* ---- Interpolation [4 inp + (8+6+6+6) res + 9 uv] ---- */
			pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 9, 1);
		} else {
			pack_code(qpar->lsf_index[0][0], &bit_ptr, &bit_cntr, 8, 1);
			pack_code(qpar->lsf_index[0][1], &bit_ptr, &bit_cntr, 6, 1);
			pack_code(qpar->lsf_index[0][2], &bit_ptr, &bit_cntr, 5, 1);
			pack_code(qpar->lsf_index[0][3], &bit_ptr, &bit_cntr, 5, 1);
		}

		pack_code(qpar->lsf_index[1][0], &bit_ptr, &bit_cntr, 4, 1);

		if ((uv1 != 1) && (uv2 != 1) && (cuv == 1)){
			pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 8, 1);
			pack_code(qpar->lsf_index[2][1], &bit_ptr, &bit_cntr, 6, 1);
			pack_code(qpar->lsf_index[2][2], &bit_ptr, &bit_cntr, 6, 1);
			pack_code(qpar->lsf_index[2][3], &bit_ptr, &bit_cntr, 6, 1);
			pack_code(lsp_prot,				 &bit_ptr, &bit_cntr, 3, 1);
		} else {
			pack_code(qpar->lsf_index[2][0], &bit_ptr, &bit_cntr, 8, 1);
			pack_code(qpar->lsf_index[2][1], &bit_ptr, &bit_cntr, 6, 1);
		}
	}

	/* ====== Packing gain index ====== */
	pack_code(qpar->gain_index[0], &bit_ptr, &bit_cntr, GAIN_VQ_BITS, 1);

	/* ====== Packing voicing indices ====== */
	for (i = 0; i < NF; i++){
		if (!qpar->uv_flag[i])
 			pack_code(qpar->bpvc_index[i], &bit_ptr, &bit_cntr, 2, 1);
	}
	if (cnt == 2)
		pack_code(bp_prot1, &bit_ptr, &bit_cntr, 2, 1);
	else if (cnt == 1){
		pack_code(bp_prot2, &bit_ptr, &bit_cntr, 2, 1);
		pack_code(bp_prot1, &bit_ptr, &bit_cntr, 2, 1);
	} else if (cnt == 0){                                              /* UUU */
  	    pack_code(qpar->bpvc_index[0], &bit_ptr, &bit_cntr, 2, 1);
	    pack_code(bp_prot2,            &bit_ptr, &bit_cntr, 2, 1);
	    pack_code(bp_prot1,            &bit_ptr, &bit_cntr, 2, 1);
	}

	/* ====== Packing Fourier magnitudes ====== */
	pack_code(qpar->fs_index, &bit_ptr, &bit_cntr, FS_BITS, 1);

	/* ====== Packing jitter index ====== */
	pack_code(qpar->jit_index[0], &bit_ptr, &bit_cntr, 1, 1);

	/* ======== Write channel output buffer ======== */
	qpar->chptr = chbuf;
	qpar->chbit = 0;
	for (i = 0; i < bitNum12; i++){
		pack_code(bit_buffer[i], &qpar->chptr, &qpar->chbit, 1, chwordsize);
		if (i == 0)
			*(qpar->chptr) |= 0x8000;           /* set beginning of frame bit */
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品性色 | 欧美高清视频www夜色资源网| 国产农村妇女毛片精品久久麻豆 | 一本大道综合伊人精品热热| 国产三区在线成人av| 国产一区二区三区四区五区入口 | 精品久久久久香蕉网| 另类人妖一区二区av| 日韩欧美国产综合在线一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 国产成人aaa| 国产精品无码永久免费888| 成人激情免费网站| 国产精品久久久久久久久久免费看| av在线一区二区三区| 一区二区三区欧美在线观看| 88在线观看91蜜桃国自产| 蜜臀国产一区二区三区在线播放| 91精品国产品国语在线不卡| 久久成人久久鬼色| 中文av字幕一区| 欧美亚洲高清一区二区三区不卡| 日本视频中文字幕一区二区三区| 久久亚洲精华国产精华液| 99国产精品99久久久久久| 亚洲一级二级三级在线免费观看| 日韩精品一区国产麻豆| 成人h精品动漫一区二区三区| 一区二区三区欧美视频| 日韩精品一区二| 91一区二区三区在线播放| 偷拍一区二区三区四区| xfplay精品久久| 欧美最猛黑人xxxxx猛交| 久久69国产一区二区蜜臀 | 亚洲欧洲综合另类在线| 欧美另类久久久品| 久久97超碰色| 亚洲一区二区三区在线| 久久亚洲精华国产精华液 | 在线观看一区不卡| 狠狠色丁香久久婷婷综合_中 | 久久久久久亚洲综合影院红桃| 日本乱人伦aⅴ精品| 国产精品中文有码| 污片在线观看一区二区| 国产精品天天看| 日韩精品专区在线影院重磅| 94色蜜桃网一区二区三区| 黑人巨大精品欧美黑白配亚洲| 夜夜精品浪潮av一区二区三区| 久久久九九九九| 欧美精品乱码久久久久久| 99久久久国产精品免费蜜臀| 国内久久精品视频| 日韩专区一卡二卡| 亚洲女同ⅹxx女同tv| 国产婷婷色一区二区三区在线| 制服丝袜亚洲网站| 欧美最猛黑人xxxxx猛交| www.亚洲免费av| 国产二区国产一区在线观看| 日韩成人一级片| 夜夜嗨av一区二区三区中文字幕| 国产精品久99| 国产午夜一区二区三区| 欧美一级xxx| 欧美日韩久久一区| 色婷婷狠狠综合| 99精品在线观看视频| 国产成人综合在线播放| 久久精品99国产精品| 亚洲第一综合色| 亚洲一区二区三区在线| 欧美午夜精品免费| 99亚偷拍自图区亚洲| 不卡一二三区首页| 成人黄页毛片网站| 国产盗摄女厕一区二区三区| 激情国产一区二区 | 自拍偷拍亚洲综合| 91网站最新网址| 成人美女视频在线观看| 成人毛片在线观看| 91视频在线观看| 色综合久久久网| 色综合久久久久网| 91在线视频播放地址| 91久久精品一区二区| 精品视频在线免费看| 欧美精品第1页| 日韩限制级电影在线观看| 91精品国产色综合久久不卡蜜臀 | 精品一区二区综合| 国产美女av一区二区三区| 国产精品123区| www.日韩精品| 欧美性猛片aaaaaaa做受| 欧美图片一区二区三区| 在线播放日韩导航| 精品国产区一区| 国产欧美精品一区| 91久久精品午夜一区二区| 欧美亚洲国产bt| 日韩欧美电影一区| 久久精品一区二区三区四区| 国产欧美一区二区精品性色超碰| 中文字幕一区三区| 亚洲精品v日韩精品| 视频一区欧美日韩| 国产一区二区三区四区五区美女| www.性欧美| 欧美一区三区四区| 国产欧美日韩精品一区| 亚洲精品乱码久久久久久久久| 午夜久久电影网| 午夜精品福利一区二区蜜股av| 久久久久久毛片| 综合激情网...| 日韩激情在线观看| 波多野结衣欧美| 7777精品伊人久久久大香线蕉的| 久久久高清一区二区三区| 尤物在线观看一区| 另类欧美日韩国产在线| 91香蕉视频mp4| 日韩欧美中文字幕精品| 国产精品你懂的在线| 视频一区二区欧美| 韩国精品一区二区| 欧美午夜精品一区二区蜜桃| 国产日韩精品一区二区三区| 日韩免费观看高清完整版| 日韩一区在线免费观看| 伦理电影国产精品| 色一情一乱一乱一91av| 精品88久久久久88久久久| 亚洲国产精品尤物yw在线观看| 国产成人av电影在线| 6080日韩午夜伦伦午夜伦| 国产精品国模大尺度视频| 蜜桃久久精品一区二区| 色婷婷亚洲精品| 国产午夜精品久久久久久久 | 久久久久久久久久久久电影| 欧美xxxxx牲另类人与| 亚洲国产cao| 91麻豆文化传媒在线观看| 国产日韩视频一区二区三区| 日韩精品亚洲一区二区三区免费| 97se亚洲国产综合自在线不卡 | 欧美亚州韩日在线看免费版国语版| www日韩大片| 日韩国产精品久久| 欧美色爱综合网| 亚洲精品视频免费观看| 国产精品77777| 精品国产伦一区二区三区免费 | 日韩不卡手机在线v区| 成人免费的视频| 日韩欧美一区二区免费| 午夜影视日本亚洲欧洲精品| 91蝌蚪porny成人天涯| 中文字幕一区二区三区在线观看| 国产高清精品网站| 欧美激情一区二区三区蜜桃视频| 国产精品一区二区三区网站| 久久综合九色综合欧美亚洲| 久久国产精品99久久人人澡| 欧美一区二区在线视频| 免费成人在线网站| 91精品国产高清一区二区三区| 日韩中文字幕麻豆| 国产精品一区二区x88av| 日韩欧美一区电影| 国产麻豆精品视频| 国产亚洲欧美色| 成人蜜臀av电影| 亚洲激情一二三区| 欧美日韩中文字幕精品| 丝袜美腿亚洲一区二区图片| 欧美天堂一区二区三区| 亚洲午夜免费电影| 91精品国产91久久久久久最新毛片| 久久国产精品72免费观看| 日韩美女一区二区三区四区| 国产麻豆精品久久一二三| 欧美激情在线看| 色视频成人在线观看免| 亚洲一区二区在线观看视频| 在线观看亚洲a| 免费在线看成人av| 国产激情视频一区二区在线观看| 中文字幕日韩一区| 欧美视频一区在线观看| 麻豆国产精品777777在线| 国产片一区二区| 在线视频亚洲一区| 青青草一区二区三区| 久久久久国产精品免费免费搜索|