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

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

?? mp3dec.c

?? 用DSP實現MP3解壓縮的源碼文件
?? C
?? 第 1 頁 / 共 4 頁
字號:
	    if(i && !(i % 4))
		fprintf(f, "\n");
	    fprintf(f, "%.12g, ", nbrs[i + j * len2]);
	}
	fprintf(f, "\n},\n");
    }
    fprintf(f, "\n};\n\n");

    fclose(f);
}

#endif


#ifdef USE_DATA
#include "pow2table1.h"
#include "pow2table2.h"
#include "powerscales.h"
#include "imdct_win.h"
#include "globgaintable.h"
#else
static mpfloat Granule_pow2table_m2[32]; /* (2^(-2))^i */
static mpfloat Granule_pow2table_m05[32]; /* (2^(-0.5))^i */
static mpfloat Granule_powerscaling[200]; /* i^(4/3) */
mpfloat Granule_imdct_win[4][36];
static mpfloat Granule_globgaintable[256];
#endif

static float Granule_alias_c[8] = { -0.6f, -0.535f, -0.33f, -0.185f,
				    -0.095f, -0.041f, -0.0142f, -0.0037f };

mpfloat Granule_alias_cs[8], Granule_alias_ca[8];

#ifdef LEE_IMDCT
#ifdef USE_DATA
#include "idct_9x9.h"
#else
mpfloat Granule_9x9_idct[72];
#endif
#else
static mpfloat Granule_imdct_bigCOS[18*18];
static mpfloat Granule_imdct_bigCOS2[12*6];
#endif

mpfloat Granule_imdct_previous[2][576];  /* used for overlapping */

int Granule_sbsynth_Vptr[2] = { 64, 64 };
#include "mp3dec_D.h"

void
Granule_init()
{
    int i, j, k, m, p, x1, x2;
	int odd_i, two_odd_i, four_odd_i, eight_odd_i;
    float f;
    static int inited = 0;

    if(inited)
	return;

    inited = 1;

    /* initialize some powertables used in Granule_requantize */
    /* ## alternative is to make a .h file with these calculated
       directly in the source */
#ifndef USE_DATA
    for(i = 0; i < 32; i++) {
	Granule_pow2table_m2[i] = (mpfloat)pow(2.0, -2.0 * i);
	Granule_pow2table_m05[i] = (mpfloat)pow(2.0, -0.5 * i);
    }
#endif

#ifdef MAKE_DATA
    make_data_file("pow2table1.h", "Granule_pow2table_m2", 
		   Granule_pow2table_m2, 32);
    make_data_file("pow2table2.h", "Granule_pow2table_m05", 
		   Granule_pow2table_m05, 32);
#endif

#ifndef USE_DATA
    for(i = 0; i < 200; i++)
	Granule_powerscaling[i] = (mpfloat)pow( i, (4.0 / 3.0) );
#endif

#ifdef MAKE_DATA
    make_data_file("powerscales.h", "Granule_powerscaling", 
		   Granule_powerscaling, 200);
#endif

    /* calculate the anti-aliasing butterfly coefficients */

    for(i = 0; i < 8; i++) {
	f = sqrt(1.0 + Granule_alias_c[i] * Granule_alias_c[i]);
	Granule_alias_cs[i] = (mpfloat)(1.0f / f);
	Granule_alias_ca[i] = (mpfloat)(Granule_alias_c[i] / f);
    }

#ifndef USE_DATA
    /* calculate some window shapes and cos tables for the IMDCT */

    /* block_type 0 (normal window) */

    for(i = 0; i < 36; i++)
	Granule_imdct_win[0][i] = (mpfloat)sin(PI/36 * (i + 0.5));
    
    /* block_type 1 (start block) */

    for(i = 0; i < 18; i++)
	Granule_imdct_win[1][i] = (mpfloat)sin(PI/36 * (i + 0.5));

    for(i = 18; i < 24; i++)
	Granule_imdct_win[1][i] = (mpfloat)1.0f;

    for(i = 24; i < 30; i++)
	Granule_imdct_win[1][i] = (mpfloat)sin(PI/12 * (i - 18 + 0.5));

    for(i = 30; i < 36; i++)
	Granule_imdct_win[1][i] = (mpfloat)0.0f;
    
    /* block_type 3 (stop block) */

    for(i = 0; i < 6; i++)
	Granule_imdct_win[3][i] = (mpfloat)0.0f;

    for(i = 6; i < 12; i++)
	Granule_imdct_win[3][i] = (mpfloat)sin(PI/12 * (i - 6 + 0.5));

    for(i = 12; i < 18; i++)
	Granule_imdct_win[3][i] = (mpfloat)1.0f;

    for(i = 18; i < 36; i++)
	Granule_imdct_win[3][i] = (mpfloat)sin(PI/36 * (i + 0.5));
    
    /* block_type 2 (short block) */

    for(i = 0; i < 12; i++)
	Granule_imdct_win[2][i] = (mpfloat)sin(PI/12 * (i + 0.5));

    for(i = 12; i < 36; i++)
	Granule_imdct_win[2][i] = (mpfloat)0.0 ;

#endif

#ifdef MAKE_DATA
    make_data_file_2d("imdct_win.h", "Granule_imdct_win", 
		   &Granule_imdct_win[0][0], 4, 36);
#endif
          
#ifdef LEE_IMDCT
#ifndef USE_DATA
    j = 0;
    for(i = 0; i < 9; i++) {
	odd_i = (i << 1) + 1;
	two_odd_i = odd_i << 1;
	four_odd_i = odd_i << 2;
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * odd_i);
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * two_odd_i);
	eight_odd_i = two_odd_i << 2;
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * (four_odd_i - odd_i));
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * four_odd_i);
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * (four_odd_i + odd_i));
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * (four_odd_i + two_odd_i));
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * (eight_odd_i - odd_i));
	Granule_9x9_idct[j++] = (mpfloat)cos(PI/18 * eight_odd_i);
    }
