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

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

?? motion_est.c

?? 用MPEG-4對YUV視頻文件編碼壓縮成divx視頻文件
?? C
?? 第 1 頁 / 共 3 頁
字號:
			else
			{
				/*最優點位于菱形的中心*/
				if( (mv_x == d_centre_x) && (mv_y == d_centre_y) )
				{
					d_type=0;
					pt_nmbr=0;
					total_check_pts=4;
				}
				else
				{
					if((mv_x==d_centre_x) ||(mv_y==d_centre_y))
						total_check_pts=5;
					else
						total_check_pts=3;
					pt_nmbr=diamond[d_type].point[mot_dirn].start_nmbr;
					d_centre_x = mv_x;
					d_centre_y = mv_y;
					
				}
			}
          }
          while(stop_flag!=1);	/*判定整像素搜索是否結束*/


/*-----------------------------------------------DS-b------------------------------*/

		  /* TYM 2000.04.20 */
/*  pos16=j*mvm_width+i;
  Prev_Mv[pos16].x=mv_x;
  Prev_Mv[pos16].y=mv_y;
  Prev_Mv[pos16].sad=sad_min;*/
  /*currMV->x=mv_x<<1;
  currMV->y=mv_y<<1;*/

  /* perform final half-pel step  */
Amvfast16_Refine:
  currMV->x=mv_x;
  currMV->y=mv_y;

  if(MotionFlags & HALFPELREFINE16)	
		sad_min =
		Halfpel16_Refine(pRef, pRefH, pRefV, pRefHV, cur, x, y, currMV,
							 sad_min, pmv, min_dx, max_dx, min_dy, max_dy,
							 iFcode, iQuant, iEdgedWidth);

/*   currPMV->x = currMV->x - pmv[0].x;
   currPMV->y = currMV->y - pmv[0].y;*/

   currPMV->x = currMV->x - pmv_x;
   currPMV->y = currMV->y - pmv_y;

   return sad_min;
}

