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

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

?? decode.c

?? VC++視頻開發(fā)實例集錦(包括“遠程視頻監(jiān)控”"語音識別系統(tǒng)"等13個經(jīng)典例子)
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <math.h>
#include <stdlib.h>
#include "common.h"
#include "decode.h"
#include "huffman.h"

void decode_info(Bit_stream_struc *bs, frame_params *fr_ps)
{
    layer *hdr = fr_ps->header;

    hdr->version = get1bit(bs);
    hdr->lay = 4-getbits(bs,2);
    hdr->error_protection = !get1bit(bs); /* 錯誤保護. TRUE/FALSE */
    hdr->bitrate_index = getbits(bs,4);
    hdr->sampling_frequency = getbits(bs,2);
    hdr->padding = get1bit(bs);
    hdr->extension = get1bit(bs);
    hdr->mode = getbits(bs,2);
    hdr->mode_ext = getbits(bs,2);
    hdr->copyright = get1bit(bs);
    hdr->original = get1bit(bs);
    hdr->emphasis = getbits(bs,2);
}

void III_get_side_info(Bit_stream_struc *bs, III_side_info_t *si, frame_params *fr_ps)
{
	int ch, gr, i;
	int stereo = fr_ps->stereo;

	si->main_data_begin = getbits(bs, 9);
	if (stereo == 1)
		si->private_bits = getbits(bs,5);
	else
		si->private_bits = getbits(bs,3);

	for (ch=0; ch<stereo; ch++)
		for (i=0; i<4; i++)
			si->ch[ch].scfsi[i] = get1bit(bs);

	for (gr=0; gr<2; gr++) {
		for (ch=0; ch<stereo; ch++) {
			si->ch[ch].gr[gr].part2_3_length = getbits(bs, 12);
			si->ch[ch].gr[gr].big_values = getbits(bs, 9);
			si->ch[ch].gr[gr].global_gain = getbits(bs, 8);
			si->ch[ch].gr[gr].scalefac_compress = getbits(bs, 4);
			si->ch[ch].gr[gr].window_switching_flag = get1bit(bs);
			if (si->ch[ch].gr[gr].window_switching_flag) {
				si->ch[ch].gr[gr].block_type = getbits(bs, 2);
				si->ch[ch].gr[gr].mixed_block_flag = get1bit(bs);
				for (i=0; i<2; i++)
					si->ch[ch].gr[gr].table_select[i] = getbits(bs, 5);
				for (i=0; i<3; i++)
					si->ch[ch].gr[gr].subblock_gain[i] = getbits(bs, 3);

				/* Set region_count parameters since they are implicit in this case. */

				if (si->ch[ch].gr[gr].block_type == 0) {
					printf("Side info bad: block_type == 0 in split block.\n");
					exit(0);
				}
				else if (si->ch[ch].gr[gr].block_type == 2
						&& si->ch[ch].gr[gr].mixed_block_flag == 0)
					si->ch[ch].gr[gr].region0_count = 8; /* MI 9; */
				else si->ch[ch].gr[gr].region0_count = 7; /* MI 8; */
					si->ch[ch].gr[gr].region1_count = 20 - si->ch[ch].gr[gr].region0_count;
			}
			else {
				for (i=0; i<3; i++)
					si->ch[ch].gr[gr].table_select[i] = getbits(bs, 5);
				si->ch[ch].gr[gr].region0_count = getbits(bs, 4);
				si->ch[ch].gr[gr].region1_count = getbits(bs, 3);
				si->ch[ch].gr[gr].block_type = 0;
			}
			si->ch[ch].gr[gr].preflag = get1bit(bs);
			si->ch[ch].gr[gr].scalefac_scale = get1bit(bs);
			si->ch[ch].gr[gr].count1table_select = get1bit(bs);
         }
	}
}


