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

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

?? mixer.c

?? 講述linux的初始化過程
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ********************************************************************** *     mixer.c - /dev/mixer interface for emu10k1 driver *     Copyright 1999, 2000 Creative Labs, Inc. * *     This program uses some code from es1371.c, Copyright 1998-1999 *     Thomas Sailer * ********************************************************************** * *     Date                 Author          Summary of changes *     ----                 ------          ------------------ *     October 20, 1999     Bertrand Lee    base code release *     November 2, 1999     Alan Cox        cleaned up stuff * ********************************************************************** * *     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. * ********************************************************************** */#define __NO_VERSION__		/* Kernel version only defined once */#include <linux/module.h>#include <linux/version.h>#include <linux/bitops.h>#include <asm/uaccess.h>#include "hwaccess.h"#include "8010.h"#include "recmgr.h"#define AC97_PESSIMISTIC#undef OSS_DOCUMENTED_MIXER_SEMANTICS#define vol_to_hw_5(swvol) (31 - (((swvol) * 31) / 100))#define vol_to_hw_4(swvol) (15 - (((swvol) * 15) / 100))#define vol_to_sw_5(hwvol) (((31 - (hwvol)) * 100) / 31)#define vol_to_sw_4(hwvol) (((15 - (hwvol)) * 100) / 15)#define DM_MUTE 0x80000000#ifdef PRIVATE_PCM_VOLUMEstruct sblive_pcm_volume_rec sblive_pcm_volume[MAX_PCM_CHANNELS];u16 pcm_last_mixer = 0x6464;#endif/* Mapping arrays */static const unsigned int recsrc[] = {	SOUND_MASK_MIC,	SOUND_MASK_CD,	SOUND_MASK_VIDEO,	SOUND_MASK_LINE1,	SOUND_MASK_LINE,	SOUND_MASK_VOLUME,	SOUND_MASK_OGAIN,	/* Used to be PHONEOUT */	SOUND_MASK_PHONEIN,#ifdef TONE_CONTROL	SOUND_MASK_TREBLE,	SOUND_MASK_BASS,#endif};static const unsigned char volreg[SOUND_MIXER_NRDEVICES] = {	/* 5 bit stereo */	[SOUND_MIXER_LINE] = AC97_LINEINVOLUME,	[SOUND_MIXER_CD] = AC97_CDVOLUME,	[SOUND_MIXER_VIDEO] = AC97_VIDEOVOLUME,	[SOUND_MIXER_LINE1] = AC97_AUXVOLUME,/*	[SOUND_MIXER_PCM] = AC97_PCMOUTVOLUME, */	/* 5 bit stereo, setting 6th bit equal to maximum attenuation *//*	[SOUND_MIXER_VOLUME] = AC97_MASTERVOLUME, */	[SOUND_MIXER_PHONEOUT] = AC97_HEADPHONEVOLUME,	/* 5 bit mono, setting 6th bit equal to maximum attenuation */	[SOUND_MIXER_OGAIN] = AC97_MASTERVOLUMEMONO,	/* 5 bit mono */	[SOUND_MIXER_PHONEIN] = AC97_PHONEVOLUME,	/* 4 bit mono but shifted by 1 */	[SOUND_MIXER_SPEAKER] = AC97_PCBEEPVOLUME,	/* 5 bit mono, 7th bit = preamp */	[SOUND_MIXER_MIC] = AC97_MICVOLUME,	/* 4 bit stereo */	[SOUND_MIXER_RECLEV] = AC97_RECORDGAIN,	/* 4 bit mono */	[SOUND_MIXER_IGAIN] = AC97_RECORDGAINMIC,	/* test code */	[SOUND_MIXER_BASS] = AC97_GENERALPURPOSE,	[SOUND_MIXER_TREBLE] = AC97_MASTERTONE,	[SOUND_MIXER_LINE2] = AC97_PCMOUTVOLUME,	[SOUND_MIXER_DIGITAL2] = AC97_MASTERVOLUME};#ifdef OSS_DOCUMENTED_MIXER_SEMANTICS#define swab(x) ((((x) >> 8) & 0xff) | (((x) << 8) & 0xff00))/* FIXME: mixer_rdch() is broken. */static int mixer_rdch(struct emu10k1_card *card, unsigned int ch, int *arg){	u16 reg;	int j;	int nL, nR;	switch (ch) {	case SOUND_MIXER_PCM:	case SOUND_MIXER_VOLUME:#ifdef TONE_CONTROL	case SOUND_MIXER_TREBLE:        case SOUND_MIXER_BASS:#endif                return put_user(0x0000, (int *) arg);	default:		break;	}	if(card->isaps)		return -EINVAL;	switch (ch) {	case SOUND_MIXER_LINE:	case SOUND_MIXER_CD:	case SOUND_MIXER_VIDEO:	case SOUND_MIXER_LINE1:		sblive_readac97(card, volreg[ch], &reg);		nL = ((~(reg >> 8) & 0x1f) * 100) / 32;		nR = (~(reg & 0x1f) * 100) / 32;		DPD(2, "mixer_rdch: l=%d, r=%d\n", nL, nR);		return put_user(reg & 0x8000 ? 0 : (nL << 8) | nR, (int *) arg);	case SOUND_MIXER_OGAIN:	case SOUND_MIXER_PHONEIN:		sblive_readac97(card, volreg[ch], &reg);		return put_user(reg & 0x8000 ? 0 : ~(reg & 0x1f) * 0x64 / 0x20 * 0x101, (int *) arg);	case SOUND_MIXER_SPEAKER:		sblive_readac97(card, volreg[ch], &reg);		return put_user(reg & 0x8000 ? 0 : ~((reg >> 1) & 0xf) * 0x64 / 0x10 * 0x101, (int *) arg);	case SOUND_MIXER_MIC:		sblive_readac97(card, volreg[ch], &reg);		return put_user(reg & 0x8000 ? 0 : ~(reg & 0x1f) * 0x64 / 0x20 * 0x101 + ((reg & 0x40) ? 0x1e1e : 0), (int *) arg);	case SOUND_MIXER_RECLEV:		sblive_readac97(card, volreg[ch], &reg);		nL = ((~(reg >> 8) & 0x1f) * 100) / 16;		nR = (~(reg & 0x1f) * 100) / 16;		return put_user(reg & 0x8000 ? 0 : (nL << 8) | nR, (int *) arg);	default:		return -EINVAL;	}}#endif				/* OSS_DOCUMENTED_MIXER_SEMANTICS */static const unsigned char volidx[SOUND_MIXER_NRDEVICES] = {	/* 5 bit stereo */	[SOUND_MIXER_LINE] = 1,	[SOUND_MIXER_CD] = 2,	[SOUND_MIXER_VIDEO] = 3,	[SOUND_MIXER_LINE1] = 4,	[SOUND_MIXER_PCM] = 5,	/* 6 bit stereo */	[SOUND_MIXER_VOLUME] = 6,	[SOUND_MIXER_PHONEOUT] = 7,	/* 6 bit mono */	[SOUND_MIXER_OGAIN] = 8,	[SOUND_MIXER_PHONEIN] = 9,	/* 4 bit mono but shifted by 1 */	[SOUND_MIXER_SPEAKER] = 10,	/* 6 bit mono + preamp */	[SOUND_MIXER_MIC] = 11,	/* 4 bit stereo */	[SOUND_MIXER_RECLEV] = 12,	/* 4 bit mono */	[SOUND_MIXER_IGAIN] = 13,	[SOUND_MIXER_TREBLE] = 14,	[SOUND_MIXER_BASS] = 15,	[SOUND_MIXER_LINE2] = 16,	[SOUND_MIXER_LINE3] = 17,	[SOUND_MIXER_DIGITAL1] = 18,	[SOUND_MIXER_DIGITAL2] = 19};#ifdef TONE_CONTROLstatic const u32 bass_table[41][5] = {	{ 0x3e4f844f, 0x84ed4cc3, 0x3cc69927, 0x7b03553a, 0xc4da8486 },	{ 0x3e69a17a, 0x84c280fb, 0x3cd77cd4, 0x7b2f2a6f, 0xc4b08d1d },	{ 0x3e82ff42, 0x849991d5, 0x3ce7466b, 0x7b5917c6, 0xc48863ee },	{ 0x3e9bab3c, 0x847267f0, 0x3cf5ffe8, 0x7b813560, 0xc461f22c },	{ 0x3eb3b275, 0x844ced29, 0x3d03b295, 0x7ba79a1c, 0xc43d223b },	{ 0x3ecb2174, 0x84290c8b, 0x3d106714, 0x7bcc5ba3, 0xc419dfa5 },	{ 0x3ee2044b, 0x8406b244, 0x3d1c2561, 0x7bef8e77, 0xc3f8170f },	{ 0x3ef86698, 0x83e5cb96, 0x3d26f4d8, 0x7c114600, 0xc3d7b625 },	{ 0x3f0e5390, 0x83c646c9, 0x3d30dc39, 0x7c319498, 0xc3b8ab97 },	{ 0x3f23d60b, 0x83a81321, 0x3d39e1af, 0x7c508b9c, 0xc39ae704 },	{ 0x3f38f884, 0x838b20d2, 0x3d420ad2, 0x7c6e3b75, 0xc37e58f1 },	{ 0x3f4dc52c, 0x836f60ef, 0x3d495cab, 0x7c8ab3a6, 0xc362f2be },	{ 0x3f6245e8, 0x8354c565, 0x3d4fdbb8, 0x7ca602d6, 0xc348a69b },	{ 0x3f76845f, 0x833b40ec, 0x3d558bf0, 0x7cc036df, 0xc32f677c },	{ 0x3f8a8a03, 0x8322c6fb, 0x3d5a70c4, 0x7cd95cd7, 0xc317290b },	{ 0x3f9e6014, 0x830b4bc3, 0x3d5e8d25, 0x7cf1811a, 0xc2ffdfa5 },	{ 0x3fb20fae, 0x82f4c420, 0x3d61e37f, 0x7d08af56, 0xc2e9804a },	{ 0x3fc5a1cc, 0x82df2592, 0x3d6475c3, 0x7d1ef294, 0xc2d40096 },	{ 0x3fd91f55, 0x82ca6632, 0x3d664564, 0x7d345541, 0xc2bf56b9 },	{ 0x3fec9120, 0x82b67cac, 0x3d675356, 0x7d48e138, 0xc2ab796e },	{ 0x40000000, 0x82a36037, 0x3d67a012, 0x7d5c9fc9, 0xc2985fee },	{ 0x401374c7, 0x8291088a, 0x3d672b93, 0x7d6f99c3, 0xc28601f2 },	{ 0x4026f857, 0x827f6dd7, 0x3d65f559, 0x7d81d77c, 0xc27457a3 },	{ 0x403a939f, 0x826e88c5, 0x3d63fc63, 0x7d9360d4, 0xc2635996 },	{ 0x404e4faf, 0x825e5266, 0x3d613f32, 0x7da43d42, 0xc25300c6 },	{ 0x406235ba, 0x824ec434, 0x3d5dbbc3, 0x7db473d7, 0xc243468e },	{ 0x40764f1f, 0x823fd80c, 0x3d596f8f, 0x7dc40b44, 0xc23424a2 },	{ 0x408aa576, 0x82318824, 0x3d545787, 0x7dd309e2, 0xc2259509 },	{ 0x409f4296, 0x8223cf0b, 0x3d4e7012, 0x7de175b5, 0xc2179218 },	{ 0x40b430a0, 0x8216a7a1, 0x3d47b505, 0x7def5475, 0xc20a1670 },	{ 0x40c97a0a, 0x820a0d12, 0x3d4021a1, 0x7dfcab8d, 0xc1fd1cf5 },	{ 0x40df29a6, 0x81fdfad6, 0x3d37b08d, 0x7e098028, 0xc1f0a0ca },	{ 0x40f54ab1, 0x81f26ca9, 0x3d2e5bd1, 0x7e15d72b, 0xc1e49d52 },	{ 0x410be8da, 0x81e75e89, 0x3d241cce, 0x7e21b544, 0xc1d90e24 },	{ 0x41231051, 0x81dcccb3, 0x3d18ec37, 0x7e2d1ee6, 0xc1cdef10 },	{ 0x413acdd0, 0x81d2b39e, 0x3d0cc20a, 0x7e38184e, 0xc1c33c13 },	{ 0x41532ea7, 0x81c90ffb, 0x3cff9585, 0x7e42a58b, 0xc1b8f15a },	{ 0x416c40cd, 0x81bfdeb2, 0x3cf15d21, 0x7e4cca7c, 0xc1af0b3f },	{ 0x418612ea, 0x81b71cdc, 0x3ce20e85, 0x7e568ad3, 0xc1a58640 },	{ 0x41a0b465, 0x81aec7c5, 0x3cd19e7c, 0x7e5fea1e, 0xc19c5f03 },	{ 0x41bc3573, 0x81a6dcea, 0x3cc000e9, 0x7e68ebc2, 0xc1939250 }};static const u32 treble_table[41][5] = {	{ 0x0125cba9, 0xfed5debd, 0x00599b6c, 0x0d2506da, 0xfa85b354 },	{ 0x0142f67e, 0xfeb03163, 0x0066cd0f, 0x0d14c69d, 0xfa914473 },	{ 0x016328bd, 0xfe860158, 0x0075b7f2, 0x0d03eb27, 0xfa9d32d2 },	{ 0x0186b438, 0xfe56c982, 0x00869234, 0x0cf27048, 0xfaa97fca },	{ 0x01adf358, 0xfe21f5fe, 0x00999842, 0x0ce051c2, 0xfab62ca5 },	{ 0x01d949fa, 0xfde6e287, 0x00af0d8d, 0x0ccd8b4a, 0xfac33aa7 },	{ 0x02092669, 0xfda4d8bf, 0x00c73d4c, 0x0cba1884, 0xfad0ab07 },	{ 0x023e0268, 0xfd5b0e4a, 0x00e27b54, 0x0ca5f509, 0xfade7ef2 },	{ 0x0278645c, 0xfd08a2b0, 0x01012509, 0x0c911c63, 0xfaecb788 },	{ 0x02b8e091, 0xfcac9d1a, 0x0123a262, 0x0c7b8a14, 0xfafb55df },	{ 0x03001a9a, 0xfc45e9ce, 0x014a6709, 0x0c65398f, 0xfb0a5aff },	{ 0x034ec6d7, 0xfbd3576b, 0x0175f397, 0x0c4e2643, 0xfb19c7e4 },	{ 0x03a5ac15, 0xfb5393ee, 0x01a6d6ed, 0x0c364b94, 0xfb299d7c },	{ 0x0405a562, 0xfac52968, 0x01ddafae, 0x0c1da4e2, 0xfb39dca5 },	{ 0x046fa3fe, 0xfa267a66, 0x021b2ddd, 0x0c042d8d, 0xfb4a8631 },	{ 0x04e4b17f, 0xf975be0f, 0x0260149f, 0x0be9e0f2, 0xfb5b9ae0 },	{ 0x0565f220, 0xf8b0fbe5, 0x02ad3c29, 0x0bceba73, 0xfb6d1b60 },	{ 0x05f4a745, 0xf7d60722, 0x030393d4, 0x0bb2b578, 0xfb7f084d },	{ 0x06923236, 0xf6e279bd, 0x03642465, 0x0b95cd75, 0xfb916233 },	{ 0x07401713, 0xf5d3aef9, 0x03d01283, 0x0b77fded, 0xfba42984 },	{ 0x08000000, 0xf4a6bd88, 0x0448a161, 0x0b594278, 0xfbb75e9f },	{ 0x08d3c097, 0xf3587131, 0x04cf35a4, 0x0b3996c9, 0xfbcb01cb },	{ 0x09bd59a2, 0xf1e543f9, 0x05655880, 0x0b18f6b2, 0xfbdf1333 },	{ 0x0abefd0f, 0xf04956ca, 0x060cbb12, 0x0af75e2c, 0xfbf392e8 },	{ 0x0bdb123e, 0xee806984, 0x06c739fe, 0x0ad4c962, 0xfc0880dd },	{ 0x0d143a94, 0xec85d287, 0x0796e150, 0x0ab134b0, 0xfc1ddce5 },	{ 0x0e6d5664, 0xea547598, 0x087df0a0, 0x0a8c9cb6, 0xfc33a6ad },	{ 0x0fe98a2a, 0xe7e6ba35, 0x097edf83, 0x0a66fe5b, 0xfc49ddc2 },	{ 0x118c4421, 0xe536813a, 0x0a9c6248, 0x0a4056d7, 0xfc608185 },	{ 0x1359422e, 0xe23d19eb, 0x0bd96efb, 0x0a18a3bf, 0xfc77912c },	{ 0x1554982b, 0xdef33645, 0x0d3942bd, 0x09efe312, 0xfc8f0bc1 },	{ 0x1782b68a, 0xdb50deb1, 0x0ebf676d, 0x09c6133f, 0xfca6f019 },	{ 0x19e8715d, 0xd74d64fd, 0x106fb999, 0x099b3337, 0xfcbf3cd6 },	{ 0x1c8b07b8, 0xd2df56ab, 0x124e6ec8, 0x096f4274, 0xfcd7f060 },	{ 0x1f702b6d, 0xcdfc6e92, 0x14601c10, 0x0942410b, 0xfcf108e5 },	{ 0x229e0933, 0xc89985cd, 0x16a9bcfa, 0x09142fb5, 0xfd0a8451 },	{ 0x261b5118, 0xc2aa8409, 0x1930bab6, 0x08e50fdc, 0xfd24604d },	{ 0x29ef3f5d, 0xbc224f28, 0x1bfaf396, 0x08b4e3aa, 0xfd3e9a3b },	{ 0x2e21a59b, 0xb4f2ba46, 0x1f0ec2d6, 0x0883ae15, 0xfd592f33 },	{ 0x32baf44b, 0xad0c7429, 0x227308a3, 0x085172eb, 0xfd741bfd },	{ 0x37c4448b, 0xa45ef51d, 0x262f3267, 0x081e36dc, 0xfd8f5d14 }};static void set_bass(struct emu10k1_card *card, int l, int r){	int i;	l = (l * 40 + 50) / 100;	r = (r * 40 + 50) / 100;	for (i = 0; i < 5; i++) {		sblive_writeptr(card, FXGPREGBASE + 0x80 + (i * 2), 0, bass_table[l][i]);		sblive_writeptr(card, FXGPREGBASE + 0x80 + (i * 2) + 1, 0, bass_table[r][i]);	}}static void set_treble(struct emu10k1_card *card, int l, int r){	int i;	l = (l * 40 + 50) / 100;	r = (r * 40 + 50) / 100;	for (i = 0; i < 5; i++) {		sblive_writeptr(card, FXGPREGBASE + 0x90 + (i * 2), 0, treble_table[l][i]);		sblive_writeptr(card, FXGPREGBASE + 0x90 + (i * 2) + 1, 0, treble_table[r][i]);	}}#endifstatic const u32 db_table[101] = {	0x00000000, 0x01571f82, 0x01674b41, 0x01783a1b, 0x0189f540,	0x019c8651, 0x01aff763, 0x01c45306, 0x01d9a446, 0x01eff6b8,	0x0207567a, 0x021fd03d, 0x0239714c, 0x02544792, 0x027061a1,	0x028dcebb, 0x02ac9edc, 0x02cce2bf, 0x02eeabe8, 0x03120cb0,	0x0337184e, 0x035de2df, 0x03868173, 0x03b10a18, 0x03dd93e9,	0x040c3713, 0x043d0cea, 0x04702ff3, 0x04a5bbf2, 0x04ddcdfb,	0x0518847f, 0x0555ff62, 0x05966005, 0x05d9c95d, 0x06206005,	0x066a4a52, 0x06b7b067, 0x0708bc4c, 0x075d9a01, 0x07b6779d,	0x08138561, 0x0874f5d5, 0x08dafde1, 0x0945d4ed, 0x09b5b4fd,	0x0a2adad1, 0x0aa58605, 0x0b25f936, 0x0bac7a24, 0x0c3951d8,	0x0ccccccc, 0x0d673b17, 0x0e08f093, 0x0eb24510, 0x0f639481,	0x101d3f2d, 0x10dfa9e6, 0x11ab3e3f, 0x12806ac3, 0x135fa333,	0x144960c5, 0x153e2266, 0x163e6cfe, 0x174acbb7, 0x1863d04d,	0x198a1357, 0x1abe349f, 0x1c00db77, 0x1d52b712, 0x1eb47ee6,	0x2026f30f, 0x21aadcb6, 0x23410e7e, 0x24ea64f9, 0x26a7c71d,	0x287a26c4, 0x2a62812c, 0x2c61df84, 0x2e795779, 0x30aa0bcf,	0x32f52cfe, 0x355bf9d8, 0x37dfc033, 0x3a81dda4, 0x3d43c038,	0x4026e73c, 0x432ce40f, 0x46575af8, 0x49a8040f, 0x4d20ac2a,	0x50c335d3, 0x54919a57, 0x588dead1, 0x5cba514a, 0x611911ea,	0x65ac8c2f, 0x6a773c39, 0x6f7bbc23, 0x74bcc56c, 0x7a3d3272,	0x7fffffff,};static void aps_update_digital(struct emu10k1_card *card){	int i, l1, r1, l2, r2;		i = card->arrwVol[volidx[SOUND_MIXER_VOLUME]];	l1 = (i & 0xff);	r1 = ((i >> 8) & 0xff);	i = card->arrwVol[volidx[SOUND_MIXER_PCM]];	l2 = (i & 0xff);	r2 = ((i >> 8) & 0xff);		for (i = 0; i < 108; i++) {		if (card->digmix[i] != DM_MUTE) {			if ((i % 18 >= 0) && (i % 18 < 4))				card->digmix[i] = ((i & 1) ? ((u64) db_table[r1] * (u64) db_table[r2]) : ((u64) db_table[l1] * (u64) db_table[l2])) >> 31;			else				card->digmix[i] = (i & 1) ? db_table[r1] : db_table[l1];			sblive_writeptr(card, FXGPREGBASE + 0x10 + i, 0, card->digmix[i]);		}	}}static void update_digital(struct emu10k1_card *card){	int i, k, l1, r1, l2, r2, l3, r3, l4, r4;	u64 j;	i = card->arrwVol[volidx[SOUND_MIXER_VOLUME]];	l1 = (i & 0xff);	r1 = ((i >> 8) & 0xff);	i = card->arrwVol[volidx[SOUND_MIXER_LINE3]];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜短视频| 91久久人澡人人添人人爽欧美| 色香蕉成人二区免费| 自拍偷在线精品自拍偷无码专区| 成人小视频免费观看| 综合久久久久综合| 日韩女优制服丝袜电影| 亚洲欧洲综合另类| 91视频在线观看| 亚洲国产精品久久艾草纯爱 | 日本免费新一区视频| 欧美在线视频不卡| 热久久国产精品| 亚洲国产高清在线观看视频| 91麻豆高清视频| 看片网站欧美日韩| 1024亚洲合集| 久久毛片高清国产| 欧美日韩高清影院| 99在线精品免费| 国产精品一卡二卡在线观看| 亚洲自拍偷拍图区| 国产精品久久久久婷婷二区次| 成人av在线播放网站| 国产一区二区三区四区五区美女| 1000精品久久久久久久久| www亚洲一区| 精品国产亚洲在线| 欧美日韩国产首页在线观看| 色婷婷综合久久久| av电影在线观看完整版一区二区| 一区二区三区免费观看| 欧美国产精品专区| 国产精品欧美一级免费| 欧美韩国日本综合| 久久蜜桃av一区精品变态类天堂| 欧美精品九九99久久| 欧美色图激情小说| 欧美日韩黄色一区二区| 欧美在线小视频| 日本不卡视频在线| 国产精品成人网| 亚洲宅男天堂在线观看无病毒| 亚洲四区在线观看| 午夜电影网一区| 国产揄拍国内精品对白| 国产精品夜夜嗨| 91啪在线观看| 日韩一级成人av| 久久精品这里都是精品| 亚洲免费在线播放| 蜜桃久久av一区| 99久久精品久久久久久清纯| 欧美挠脚心视频网站| 久久精品一区二区三区不卡| 91浏览器在线视频| 在线观看精品一区| 欧美精品一区二区三区在线| 久久精品男人天堂av| 亚洲一本大道在线| 国产激情一区二区三区| av不卡一区二区三区| 日韩午夜av一区| 一区二区三区四区高清精品免费观看| 青青草国产精品97视觉盛宴| 国产成人精品一区二| 欧美日韩高清一区二区三区| 肉肉av福利一精品导航| 51精品视频一区二区三区| 日韩一级欧美一级| 一区二区三区高清| 91国在线观看| 国产精品免费看片| 波多野结衣在线aⅴ中文字幕不卡| 欧美日韩在线播放一区| 亚洲人成精品久久久久久| 91网站在线播放| 日韩视频一区二区三区在线播放| 亚洲欧美另类久久久精品2019| 精品制服美女久久| 欧美日韩精品一区二区三区蜜桃| 精品国产百合女同互慰| 亚洲卡通欧美制服中文| 播五月开心婷婷综合| 中文字幕一区二区三区在线观看 | 亚洲精品一区二区三区99| 国产综合色在线视频区| 欧美一区二区日韩一区二区| 琪琪一区二区三区| 国产日韩欧美综合在线| 国产一区欧美二区| 国产精品久久久一本精品| 色8久久人人97超碰香蕉987| 婷婷中文字幕一区三区| 日韩欧美一级二级三级久久久| 亚洲成在线观看| 久久影视一区二区| 91麻豆123| 国产真实乱子伦精品视频| 最新不卡av在线| 欧美一区二区福利视频| 91色|porny| 丝袜亚洲另类欧美综合| 欧美亚一区二区| 国产伦精品一区二区三区在线观看 | 蜜桃视频一区二区三区在线观看| 国产人成亚洲第一网站在线播放| 在线观看日韩电影| 在线视频欧美区| 色噜噜偷拍精品综合在线| 久久www免费人成看片高清| 一二三区精品福利视频| 亚洲在线成人精品| 亚洲色图视频免费播放| 一区2区3区在线看| 偷窥国产亚洲免费视频 | 亚洲精品日韩一| 亚洲视频在线观看一区| 国产精品少妇自拍| 国产欧美一区二区在线观看| 国产日韩欧美在线一区| 精品欧美乱码久久久久久 | 亚洲v中文字幕| 亚洲高清视频的网址| 亚洲最大色网站| 奇米精品一区二区三区四区 | 亚洲电影一区二区三区| 天堂在线一区二区| 麻豆精品在线播放| 91污片在线观看| 欧美tickling网站挠脚心| 精品动漫一区二区三区在线观看| 久久精品人人做人人综合| 亚洲图片你懂的| 久久99久久久久| 成人免费视频app| 色综合天天做天天爱| 91麻豆精品久久久久蜜臀| 精品国产第一区二区三区观看体验 | 免费观看成人鲁鲁鲁鲁鲁视频| 成人高清视频在线观看| 3751色影院一区二区三区| 久久夜色精品国产噜噜av| 亚洲国产一区视频| 成人精品免费看| 国产亚洲1区2区3区| 青青草成人在线观看| 欧美系列日韩一区| 亚洲免费观看高清完整版在线观看| 久久疯狂做爰流白浆xx| 欧美va亚洲va在线观看蝴蝶网| 午夜久久久久久| 精品国一区二区三区| 成人免费高清视频| 亚洲黄色免费电影| 91精品国产一区二区三区蜜臀| 亚洲成人资源网| 久久蜜臀中文字幕| 成人免费毛片app| 一区二区三区在线免费| 欧美日韩在线观看一区二区| 美国三级日本三级久久99| 欧美日产在线观看| 国产成人在线网站| 国产欧美一区二区精品性色| 色婷婷综合久久| av网站免费线看精品| 日韩国产欧美在线视频| 国产精品久久久久久久浪潮网站| www.亚洲国产| 蜜臀av性久久久久蜜臀aⅴ| 久久久久国产精品麻豆ai换脸| 色噜噜狠狠色综合欧洲selulu| 五月天国产精品| 亚洲乱码国产乱码精品精的特点| 欧美一级免费观看| 国产麻豆午夜三级精品| 亚洲高清视频中文字幕| 国产精品三级视频| 久久这里只有精品6| 99久久精品国产毛片| 麻豆一区二区三| 蜜桃av一区二区| 天天免费综合色| 亚洲午夜激情av| 亚洲午夜成aⅴ人片| 亚洲人成在线观看一区二区| 国产欧美综合在线| 久久久蜜桃精品| 国产亚洲视频系列| 久久先锋影音av鲁色资源| 日韩精品一区二区三区中文精品| 日韩免费视频一区| 欧美va天堂va视频va在线| 26uuu精品一区二区在线观看| 精品国产乱子伦一区| 2021国产精品久久精品| 日韩美女视频在线| 久久综合五月天婷婷伊人| 亚洲色图.com|