/* add MV16X16 point check and early quit */
static int
amvfastSearch8(const uint8_t * const pRef,
			   const uint8_t * const pRefH,
			   const uint8_t * const pRefV,
			   const uint8_t * const pRefHV,
			   const IMAGE * const pCur,
			   const int x,
			   const int y,
			   const int start_x,
			   const int start_y,
			   const uint32_t MotionFlags,
			   const int32_t iQuant,
			   const uint32_t iFcode,
			   const MBParam * const pParam,
			   const MACROBLOCK * const pMBs,
			   const MACROBLOCK * const prevMBs,
			   VECTOR * const currMV,
			   VECTOR * const currPMV)
{
	/*int blocksize=16;*//* block size:16 or 8 */
    const uint32_t iWcount = pParam->mb_width;
	const int32_t iWidth = pParam->width;
	const int32_t iHeight = pParam->height;
	const int32_t iEdgedWidth = pParam->edged_width;
	const uint8_t *cur = pCur->y + x * 8 + y * 8 * iEdgedWidth;
	/*const uint8_t *cur = pCur->y + x * blocksize + y * blocksize * iEdgedWidth;*/

    VECTOR pmv[4];/* half pixel offset */
	VECTOR mvs[5];
	int pmv_x,pmv_y;
	int cand_x,cand_y;

	int x2=x>>1;
	int y2=y>>1;
	int iSubBlock = (y & 1) + (y & 1) + (x & 1);

    const MACROBLOCK * const pMB = pMBs + x2 + y2 * iWcount; 
	const MACROBLOCK *const prevMB = prevMBs + x2 + y2 * iWcount;

/*  int     i,j;*/
  int     sad, sad_min;
  int     mv_x;
  int     mv_y;
  int     min_dx, max_dx,
          min_dy, max_dy;/* half pixel motion vector range */

/*  int     pos16;*/
  /*int     mvm_width   = iWidth/blocksize;*/
/*    int     mvm_width   = iWidth/16;*/

     int pass_flag; /* SAD calculated flag for point in prediction */
     int pass_x,pass_y; /* SAD calculated point in prediction*/
/*	 int SAD_th1=125;
	 int SAD_th2=185;*/
	 int SAD_th1;
	 int SAD_th2;
	 int V_count;
	 int ii;
	 int skip_flag;
	 int same_mv;
/*     float factor1=(float)1.05,factor2=(float)1.5; */
	 int more_loop=0,new_min,eightORfour=8;

/* ------------------------------DS-----------t-----------------------*/
       typedef struct
       {
		int x;
		int y;
		int start_nmbr;	
       } DPoint;

       typedef struct
       {
		DPoint point[8];
       } Diamond;

       int d_type=1,stop_flag=0,pt_nmbr=0,check_pts,total_check_pts=8,mot_dirn=0;
       int d_centre_x,d_centre_y,check_pt_x,check_pt_y;/* integer pixel */
       /*Diamond diamond[2]={{{{0,1,3},{1,0,0},{0,-1,1},{-1,0,2}}},{{{0,2,6},{1,1,0},{2,0,0},{1,-1,2},{0,-2,2},{-1,-1,4},{-2,0,4},{-1,1,6}}}};*/
       Diamond diamond[2]={{{{0,2,3},{2,0,0},{0,-2,1},{-2,0,2}}},{{{0,4,6},{2,2,0},{4,0,0},{2,-2,2},{0,-4,2},{-2,-2,4},{-4,0,4},{-2,2,6}}}};


/*----------------------------------DS-----------b-------------------------*/
	   /* fyh add below code(2002.12.22):
          Saved vector and sad for the block of the same position 
		  in previous frame.
       */
	   int prev_sad;
	   int prev_mvx,prev_mvy;

       if(first_P_seq) 	     /* first P frame in sequence */
	   {
		 prev_sad=128;
		 prev_mvx=0;
		 prev_mvy=0;
	   }
	   else if(first_P_gop)  /* first P frame in gop */
	   {
         prev_sad=pMB->sad8[iSubBlock]; 
		 prev_mvx=pMB->mvs[iSubBlock].x;
		 prev_mvy=pMB->mvs[iSubBlock].y;
	   }
	   else                  /* other P frame */
	   {
         prev_sad=prevMB->sad8[iSubBlock];
 		 prev_mvx=prevMB->mvs[iSubBlock].x;
		 prev_mvy=prevMB->mvs[iSubBlock].y;
	   }


  /* Get maximum range */
	get_range(&min_dx, &max_dx, &min_dy, &max_dy, x, y, 8, iWidth, iHeight,iFcode);

  /* 獲得中值法的運動矢量 */ 
  /*pmv=get_pmv(pMBs, x, y, iWcount, 0);*/
  same_mv=get_pmvdata_amv(pMBs, x2, y2, iWcount, iSubBlock, pmv);
  pmv_x=pmv[0].x;
  pmv_y=pmv[0].y;

  /* computer (start_x,start_y) */
  mv_x=pass_x=start_x;
  mv_y=pass_y=start_y;

  sad_min =
		sad8(cur,
		get_ref(pRef, pRefH, pRefV, pRefHV, x, y, 8, start_x,start_y,
						iEdgedWidth), iEdgedWidth);
  SAD8_count++;
  sad_min +=
		calc_delta_8(start_x - pmv_x, start_y - pmv_y,iFcode, iQuant);
  
/*  if ((sad_min < 64) || ((start_x == prevMB->mvs[iSubBlock].x && start_y == prevMB->mvs[iSubBlock].y)
								&& ( sad_min <prevMB->sad8[iSubBlock])))*/
  if ((sad_min < 64) || ((start_x == prev_mvx && start_y == prev_mvy)
								&& ( sad_min <prev_sad)))

  {
/*	    currMV->x=start_x;
        currMV->y=start_y;*/
		goto Amvfast8_Refine;
  }
/*
  if(!x && !y)
  {
	prev_mv_available++;
	if(prev_mv_available>1)
	{
	   prev_mv_available=2;
	}
  }
*/
	/* Resize SAD_th */
    /*current frame don't first P frame*/
	/*if(prev_mv_available>1)
	{*/
/*      sad=prevMB->sad8[iSubBlock];
	  if(sad<128)
	  {
		SAD_th1=128;
		SAD_th2=192;
	  }
	  else
	  {
		SAD_th1=(int) (sad * factor1);
		SAD_th2=(int) (sad * factor2);
	  }*/
	/*}*/
	  if(prev_sad<128)
	  {
		SAD_th1=128;
		SAD_th2=192;
	  }
	  else
	  {
		SAD_th1=(int) (prev_sad * factor1);
		SAD_th2=(int) (prev_sad * factor2);
	  }

  /* save (0,0) point */
  mvs[0].x=0;
  mvs[0].y=0;
  V_count=1;

  /* save left block motion vector */
  cand_x=pmv[1].x;
  cand_y=pmv[1].y;
  if(cand_x || cand_y)
  {
    mvs[1].x=cand_x;
    mvs[1].y=cand_y;
    V_count=2;
  }

  if(same_mv)
  {
	  /* left,top,righttop block motion vector equal */
	  /*current frame don't first P frame*/
/*	  if(prev_mv_available>1)
	  {*/
/*	      cand_x=prevMB->mvs[iSubBlock].x;
		  cand_y=prevMB->mvs[iSubBlock].y;*/
	      cand_x=prev_mvx;
		  cand_y=prev_mvy;

		  if(cand_x==pmv[1].x && cand_y ==pmv[1].y)
		     same_mv=1;/* left top righttop previous_frame block motion vector equal */
    	  else
		  {
      	     /* save previous frame block motion vetor */
		     same_mv=0;
			 if(cand_x||cand_y)
			 {
	            mvs[V_count].x=cand_x;
	            mvs[V_count].y=cand_y;
                V_count++;
			 }
		  }
	  /*}*/
  }
  else
  {
	  /* save top block motion vector */
   	  skip_flag=0;
	  cand_x=pmv[2].x;
	  cand_y=pmv[2].y;

	  for(ii=0;ii<V_count;ii++)
		if(cand_x==mvs[ii].x && cand_y==mvs[ii].y)
		{
			skip_flag=1;
			break;
		}
	  if(!skip_flag)
	  {
			mvs[V_count].x= cand_x;
			mvs[V_count].y= cand_y;
			V_count++;
	  }

	  /* save righttop block motion vector */
   	  skip_flag=0;
	  cand_x=pmv[3].x;
	  cand_y=pmv[3].y;
	  for(ii=0;ii<V_count;ii++)
		if(cand_x==mvs[ii].x && cand_y==mvs[ii].y)
		{
			skip_flag=1;
			break;
		}
	  if(!skip_flag)
	  {
			mvs[V_count].x= cand_x;
			mvs[V_count].y= cand_y;
			V_count++;
	  }
	  
	  /* save previous frame block motion vetor */
   	  skip_flag=0;
/*      cand_x=prevMB->mvs[iSubBlock].x;
	  cand_y=prevMB->mvs[iSubBlock].y;*/
      cand_x=prev_mvx;
	  cand_y=prev_mvy;

	  for(ii=0;ii<V_count;ii++)
		if(cand_x ==mvs[ii].x && cand_y==mvs[ii].y)
		{
			skip_flag=1;
			break;
		}
	  if(!skip_flag)
	  {
			mvs[V_count].x= cand_x;
			mvs[V_count].y= cand_y;
			V_count++;
	  }      
  
  }/* same_mv */

  /* decide initial search mode */
  if(same_mv)/*SDS MODE*/
  {
	    d_type=0;
    	total_check_pts=4;
	    more_loop=1;
  }

  /*decide the starting point of searching */
  pass_flag=0;
  for(ii=0;ii<V_count;ii++)
  {
    cand_x=mvs[ii].x;
	cand_y=mvs[ii].y;
	
	if(!(cand_x==start_x && cand_y==start_y) )
	{
	   if (cand_x < min_dx || cand_x > max_dx || cand_y < min_dy || cand_y > max_dy)
		 continue;
	   else
	   {
		   pass_flag=1;
		   pass_x=cand_x;
		   pass_y=cand_y;
         
		   sad =
/*		      sad16(cur,get_ref_mv(pRef, pRefH, pRefV, pRefHV, x, y, 16, currMV,
					  iEdgedWidth), iEdgedWidth, sad_min);*/
		      sad8(cur,get_ref(pRef, pRefH, pRefV, pRefHV, x, y, 8, cand_x,cand_y,
					  iEdgedWidth), iEdgedWidth);

	       SAD8_count++;

		   if(sad<sad_min)
		   {
              sad +=
		      calc_delta_8(cand_x - pmv_x, cand_y - pmv_y,iFcode, iQuant);

		     if(sad<sad_min)
			 {
			    sad_min=sad;
			    mv_x=cand_x;
			    mv_y=cand_y;
			 }
			 else if ( sad==sad_min && (abs(cand_x)+abs(cand_y))<(abs(mv_x)+abs(mv_y)) ) 
             {
             	sad_min=sad;
             	mv_x=cand_x;
             	mv_y=cand_y;
             }
            
		   }
	   }/* End of else(....) */
   }/* End of if(..) */
  }/* end of for */

  /* convert half pixel to interge pixel */
  /*mv_x>>=1;
  mv_y>>=1;
  pass_x>>=1;
  pass_y>>=1;*/

  if(mv_x || mv_y)
  {
	 pass_x=0;
	 pass_y=0;
  }
  else/* best candidate is (0,0) point */
  {
	if(sad_min <= iQuant * 96)	
       sad_min -= MV8_00_BIAS;
  }

/* ------------------------------DS t----------------------------------*/
	d_centre_x=mv_x;
	d_centre_y=mv_y;

        do
        {
          	check_pts=total_check_pts;
			new_min=0;
          	do
          	{
             /* TYM add 2000.04.27   half-stop by using SAD threshold */
			 if(sad_min<SAD_th1)
			 {
				d_type=0;
				break;
			 }
			 else
			 {
				 if(sad_min<SAD_th2 && d_type!=0)/*again sds*/
				 {
					 more_loop=1;
					 d_centre_x=mv_x;
					 d_centre_y=mv_y;
					 break;
				 }
			 }
          	check_pt_x = diamond[d_type].point[pt_nmbr].x + d_centre_x;
	        check_pt_y = diamond[d_type].point[pt_nmbr].y + d_centre_y;
            /*cand_x=check_pt_x<<1;
            cand_y=check_pt_y<<1;		*/
		    if( check_pt_x < min_dx || check_pt_x > max_dx || check_pt_y < min_dy || check_pt_y > max_dy)
			{
               sad = MV_MAX_ERROR;
			}
            else
		      if(!(pass_flag && check_pt_x==pass_x && check_pt_y==pass_y ))
			  {

		   /*sad = dist1(ref+(i0+check_pt_x)+lx*(j0+check_pt_y),blk,lx,h,sad_min);*/
           sad =
		      sad8(cur,
/*			  get_ref_mv(pRef, pRefH, pRefV, pRefHV, x, y, 16, currMV,
						 iEdgedWidth), iEdgedWidth, sad_min);*/
			  get_ref(pRef, pRefH, pRefV, pRefHV, x, y, 8, check_pt_x,check_pt_y,
						 iEdgedWidth), iEdgedWidth);

		   SAD8_count++;
		   if(sad<sad_min)
		   {
              sad +=
/*		      calc_delta_16(currMV->x - pmv[0].x, currMV->y - pmv[0].y,
					  (uint8_t) iFcode, iQuant);*/
		      calc_delta_8(check_pt_x - pmv_x, check_pt_y - pmv_y,iFcode, iQuant);

          	  if (sad<sad_min)
			  {
				sad_min=sad;
				mv_x=check_pt_x;
				mv_y=check_pt_y;
				mot_dirn=pt_nmbr;
				new_min=1;
				}
				/* fyh comment code by 2002.12.16*/
	    	  else if (sad==sad_min)
            	if((abs(check_pt_x)+abs(check_pt_y)) < (abs(mv_x)+abs(mv_y)))
              	{
              		sad_min=sad;
              		mv_x=check_pt_x;
              		mv_y=check_pt_y;
              		mot_dirn=pt_nmbr;
              	}
		   }
		}
			pt_nmbr+=1;
	        	if((pt_nmbr)>= eightORfour) pt_nmbr-=eightORfour;
	        	check_pts-=1;
	      	}
	      	while(check_pts>0);/*decide one pass diamond search stop or not*/
        /* check one pass search result	*/
		if( d_type == 0)/*sds*/
		{
			if(more_loop==0 || new_min==0)
				stop_flag = 1;
			else
			{
				total_check_pts=3;
				eightORfour=4;
				pt_nmbr=diamond[d_type].point[mot_dirn].start_nmbr;
				d_centre_x = mv_x;
				d_centre_y = mv_y;
			}
			
		}
		else
		{
		 /*最優點位于菱形的中心*/
		   if( (mv_x == d_centre_x) && (mv_y == d_centre_y) )
		   {
			d_type=0;
			pt_nmbr=0;
			total_check_pts=4;
		   }
		   else
		   {
			if((mv_x==d_centre_x) ||(mv_y==d_centre_y))
				total_check_pts=5;
			else
				total_check_pts=3;
			pt_nmbr=diamond[d_type].point[mot_dirn].start_nmbr;
			d_centre_x = mv_x;
			d_centre_y = mv_y;
			
		   }
		}
          }
          while(stop_flag!=1);	/*判定整像素搜索是否結束*/
/*-----------------------------------------------DS-b------------------------------*/

/* TYM 2000.04.20 */
/*  pos16=j*mvm_width+i;
  Prev_Mv[pos16].x=mv_x;
  Prev_Mv[pos16].y=mv_y;
  Prev_Mv[pos16].sad=sad_min;*/
  /*currMV->x=mv_x<<1;
  currMV->y=mv_y<<1;*/

  /* perform final half-pel step  */
Amvfast8_Refine:
  currMV->x=mv_x;
  currMV->y=mv_y;
  if(MotionFlags & HALFPELREFINE8)	
		sad_min =
	Halfpel8_Refine(pRef, pRefH, pRefV, pRefHV, cur, x, y, currMV,
							sad_min, pmv, min_dx, max_dx, min_dy, max_dy,
							iFcode, iQuant, iEdgedWidth);

/*   currPMV->x = currMV->x - pmv[0].x;
   currPMV->y = currMV->y - pmv[0].y;*/
   currPMV->x = currMV->x - pmv_x;
   currPMV->y = currMV->y - pmv_y;

   return sad_min;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到三区不卡视频| 久久爱另类一区二区小说| 成人久久视频在线观看| 国产午夜精品理论片a级大结局| 精品一区二区三区不卡| 久久久精品综合| 国产精品一区免费视频| 国产精品网站在线播放| 99久久久久免费精品国产| 一区二区免费视频| 91精品国产免费| 激情小说欧美图片| 国产精品免费免费| 色哟哟日韩精品| 天堂久久一区二区三区| 久久综合九色综合欧美就去吻| 国产成人精品一区二区三区网站观看| 日韩精品一区在线观看| 91 com成人网| 亚洲精品第一国产综合野| 欧美日韩和欧美的一区二区| 日产国产欧美视频一区精品| 久久久不卡网国产精品一区| 99久久精品免费观看| 亚洲第一福利视频在线| 欧美一区二区三区不卡| 国产成人精品一区二| 亚洲国产中文字幕| 亚洲精品一区二区三区在线观看| 成人免费看的视频| 午夜精品aaa| 国产女主播一区| 欧美日韩一区 二区 三区 久久精品| 麻豆精品视频在线观看免费| 亚洲午夜精品一区二区三区他趣| 91精品国产综合久久蜜臀| 国产精品1024久久| 亚洲mv在线观看| 国产精品乱人伦| 日韩欧美高清在线| 在线视频观看一区| 国产91丝袜在线播放| 日韩制服丝袜av| 国产精品国产自产拍高清av| 日韩一级片在线播放| 一本一道久久a久久精品综合蜜臀| 免费精品视频最新在线| 一区二区三区国产精华| 亚洲国产高清在线| 欧美精品一区二| 91.xcao| 一本到不卡免费一区二区| 韩国一区二区三区| 视频一区国产视频| 一级中文字幕一区二区| 亚洲欧美怡红院| 国产亚洲制服色| 精品女同一区二区| 欧美一区二区三区视频| 欧美影院精品一区| www.亚洲在线| 成人免费视频免费观看| 国产精品一级片| 国产在线精品一区二区| 免费xxxx性欧美18vr| 午夜精品成人在线| 亚洲高清免费观看高清完整版在线观看| 国产精品日韩成人| 国产日韩欧美综合在线| 精品国产乱码久久久久久闺蜜| 欧美日本不卡视频| 欧美日韩免费在线视频| 欧美亚洲动漫另类| 欧美无人高清视频在线观看| 色综合av在线| 在线欧美一区二区| 色婷婷久久久综合中文字幕| 91在线免费看| 91小视频在线观看| 色婷婷综合久久久久中文一区二区 | 久久婷婷国产综合精品青草| 日韩一级高清毛片| 91精品婷婷国产综合久久| 欧美日韩国产综合视频在线观看| 欧美最新大片在线看| 欧美中文字幕一二三区视频| 91年精品国产| 欧美午夜精品一区| 欧美一区永久视频免费观看| 制服丝袜日韩国产| 久久免费偷拍视频| 18欧美乱大交hd1984| 亚洲美女视频一区| 三级影片在线观看欧美日韩一区二区 | 欧美va亚洲va在线观看蝴蝶网| 欧美一区二区日韩一区二区| 欧美一级二级三级蜜桃| 日韩美女视频一区二区在线观看| 国产精品麻豆视频| 亚洲天堂2016| 丝瓜av网站精品一区二区| 久久国产综合精品| 成人免费毛片嘿嘿连载视频| 99综合电影在线视频| 在线观看亚洲专区| 精品日韩一区二区三区| 中文字幕在线播放不卡一区| 一个色综合网站| 美女尤物国产一区| 成人爱爱电影网址| 欧美日本一区二区三区| 久久精品视频网| 亚洲乱码中文字幕综合| 青青草原综合久久大伊人精品优势| 国产一区二区按摩在线观看| 99久久99精品久久久久久| 精品视频一区 二区 三区| 欧美va日韩va| 伊人性伊人情综合网| 精品一区二区精品| 日本精品视频一区二区三区| 欧美一级夜夜爽| 国产精品九色蝌蚪自拍| 青青草原综合久久大伊人精品优势| 成人午夜激情影院| 欧美一区二区人人喊爽| 中文字幕一区二区三区精华液| 亚洲午夜电影在线| 成人亚洲精品久久久久软件| 欧美日韩国产色站一区二区三区| 欧美国产日本韩| 美女视频一区二区三区| 91蝌蚪国产九色| 久久青草国产手机看片福利盒子 | 高清在线成人网| 欧美日韩日日夜夜| 国产精品久久久久久久久久久免费看 | 久久精品日产第一区二区三区高清版| 亚洲欧美欧美一区二区三区| 久久精品久久精品| 欧美日韩免费高清一区色橹橹| 久久午夜国产精品| 美国毛片一区二区| 欧美日韩一区高清| 久久色成人在线| 天天操天天色综合| 欧美做爰猛烈大尺度电影无法无天| 国产色爱av资源综合区| 久久精品国产精品亚洲精品| 欧美专区在线观看一区| 国产精品不卡一区| 成人深夜视频在线观看| 久久久久久久国产精品影院| 人人爽香蕉精品| 777午夜精品视频在线播放| 亚洲美腿欧美偷拍| av在线综合网| 亚洲女人的天堂| 白白色 亚洲乱淫| 国产精品电影院| 成人黄页毛片网站| 国产日韩欧美精品综合| 国产尤物一区二区在线| 欧美电影免费观看高清完整版在线 | 一区二区三区蜜桃网| 99久久国产综合精品麻豆| 欧美极品xxx| 成人精品视频网站| 国产精品成人免费在线| 99久久精品国产麻豆演员表| 中文字幕免费在线观看视频一区| 国产一区二区电影| 中文字幕欧美激情| 99视频超级精品| 亚洲精品日产精品乱码不卡| 91一区在线观看| 一区二区三区四区蜜桃| 欧洲av一区二区嗯嗯嗯啊| 一二三区精品福利视频| 欧美美女一区二区| 久久99深爱久久99精品| 精品国产凹凸成av人导航| 国产麻豆午夜三级精品| 欧美国产精品v| 色综合天天做天天爱| 亚洲男人天堂一区| 欧美精品丝袜久久久中文字幕| 日韩电影免费一区| 国产午夜亚洲精品午夜鲁丝片| 成人av影院在线| 一区二区三区小说| 欧美成人性战久久| 国产精品66部| 一二三四区精品视频| 欧美福利电影网| 国产一区999| 亚洲精品伦理在线| 日韩欧美高清dvd碟片| 成人手机电影网| 香蕉成人啪国产精品视频综合网|