struct {
	int l[5];
	int s[3];
} sfbtable = {
	{0, 6, 11, 16, 21},
	{0, 6, 12}
};
int slen[2][16]={
	{0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4},
	{0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3}
};
struct {
	int l[23];
	int s[14];
} sfBandIndex[3]= {
	{{0,4,8,12,16,20,24,30,36,44,52,62,74,90,110,134,162,196,238,288,342,418,576},
		{0,4,8,12,16,22,30,40,52,66,84,106,136,192}},
	{{0,4,8,12,16,20,24,30,36,42,50,60,72,88,106,128,156,190,230,276,330,384,576},
		{0,4,8,12,16,22,28,38,50,64,80,100,126,192}},
	{{0,4,8,12,16,20,24,30,36,44,54,66,82,102,126,156,194,240,296,364,448,550,576},
		{0,4,8,12,16,22,30,42,58,78,104,138,180,192}}
};

void III_get_scale_factors(III_scalefac_t *scalefac, III_side_info_t *si, int gr, int ch, frame_params *fr_ps)
{
	int sfb, i, window;
	struct gr_info_s *gr_info = &(si->ch[ch].gr[gr]);

	if (gr_info->window_switching_flag && (gr_info->block_type == 2)) {
		if (gr_info->mixed_block_flag) { /* MIXED */ /* NEW - ag 11/25 */
			for (sfb = 0; sfb < 8; sfb++)
				(*scalefac)[ch].l[sfb] = hgetbits(
					slen[0][gr_info->scalefac_compress]);
			for (sfb = 3; sfb < 6; sfb++)
				for (window=0; window<3; window++)
					(*scalefac)[ch].s[window][sfb] = hgetbits(
						slen[0][gr_info->scalefac_compress]);
			for (sfb = 6; sfb < 12; sfb++)
				for (window=0; window<3; window++)
					(*scalefac)[ch].s[window][sfb] = hgetbits(
						slen[1][gr_info->scalefac_compress]);
			for (sfb=12,window=0; window<3; window++)
				(*scalefac)[ch].s[window][sfb] = 0;
		}
		else {  /* SHORT*/
			for (i=0; i<2; i++)
				for (sfb = sfbtable.s[i]; sfb < sfbtable.s[i+1]; sfb++)
					for (window=0; window<3; window++)
						(*scalefac)[ch].s[window][sfb] = hgetbits(
							slen[i][gr_info->scalefac_compress]);
				for (sfb=12,window=0; window<3; window++)
					(*scalefac)[ch].s[window][sfb] = 0;
		}
	}
	else {   /* LONG types 0,1,3 */
		for (i=0; i<4; i++) {
			if ((si->ch[ch].scfsi[i] == 0) || (gr == 0))
				for (sfb = sfbtable.l[i]; sfb < sfbtable.l[i+1]; sfb++)
					(*scalefac)[ch].l[sfb] = hgetbits(
						slen[(i<2)?0:1][gr_info->scalefac_compress]);
		}
		(*scalefac)[ch].l[22] = 0;
	}
}

/* 已經(jīng)在 huffman.c中聲明
struct huffcodetab ht[HTN];
*/
int huffman_initialized = FALSE;

void initialize_huffman()
{
	FILE *fi;

	if (huffman_initialized) return;
	if (!(fi = OpenTableFile("huffdec.txt") )) {
		printf("Please check huffman table 'huffdec.txt'\n");
		exit(1);
	}

	if (fi==NULL) {
		fprintf(stderr,"decoder table open error\n");
		exit(3);
	}

	if (read_decoder_table(fi) != HTN) {
		fprintf(stderr,"decoder table read error\n");
		exit(4);
	}
	huffman_initialized = TRUE;
}