#endif
#ifdef MAKE_DATA
    make_data_file("idct_9x9.h", "Granule_9x9_idct", 
		   Granule_9x9_idct, 72);
#endif

#else
    /* make the costable for the short blocks */
    for(i = 0, p = 0; i < 6; i++)
	for(j = 0; j < 6; j++)
	    Granule_imdct_bigCOS2[p++] = (mpfloat)-cos((2*(i-3)+7)*
						       (2*j+1)*PI/24);

    /* make a linear cos factor table, so the IMDCT can be calculated
       from it without messing with any modulos, weird index additions
       etc */

    for(i = 0, p = 0; i < 18; i++) {
	for(j = 0; j < 18; j++)
	    Granule_imdct_bigCOS[p++] = (mpfloat)-cos((2*(i-9)+19)*
						      (2*j+1)*PI/72); 
    }
#endif

    /* clear the previous data table used for overlapping in IMDCT */
    
    for(p = 0; p < 2; p++)
	for(i = 0; i < 576; i++)
	    Granule_imdct_previous[p][i] = (mpfloat)0.0f;

#ifndef USE_DATA
    fast_idct_init();
#endif

#ifndef INT_MATH
    /* rescale the D table to include the 32768 factor */
    for(i = 0; i < 512; i++)
#ifdef DSP_LOFI
	Granule_sbsynth_D[i] *= 8192;
#else
	Granule_sbsynth_D[i] *= 32768;
#endif
#endif
#if 0
    for(i = 0; i < 512; i++)
	printf("D[%d] = 0x%8x, ", i, Granule_sbsynth_D[i].rint());
#endif

    windowing_init();

#ifndef USE_DATA
    for(i = 0; i < 256; i++)
	Granule_globgaintable[i] = (mpfloat)pow(2.0 , 
						(0.25 * (i -
							 210.0)));
#endif
#ifdef MAKE_DATA
    make_data_file("globgaintable.h", "Granule_globgaintable", 
		   Granule_globgaintable, 256);
#endif

}