void III_hufman_decode(long int is[SBLIMIT][SSLIMIT], III_side_info_t *si, int ch, int gr, int part2_start, frame_params *fr_ps)
{
   int i, x, y;
   int v, w;
   struct huffcodetab *h;
   int region1Start;
   int region2Start;
   int bt = (*si).ch[ch].gr[gr].window_switching_flag && ((*si).ch[ch].gr[gr].block_type == 2);

   initialize_huffman();

   /* 查找區(qū)域邊界 */

   if ( ((*si).ch[ch].gr[gr].window_switching_flag) &&
        ((*si).ch[ch].gr[gr].block_type == 2) ) {

      /* Region2. */

      region1Start = 36;  /* sfb[9/3]*3=36 */
      region2Start = 576; /* No Region2 for short block case. */
   }


   else {          /* 查找長塊情況下的區(qū)域邊界. */

      region1Start = sfBandIndex[fr_ps->header->sampling_frequency]
                           .l[(*si).ch[ch].gr[gr].region0_count + 1]; /* MI */
      region2Start = sfBandIndex[fr_ps->header->sampling_frequency]
                              .l[(*si).ch[ch].gr[gr].region0_count +
                              (*si).ch[ch].gr[gr].region1_count + 2]; /* MI */
      }


   /* 讀取大值區(qū)域Read bigvalues area. */
   for (i=0; i<(*si).ch[ch].gr[gr].big_values*2; i+=2) {
      if      (i<region1Start) h = &ht[(*si).ch[ch].gr[gr].table_select[0]];
      else if (i<region2Start) h = &ht[(*si).ch[ch].gr[gr].table_select[1]];
           else                h = &ht[(*si).ch[ch].gr[gr].table_select[2]];
      huffman_decoder(h, &x, &y, &v, &w);
      is[i/SSLIMIT][i%SSLIMIT] = x;
      is[(i+1)/SSLIMIT][(i+1)%SSLIMIT] = y;
      }

   /* Read count1 area. */
   h = &ht[(*si).ch[ch].gr[gr].count1table_select+32];
   while ((hsstell() < part2_start + (*si).ch[ch].gr[gr].part2_3_length ) &&
     ( i < SSLIMIT*SBLIMIT )) {
      huffman_decoder(h, &x, &y, &v, &w);
      is[i/SSLIMIT][i%SSLIMIT] = v;
      is[(i+1)/SSLIMIT][(i+1)%SSLIMIT] = w;
      is[(i+2)/SSLIMIT][(i+2)%SSLIMIT] = x;
      is[(i+3)/SSLIMIT][(i+3)%SSLIMIT] = y;
      i += 4;
      }

   if (hsstell() > part2_start + (*si).ch[ch].gr[gr].part2_3_length)
   {  i -=4;
      rewindNbits(hsstell()-part2_start - (*si).ch[ch].gr[gr].part2_3_length);
   }

   /* Dismiss stuffing Bits */
   if ( hsstell() < part2_start + (*si).ch[ch].gr[gr].part2_3_length )
      hgetbits( part2_start + (*si).ch[ch].gr[gr].part2_3_length - hsstell());

   /* Zero out rest. */
   for (; i<SSLIMIT*SBLIMIT; i++)
      is[i/SSLIMIT][i%SSLIMIT] = 0;
}


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};

void III_dequantize_sample(long int is[SBLIMIT][SSLIMIT], double xr[SBLIMIT][SSLIMIT], III_scalefac_t *scalefac, struct gr_info_s *gr_info, int ch, frame_params *fr_ps)
{
	int ss,sb,cb=0,sfreq=fr_ps->header->sampling_frequency;
	int stereo = fr_ps->stereo;
	int next_cb_boundary, cb_begin, cb_width, sign;

	/* choose correct scalefactor band per block type, initalize boundary */

	if (gr_info->window_switching_flag && (gr_info->block_type == 2) )
		if (gr_info->mixed_block_flag)
			next_cb_boundary=sfBandIndex[sfreq].l[1];  /* LONG blocks: 0,1,3 */
		else {
			next_cb_boundary=sfBandIndex[sfreq].s[1]*3; /* pure SHORT block */
			cb_width = sfBandIndex[sfreq].s[1];
			cb_begin = 0;
		}
	else
		next_cb_boundary=sfBandIndex[sfreq].l[1];  /* LONG blocks: 0,1,3 */

	/* apply formula per block type */
	for (sb=0 ; sb < SBLIMIT ; sb++) {
		for (ss=0 ; ss < SSLIMIT ; ss++) {
			if ( (sb*18)+ss == next_cb_boundary) { /* Adjust critical band boundary */
				if (gr_info->window_switching_flag && (gr_info->block_type == 2)) {
					if (gr_info->mixed_block_flag) {
						if (((sb*18)+ss) == sfBandIndex[sfreq].l[8])  {
							next_cb_boundary=sfBandIndex[sfreq].s[4]*3;
							cb = 3;
							cb_width = sfBandIndex[sfreq].s[cb+1] -
										sfBandIndex[sfreq].s[cb];
							cb_begin = sfBandIndex[sfreq].s[cb]*3;
						}
						else if (((sb*18)+ss) < sfBandIndex[sfreq].l[8])
							next_cb_boundary = sfBandIndex[sfreq].l[(++cb)+1];
						else {
							next_cb_boundary = sfBandIndex[sfreq].s[(++cb)+1]*3;
							cb_width = sfBandIndex[sfreq].s[cb+1] -
										sfBandIndex[sfreq].s[cb];
							cb_begin = sfBandIndex[sfreq].s[cb]*3;
						}
					}
					else {
						next_cb_boundary = sfBandIndex[sfreq].s[(++cb)+1]*3;
						cb_width = sfBandIndex[sfreq].s[cb+1] -
									sfBandIndex[sfreq].s[cb];
						cb_begin = sfBandIndex[sfreq].s[cb]*3;
					}
				}
	            else /* long blocks */
		           next_cb_boundary = sfBandIndex[sfreq].l[(++cb)+1];
			}

			/* Compute overall (global) scaling. */
			xr[sb][ss] = pow( 2.0 , (0.25 * (gr_info->global_gain - 210.0)));

			/* Do long/short dependent scaling operations. */

			if (gr_info->window_switching_flag && (
				((gr_info->block_type == 2) && (gr_info->mixed_block_flag == 0)) ||
				((gr_info->block_type == 2) && gr_info->mixed_block_flag && (sb >= 2)) )) {

				xr[sb][ss] *= pow(2.0, 0.25 * -8.0 *
						gr_info->subblock_gain[(((sb*18)+ss) - cb_begin)/cb_width]);
				xr[sb][ss] *= pow(2.0, 0.25 * -2.0 * (1.0+gr_info->scalefac_scale)
						* (*scalefac)[ch].s[(((sb*18)+ss) - cb_begin)/cb_width][cb]);
			}
			else {   /* LONG block types 0,1,3 & 1st 2 subbands of switched blocks */
				xr[sb][ss] *= pow(2.0, -0.5 * (1.0+gr_info->scalefac_scale)
								* ((*scalefac)[ch].l[cb]
								+ gr_info->preflag * pretab[cb]));
			}

			/* Scale quantized value. */

			sign = (is[sb][ss]<0) ? 1 : 0;
			xr[sb][ss] *= pow( (double) abs(is[sb][ss]), ((double)4.0/3.0) );
			if (sign) xr[sb][ss] = -xr[sb][ss];
		}
	}
}