void
Granule_decode_info(Granule *gr, Bitstream *bs)
{
    int region, window;

    gr->part2_3_length = Bitstream32_get(bs, 12);
    gr->big_values = Bitstream32_get(bs, 9);
    gr->global_gain = Bitstream32_get(bs, 8);
    gr->scalefac_compress = Bitstream32_get(bs, 4);
      
    if((gr->window_switching_flag = Bitstream32_get1(bs))) {
	
	/* the block_type indicates the window type for the granule */
	
	gr->block_type = Bitstream32_get(bs, 2);

	gr->mixed_block_flag = Bitstream32_get1(bs);

	/* table selectors select different Huffman tables for each
	   frequency region */

	for(region = 0; region < 2; region++)
	    gr->table_select[region] = Bitstream32_get(bs, 5);

	/* subblock_gain multiplied by 4 indicates the gain offset for
	   each window, compared to the global_gain of the granule */
	
	for(window = 0; window < 3; window++)
	  gr->subblock_gain[window] = Bitstream32_get(bs, 3);

	/* region0count and region1count are set to default values */

	if(gr->block_type == BLOCKTYPE_3WIN &&
	   !gr->mixed_block_flag)
	    gr->region0_count = 8;
	else
	    gr->region0_count = 7;
	
	gr->region1_count = 20 - gr->region0_count;

    } else {
	
	gr->block_type = 0;
	
	for(region = 0; region < 3; region++)
	    gr->table_select[region] = Bitstream32_get(bs, 5);
	
	gr->region0_count = Bitstream32_get(bs, 4);
	gr->region1_count = Bitstream32_get(bs, 3);
    }

    gr->preflag = Bitstream32_get1(bs);
    gr->scalefac_scale = Bitstream32_get1(bs);
    gr->count1table_select = Bitstream32_get1(bs);   
}

void
Granule_decode_scalefactors(Granule *gr, Bitstream *bs, 
			    int channel, int grnum, Frame *f)
{
    int slen1, slen2, i, sfb, window;

    slen1 = Frame_slen[0][gr->scalefac_compress];
    slen2 = Frame_slen[1][gr->scalefac_compress];

    /* read the scalefactors - these are read in two different ways
       depending on the block type */

    if(gr->window_switching_flag &&
       gr->block_type == BLOCKTYPE_3WIN) {

	if(gr->mixed_block_flag) {
	    
	    /* mixed blocks - a mixed block uses
	       both long scalefactors (0-7) and short scalefactors (3-11)
	       which together makes up the whole spectrum 
	       */
	    
	    /* block_type 2 and mixed_block_flag 1, 
	       slen1: length of scalefactors for bands 0 to 7 of the
	       long sf and length of sf's 3 to 5
	       of the short scalefactor band 
	       slen2: length of scalefactors for bands 6 to 11 of the
	       short scalefactor band
	       */
	    
	    for(sfb = 0; sfb < 8; sfb++) 
		gr->scalefac_l[sfb] =
		    Bitstream_get(bs, slen1);
	    
	    for(sfb = 3; sfb < 6; sfb++)
		for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] =
			Bitstream_get(bs, slen1);
	    
	    for(sfb = 6; sfb < 12; sfb++)
		for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] =
			Bitstream_get(bs, slen2);
	    
	    for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] = 0;
		
	} else {
	    
	    /* short block using only short scalefactors
	       slen1: length of scalefactors for short sf bands 0 to 5
	       slen2: length of scalefactors for short sf bands 6 to 11
	       */
	    
	    for(sfb = 0; sfb < 6; sfb++)
		for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] =
			Bitstream_get(bs, slen1);
	    
	    for(sfb = 6; sfb < 12; sfb++)
		for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] =
			Bitstream_get(bs, slen2);

	    for(window = 0; window < 3; window++)
		    gr->scalefac_s[sfb][window] = 0;
	    
	}  
	
    } else {
	
	/* long block
	   slen1: length of scalefactors for long sf bands 0 to 10
	   slen2: length of scalefactors for long sf bands 11 to 20
	   */
	
	/* the sf bands are divided in 4 parts, 0-5, 6-10, 11-15, 16-20
	   the standard seems to disagree with itself here, but apparently
	   it works this way:
	   */
	
	static int sfb_bound[5] = { 0, 6, 11, 16, 21 };
	
	for(i = 0; i < 4; i++)
	    if(f->scfsi[channel][i] == 0 || grnum == 0)
		for(sfb = sfb_bound[i]; sfb < sfb_bound[i + 1]; sfb++) 
		    gr->scalefac_l[sfb] =
			Bitstream_get(bs, sfb < 11 ? slen1 : slen2);
	
	gr->scalefac_l[21] = 0;
	gr->scalefac_l[22] = 0;

    }    
}