void III_reorder(double xr[SBLIMIT][SSLIMIT], double ro[SBLIMIT][SSLIMIT], struct gr_info_s *gr_info, frame_params *fr_ps)
{
   int sfreq=fr_ps->header->sampling_frequency;
   int sfb, sfb_start, sfb_lines;
   int sb, ss, window, freq, src_line, des_line;

   for(sb=0;sb<SBLIMIT;sb++)
      for(ss=0;ss<SSLIMIT;ss++)
         ro[sb][ss] = 0;

   if (gr_info->window_switching_flag && (gr_info->block_type == 2)) {
      if (gr_info->mixed_block_flag) {
         /* NO REORDER FOR LOW 2 SUBBANDS */
         for (sb=0 ; sb < 2 ; sb++)
            for (ss=0 ; ss < SSLIMIT ; ss++) {
               ro[sb][ss] = xr[sb][ss];
            }
         /* REORDERING FOR REST SWITCHED SHORT */
         for(sfb=3,sfb_start=sfBandIndex[sfreq].s[3],
            sfb_lines=sfBandIndex[sfreq].s[4] - sfb_start;
            sfb < 13; sfb++,sfb_start=sfBandIndex[sfreq].s[sfb],
            (sfb_lines=sfBandIndex[sfreq].s[sfb+1] - sfb_start))
               for(window=0; window<3; window++)
                  for(freq=0;freq<sfb_lines;freq++) {
                     src_line = sfb_start*3 + window*sfb_lines + freq;
                     des_line = (sfb_start*3) + window + (freq*3);
                     ro[des_line/SSLIMIT][des_line%SSLIMIT] =
                                    xr[src_line/SSLIMIT][src_line%SSLIMIT];
               }
      }
      else {  /* pure short */
         for(sfb=0,sfb_start=0,sfb_lines=sfBandIndex[sfreq].s[1];
            sfb < 13; sfb++,sfb_start=sfBandIndex[sfreq].s[sfb],
            (sfb_lines=sfBandIndex[sfreq].s[sfb+1] - sfb_start))
               for(window=0; window<3; window++)
                  for(freq=0;freq<sfb_lines;freq++) {
                     src_line = sfb_start*3 + window*sfb_lines + freq;
                     des_line = (sfb_start*3) + window + (freq*3);
                     ro[des_line/SSLIMIT][des_line%SSLIMIT] =
                                    xr[src_line/SSLIMIT][src_line%SSLIMIT];
               }
      }
   }
   else {   /*long blocks */
      for (sb=0 ; sb < SBLIMIT ; sb++)
         for (ss=0 ; ss < SSLIMIT ; ss++)
            ro[sb][ss] = xr[sb][ss];
   }
}


void III_stereo(double xr[2][SBLIMIT][SSLIMIT], double lr[2][SBLIMIT][SSLIMIT], III_scalefac_t *scalefac, struct gr_info_s *gr_info, frame_params *fr_ps)
{
   int sfreq = fr_ps->header->sampling_frequency;
   int stereo = fr_ps->stereo;
   int ms_stereo = (fr_ps->header->mode == MPG_MD_JOINT_STEREO) &&
                   (fr_ps->header->mode_ext & 0x2);
   int i_stereo = (fr_ps->header->mode == MPG_MD_JOINT_STEREO) &&
                  (fr_ps->header->mode_ext & 0x1);
   int sfb;
   int i,j,sb,ss,ch,is_pos[576];
   double is_ratio[576];

   /* intialization */
   for ( i=0; i<576; i++ )
      is_pos[i] = 7;

   if ((stereo == 2) && i_stereo )
   {  if (gr_info->window_switching_flag && (gr_info->block_type == 2))
      {  if( gr_info->mixed_block_flag )
         {  int max_sfb = 0;

            for ( j=0; j<3; j++ )
            {  int sfbcnt;
               sfbcnt = 2;
               for( sfb=12; sfb >=3; sfb-- )
               {  int lines;
                  lines = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + (j+1) * lines - 1;
                  while ( lines > 0 )
                  {  if ( xr[1][i/SSLIMIT][i%SSLIMIT] != 0.0 )
                     {  sfbcnt = sfb;
                        sfb = -10;
                        lines = -10;
                     }
                     lines--;
                     i--;
                  }
               }
               sfb = sfbcnt + 1;

               if ( sfb > max_sfb )
                  max_sfb = sfb;

               while( sfb<12 )
               {  sb = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + j * sb;
                  for ( ; sb > 0; sb--)
                  {  is_pos[i] = (*scalefac)[1].s[j][sfb];
                     if ( is_pos[i] != 7 )
                        is_ratio[i] = tan( is_pos[i] * (PI / 12));
                     i++;
                  }
                  sfb++;
               }
               sb = sfBandIndex[sfreq].s[11]-sfBandIndex[sfreq].s[10];
               sfb = 3*sfBandIndex[sfreq].s[10] + j * sb;
               sb = sfBandIndex[sfreq].s[12]-sfBandIndex[sfreq].s[11];
               i = 3*sfBandIndex[sfreq].s[11] + j * sb;
               for ( ; sb > 0; sb-- )
               {  is_pos[i] = is_pos[sfb];
                  is_ratio[i] = is_ratio[sfb];
                  i++;
               }
             }
             if ( max_sfb <= 3 )
             {  i = 2;
                ss = 17;
                sb = -1;
                while ( i >= 0 )
                {  if ( xr[1][i][ss] != 0.0 )
                   {  sb = i*18+ss;
                      i = -1;
                   } else
                   {  ss--;
                      if ( ss < 0 )
                      {  i--;
                         ss = 17;
                      }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产手机| www.亚洲在线| 欧美一区二区播放| 久久精品国产亚洲高清剧情介绍| 日韩一区二区三区四区五区六区| 久久国产福利国产秒拍| 国产视频在线观看一区二区三区| 99久久国产综合精品色伊 | 亚洲精品一区二区三区四区高清 | 一区二区三区中文在线观看| 一本大道久久a久久综合婷婷| 亚洲精品视频在线观看网站| 欧美三级三级三级| 六月丁香综合在线视频| 国产精品美女久久久久久| 91福利社在线观看| 久久国产成人午夜av影院| 国产精品国产三级国产a| 精品婷婷伊人一区三区三| 麻豆一区二区三| 一区精品在线播放| 91麻豆精品国产91久久久 | 久久一夜天堂av一区二区三区| 国产不卡视频在线播放| 亚洲一级片在线观看| 精品裸体舞一区二区三区| 成人免费毛片app| 亚洲aⅴ怡春院| 中文天堂在线一区| 日韩一级高清毛片| 一本在线高清不卡dvd| 久久99精品久久久久久| 亚洲色图视频网| 精品国产免费一区二区三区四区| 色综合中文综合网| 日韩电影一二三区| 日韩一区欧美一区| 精品国产一区二区三区不卡| 欧美影院一区二区三区| 国产一区二区三区四区五区入口| 又紧又大又爽精品一区二区| 久久久一区二区| 欧美日韩国产一级片| www.欧美.com| 精品无码三级在线观看视频| 亚洲综合丁香婷婷六月香| 精品国产精品一区二区夜夜嗨| 91黄色免费看| 风间由美一区二区av101| 美女免费视频一区二区| 一区二区三区在线视频观看| 久久久精品免费观看| 8x8x8国产精品| 91浏览器在线视频| 国产成人aaa| 久久99蜜桃精品| 天天爽夜夜爽夜夜爽精品视频| 国产精品九色蝌蚪自拍| 久久久久一区二区三区四区| 精品卡一卡二卡三卡四在线| 欧美片在线播放| 欧美午夜片在线看| 欧洲一区二区三区在线| 91啪亚洲精品| 色综合久久久网| 色综合久久中文字幕综合网| av在线不卡网| 99久久伊人精品| 99视频精品全部免费在线| 国产成人精品一区二| 紧缚捆绑精品一区二区| 麻豆国产精品官网| 麻豆一区二区在线| 狠狠色丁香九九婷婷综合五月| 免费在线视频一区| 免费高清在线一区| 免费看欧美女人艹b| 夜夜亚洲天天久久| 亚洲一区二区三区四区五区黄 | 亚洲综合一二三区| 亚洲午夜一区二区| 首页亚洲欧美制服丝腿| 免费在线看一区| 精品夜夜嗨av一区二区三区| 国产精品一区二区三区四区| 国产成人av电影在线播放| 成人美女视频在线看| 91麻豆123| 91精品婷婷国产综合久久竹菊| 日韩三级电影网址| 久久精品日产第一区二区三区高清版 | 日本在线不卡视频| 狠狠色丁香婷综合久久| 成人深夜在线观看| 在线中文字幕一区| 欧美一区三区四区| 久久久久88色偷偷免费| 最新日韩av在线| 午夜影院在线观看欧美| 美腿丝袜在线亚洲一区| 国产精品一区一区| 91国内精品野花午夜精品| 在线成人av影院| 久久精品一区蜜桃臀影院| 亚洲欧美视频一区| 蜜桃一区二区三区在线观看| 国产一区二区三区不卡在线观看| 99精品久久久久久| 欧美一区二区在线播放| 国产欧美一区二区三区在线老狼| 亚洲精品日韩一| 精品一区二区三区久久久| av电影在线观看不卡| 欧美理论在线播放| 国产精品久久久久aaaa樱花| 日韩va亚洲va欧美va久久| 国产大陆a不卡| 欧美另类videos死尸| 国产精品福利影院| 麻豆精品视频在线观看| 91丨porny丨蝌蚪视频| 日韩欧美一级片| 亚洲一区二区三区美女| 国产成人精品免费视频网站| 欧美日韩国产美| 中文字幕在线观看一区二区| 免费日本视频一区| 欧美亚洲日本国产| 国产精品乱人伦| 久久国产精品99久久久久久老狼 | 日本免费新一区视频| 91网站黄www| 久久九九影视网| 日韩国产欧美三级| 日本久久电影网| 国产日韩欧美亚洲| 免费不卡在线观看| 欧美群妇大交群中文字幕| 亚洲欧洲日韩av| 国产精品亚洲人在线观看| 91麻豆精品国产91久久久久久久久 | 欧美顶级少妇做爰| 一区二区三区在线观看网站| 成人h精品动漫一区二区三区| 欧美大片在线观看一区| 性做久久久久久免费观看| 色爱区综合激月婷婷| 国产精品久久久一本精品| 国产综合色视频| 精品日韩av一区二区| 日韩高清不卡在线| 欧美裸体bbwbbwbbw| 亚洲一区成人在线| 欧美日韩三级视频| 一区二区激情视频| 色综合色综合色综合色综合色综合 | 成人爱爱电影网址| 国产色产综合色产在线视频| 久久精品二区亚洲w码| 欧美一级午夜免费电影| 日本不卡123| 宅男噜噜噜66一区二区66| 午夜国产精品一区| 7777精品久久久大香线蕉| 亚洲成av人片观看| 在线不卡中文字幕| 久久精品国产99| 精品国产91乱码一区二区三区| 久久精品二区亚洲w码| 精品国内二区三区| 国产99精品在线观看| 中文字幕一区不卡| 色综合色狠狠天天综合色| 亚洲一区二区三区四区不卡| 欧美喷水一区二区| 精品一区二区三区蜜桃| 国产欧美日韩在线视频| www.在线欧美| 亚洲一区二区三区四区五区黄| 欧美精品日韩综合在线| 久久精品国产77777蜜臀| 欧美激情中文不卡| 色悠悠久久综合| 日韩精品亚洲专区| 久久久久99精品国产片| av不卡在线播放| 日日摸夜夜添夜夜添精品视频 | 中文字幕一区二区三区av| 91福利在线观看| 久久成人免费网| 中文字幕视频一区| 欧美日韩日日夜夜| 国产一区二区视频在线| 国产精品成人免费在线| 欧美视频在线观看一区二区| 久久精品av麻豆的观看方式| 国产欧美一区二区三区网站| 欧美性大战久久久久久久 | 99久久综合狠狠综合久久| 亚洲aⅴ怡春院|