/* The so-called Requantizer takes the de-huffmanized energies of each
   frequency and applies the scalefactors to them to rescale them to 
   their former glory. 
 */

void
Granule_requantize(Granule *gr, Granule_intfreqs is,
		   Granule_floatfreqs xr, Frame *f)
{
    /* 
       We have to go through all frequency lines in all bands and apply
       a large formula to the is[freq] value. All bands have their own
       scalefactors that are incorporated in this formula, so we have to
       extract these per band before requantizing a band.
     
       The formula for short blocks is:

       xr[i] = sign(is[i]) * |is[i]|^(4/3) * 2 ^ 0.25 * (global_gain - 210 -
               8 * subblock_gain[window]) * 2 ^ -(scalefac_multiplier *
	       scalefac_s[band][window])

       and for long blocks:

       xr[i] = sign(is[i]) * | is[i] |^(4/3) * 2 ^ 0.25 * (global_gain - 210) *
               2 ^ -(scalefac_multiplier * (scalefac_l[band] + preflag *
	       pretab[band]))

       The preflag when set applies a predefined pre-emphasis value from
       the pretab table. 

       The 2 ^ operation is very costly, but fortunately, the range of the
       possible exponents is fairly small so we can do a table lookup and
       avoid all 2 ^ operations.

    */

    static int pretab[22] = { 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0 };
    int i, band, bandend, window, windowlength = 0, j = 0, t, sign, needc;
    mpfloat myxr = (mpfloat)0.0f;

    /* get the correct band-boundaries table */

    struct Frame_band *bands = &Frame_bands[f->sampling_frequency];

    /* get the global scaling factor - ## see if this can be table-ized */
/*     globscale = (mpfloat)pow(2.0 , 
		       	      (0.25 * (gr->global_gain -
			      		       210.0)));
					       */

    mpfloat globscale = Granule_globgaintable[gr->global_gain];
	
    /* In mixed blocks, the lowest two polyphase subbands are transformed
       using normal block bands, and the rest according to block_type.
       
       Remember that band boundaries in short blocks should be multiplied
       by 3 (since there are 3 windows in each band).

    */

    if(gr->window_switching_flag && gr->block_type == BLOCKTYPE_3WIN &&
       !gr->mixed_block_flag) {
	bandend = bands->s[1] * 3;  /* short block */
	j = windowlength = bands->s[1];
    } else
	bandend = bands->l[1];      /* normal block or mixed short block */

    band = window = 0;
    needc = 1;
    
    for(i = 0; i < 576; i++) {
	
	if(i == bandend) {

	    needc = 1;
	    /* advance to the next band */
	    
	    if(gr->window_switching_flag && gr->block_type == BLOCKTYPE_3WIN) {

		window = 0;   /* reset window number */

		if(gr->mixed_block_flag) {

		    /* a short, mixed block is coded as a long block for
		     the first two polyphase subbands, so we have 3 
		     situations here - either we are in the long part, we are
		     on the boundary, or we are in the short part 

		     bands->l[8] == bands->s[3] == 36 for all frequencies

		     */

		    if(i == bands->l[8]) {
			/* on the boundary */
			bandend = bands->s[4] * 3;
			band = 3;
			windowlength = 4;  /* s[4]-s[3] is same for all freq */
		    } else {
			if(i < bands->l[8]) 
			    /* in the long part */
			    bandend = bands->l[++band + 1];
			else {
			    /* in the short part */
			    bandend = bands->s[++band + 1] * 3;
			    windowlength = bands->s[band + 1] - bands->s[band];
			}
		    }
		} else {
		    /* pure short block */
		    bandend = bands->s[++band + 1] * 3;
		    windowlength = bands->s[band + 1] - bands->s[band];
		}

		j = windowlength;

		/* For short blocks, i.e blocks with 3 windows in each band,
		   the windowlength gives how many values are in each band
		   in each window. We put this value in j, and decrease j
		   for each value. When j hits 0, we restore j and go to the
		   next window. 
		 */

	    } else
		/* long block */
		bandend = bands->l[++band + 1];
	}
	
	if(i == 36)
	    needc = 1;

/* only recalculate the xr formula when we pass between bands and
	windows
*/
	if(needc) {
	    needc = 0;
	    
	    /* start with the global part (same for all values in the block) */

	    myxr = globscale;

	    /* apply the formula according to if its a short or long block */
	    /* remember that mixed blocks are long in the lowest 2 subbands */

	    if (gr->window_switching_flag && gr->block_type == BLOCKTYPE_3WIN &&
		(!gr->mixed_block_flag || (gr->mixed_block_flag &&
					   i >= 2 * NUM_DCTBANDS))) {

		/* its a short block, use this formula:

		   xr[i] = sign(is[i])*|is[i]|^(4/3)*2^0.25*(global_gain - 210 -
		   8 * subblock_gain[window]) * 2^-(scalefac_multiplier *
		   scalefac_s[band][window])

		   the global gain part is already in *xr
	
		   we are clever enough to use tables for the powers-of-2

		   scalefac_multiplier is 0.5 for scalefac_scale == 0 and 1
		   for scalefac_scale == 1
	       
		   */
		
		t = gr->subblock_gain[window];

		if(t >= 32) { /* when dividing by 2^32, you don't have much left */
		    myxr = (mpfloat)0.0f;
		}
		else
		    myxr *= Granule_pow2table_m2[t];
		ISCALE(myxr);
   		
		t = (1 + gr->scalefac_scale) * gr->scalefac_s[band][window];
	    
		if(t >= 32) { /* Only 32 values in the table */
		    myxr = (mpfloat)0.0f;
		}
		else
		    myxr *= Granule_pow2table_m05[t];
		ISCALE(myxr);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久影院| 国产综合一区二区| 亚洲午夜三级在线| 激情综合网天天干| 欧美日韩黄色影视| 国产精品久久久久国产精品日日| 日韩激情在线观看| 91看片淫黄大片一级在线观看| 这里是久久伊人| 亚洲天堂精品视频| 国产精品资源网站| 日韩欧美亚洲另类制服综合在线| 樱花影视一区二区| 99r国产精品| 久久久99久久| 国产一区二区三区国产| 91精品国产综合久久久久久久| 亚洲免费毛片网站| av在线不卡观看免费观看| 精品入口麻豆88视频| 欧美a级一区二区| 欧美日韩精品一区二区三区四区| 国产精品视频观看| 高清不卡在线观看av| 欧美成人一区二区三区| 亚洲成人第一页| 欧美三级中文字幕| 午夜日韩在线观看| 欧美日韩精品久久久| 丝袜亚洲精品中文字幕一区| 欧美体内she精高潮| 亚洲美女淫视频| 欧美午夜精品电影| 天涯成人国产亚洲精品一区av| 在线观看日韩av先锋影音电影院| 亚洲精选视频在线| 色综合久久99| 亚洲综合色区另类av| 91福利小视频| 亚洲高清视频中文字幕| 欧洲av一区二区嗯嗯嗯啊| 午夜伊人狠狠久久| 制服丝袜日韩国产| 国产在线国偷精品免费看| 久久综合狠狠综合久久综合88| 韩国av一区二区三区四区| 亚洲精品一区二区三区影院| 国产福利视频一区二区三区| 久久精品夜夜夜夜久久| a4yy欧美一区二区三区| 亚洲一区在线电影| 日韩欧美电影一区| 国产高清久久久久| 亚洲精品日韩专区silk| 欧美日韩在线播放一区| 久久精品av麻豆的观看方式| 久久精品一区四区| 色天使色偷偷av一区二区| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩国产成人在线免费| 五月天视频一区| 久久一区二区三区四区| 99re在线视频这里只有精品| 一区二区三区日韩欧美| 91精品国产综合久久久蜜臀粉嫩| 狂野欧美性猛交blacked| 国产精品三级久久久久三级| 欧亚洲嫩模精品一区三区| 紧缚奴在线一区二区三区| 1024精品合集| 日韩一级成人av| 99久久精品国产毛片| 丝袜亚洲另类欧美| 亚洲欧美综合色| 精品裸体舞一区二区三区| 99国产一区二区三精品乱码| 免费视频一区二区| 亚洲美女屁股眼交3| 欧美一区二区观看视频| 成人免费看片app下载| 天天综合天天做天天综合| 国产蜜臀97一区二区三区| 91精品视频网| 在线观看成人免费视频| 成人小视频在线| 久久精品国产亚洲a| 一区二区高清免费观看影视大全| 2019国产精品| 91精品在线一区二区| 91影院在线免费观看| 国产乱色国产精品免费视频| 五月天丁香久久| 亚洲精品视频在线| 欧美国产精品劲爆| 日韩精品一区二区三区中文精品 | 国产乱国产乱300精品| 首页国产欧美日韩丝袜| 一级日本不卡的影视| 久久久激情视频| 精品免费国产二区三区| 91精品久久久久久久99蜜桃| 在线观看中文字幕不卡| 91丨九色丨蝌蚪富婆spa| 国产精品一区在线观看乱码| 老汉av免费一区二区三区| 日韩黄色小视频| 偷拍一区二区三区| 亚洲一区二区三区免费视频| 亚洲免费色视频| 尤物在线观看一区| 亚洲一区欧美一区| 亚洲综合色视频| 亚洲1区2区3区视频| 午夜国产精品影院在线观看| 亚洲午夜影视影院在线观看| 一区二区三区不卡视频| 亚洲乱码国产乱码精品精小说| 一色桃子久久精品亚洲| 亚洲图片欧美激情| 一区二区三区四区视频精品免费 | 国产精品美女一区二区三区| 国产精品美女一区二区三区| 国产精品久久久久婷婷二区次| 国产精品区一区二区三区| 亚洲国产高清在线| 亚洲视频资源在线| 亚洲三级在线免费| 亚洲一级二级在线| 免费观看在线综合色| 国产精品一区二区不卡| caoporen国产精品视频| 色域天天综合网| 欧美精品亚洲二区| 2017欧美狠狠色| 专区另类欧美日韩| 午夜精品一区二区三区电影天堂| 日韩不卡一区二区| 国产成人免费视频网站| 91蝌蚪porny成人天涯| 6080日韩午夜伦伦午夜伦| 精品国产成人在线影院 | 精品国产91洋老外米糕| 国产亚洲欧洲一区高清在线观看| 国产精品国产馆在线真实露脸| 一区二区视频在线看| 日本亚洲最大的色成网站www| 国产在线精品不卡| 色婷婷一区二区三区四区| 欧美一二三在线| 国产精品久久福利| 午夜视频一区二区| 成人爱爱电影网址| 欧美高清dvd| 国产欧美一区二区精品性色| 亚洲一二三四区| 国产精品一线二线三线| 欧美在线综合视频| 国产天堂亚洲国产碰碰| 亚洲自拍欧美精品| 国产成人aaa| 69p69国产精品| 亚洲伦理在线免费看| 国产乱码字幕精品高清av | 国产成人一区二区精品非洲| 在线免费观看日本一区| 久久新电视剧免费观看| 亚洲欧美偷拍卡通变态| 久久99久久久久久久久久久| 91香蕉视频污在线| 久久久久久久久一| 日韩综合小视频| 在线亚洲高清视频| 国产精品久久久久久久午夜片| 免费观看日韩av| 欧美日本在线视频| 亚洲精品久久久蜜桃| 成人激情av网| 久久久久久夜精品精品免费| 首页欧美精品中文字幕| 91久久精品一区二区三区| 国产亚洲欧洲一区高清在线观看| 另类专区欧美蜜桃臀第一页| 欧美亚洲一区二区在线| 椎名由奈av一区二区三区| 成人综合婷婷国产精品久久| 欧美大尺度电影在线| 日韩成人免费电影| 7777精品伊人久久久大香线蕉完整版 | wwww国产精品欧美| 丝袜美腿亚洲综合| 欧美三级韩国三级日本三斤| 亚洲人成精品久久久久久| 成人性生交大片| 日本一区二区视频在线观看| 国产精品亚洲午夜一区二区三区 | 欧美高清视频不卡网| 亚洲国产一区二区三区青草影视| 色先锋久久av资源部| 亚洲免费观看高清在线观看| 91色porny|