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

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

?? mach64_vid.c

?? 原名叫avifile
?? C
?? 第 1 頁 / 共 3 頁
字號:
			  config->dest.pitch.v = best_pitch;			  besr.vid_buf_pitch= pitch>>1;			  break;    }    dest_w = config->dest.w;    dest_h = config->dest.h;    besr.fourcc = config->fourcc;    ecp = (INPLL(PLL_VCLK_CNTL) & PLL_ECP_DIV) >> 4;#if 0{int i;for(i=0; i<32; i++){    printf("%X ", INPLL(i));}}#endif    if(__verbose>0) printf("[mach64] ecp: %d\n", ecp);    v_inc = src_h * mach64_get_vert_stretch();        if(mach64_is_interlace()) v_inc<<=1;    if(mach64_is_dbl_scan() ) v_inc>>=1;    v_inc/= dest_h;    v_inc>>=4; // convert 16.16 -> 4.12    h_inc = (src_w << (12+ecp)) / dest_w;    /* keep everything in 4.12 */    config->offsets[0] = 0;    for(i=1; i<config->num_frames; i++)        config->offsets[i] = config->offsets[i-1] + config->frame_size;    	/*FIXME the left / top stuff is broken (= zoom a src rectangle from a larger one)		1. the framesize isnt known as the outer src rectangle dimensions arent known		2. the mach64 needs aligned addresses so it cant work anyway		   -> so we could shift the outer buffer to compensate that but that would mean		      alignment problems for the code which writes into it	*/        if(is_420)    {	config->offset.y= 0;	config->offset.u= (pitch*src_h + 15)&~15; 	config->offset.v= (config->offset.u + (pitch*src_h>>2) + 15)&~15;		src_offset_y= config->offset.y + top*pitch + left;	src_offset_u= config->offset.u + (top*pitch>>2) + (left>>1);	src_offset_v= config->offset.v + (top*pitch>>2) + (left>>1);	if(besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV)	{	  uint32_t tmp;	  tmp = config->offset.u;	  config->offset.u = config->offset.v;	  config->offset.v = tmp;	  src_offset_u=config->offset.u;	  src_offset_v=config->offset.v;	}    }    else if(besr.fourcc == IMGFMT_YVU9)    {	config->offset.y= 0;	config->offset.u= (pitch*src_h + 15)&~15; 	config->offset.v= (config->offset.u + (pitch*src_h>>4) + 15)&~15;		src_offset_y= config->offset.y + top*pitch + left;	src_offset_u= config->offset.u + (top*pitch>>4) + (left>>1);	src_offset_v= config->offset.v + (top*pitch>>4) + (left>>1);    }    else if(besr.fourcc == IMGFMT_BGR32)    {      config->offset.y = config->offset.u = config->offset.v = 0;      src_offset_y= src_offset_u= src_offset_v= top*pitch + (left << 2);    }    else    {      config->offset.y = config->offset.u = config->offset.v = 0;      src_offset_y= src_offset_u= src_offset_v= top*pitch + (left << 1);    }    num_mach64_buffers= config->num_frames;    for(i=0; i<config->num_frames; i++)    {	mach64_buffer_base[i][0]= (mach64_overlay_offset + config->offsets[i] + src_offset_y)&~15;	mach64_buffer_base[i][1]= (mach64_overlay_offset + config->offsets[i] + src_offset_u)&~15;	mach64_buffer_base[i][2]= (mach64_overlay_offset + config->offsets[i] + src_offset_v)&~15;    }    leftUV = (left >> 17) & 15;    left = (left >> 16) & 15;    besr.scale_inc = ( h_inc << 16 ) | v_inc;    y_pos = config->dest.y;    if(mach64_is_dbl_scan()) y_pos*=2;    else    if(mach64_is_interlace()) y_pos/=2;    besr.y_x_start = y_pos | (config->dest.x << 16);    y_pos =config->dest.y + dest_h;    if(mach64_is_dbl_scan()) y_pos*=2;    else    if(mach64_is_interlace()) y_pos/=2;    besr.y_x_end = y_pos | ((config->dest.x + dest_w) << 16);    besr.height_width = ((src_w - left)<<16) | (src_h - top);    return 0;}static int is_supported_fourcc(uint32_t fourcc){    switch(fourcc)    {    case IMGFMT_YV12:    case IMGFMT_I420:    case IMGFMT_YVU9:    case IMGFMT_IYUV:	return supports_planar;    case IMGFMT_YUY2:    case IMGFMT_UYVY:    case IMGFMT_BGR15:    case IMGFMT_BGR16:    case IMGFMT_BGR32:	return 1;    default:	return 0;    }}int VIDIX_NAME(vixQueryFourcc)(vidix_fourcc_t *to){    if(is_supported_fourcc(to->fourcc))    {	to->depth = VID_DEPTH_1BPP | VID_DEPTH_2BPP |		    VID_DEPTH_4BPP | VID_DEPTH_8BPP |		    VID_DEPTH_12BPP| VID_DEPTH_15BPP|		    VID_DEPTH_16BPP| VID_DEPTH_24BPP|		    VID_DEPTH_32BPP;	to->flags = VID_CAP_EXPAND | VID_CAP_SHRINK | VID_CAP_COLORKEY;	return 0;    }    else  to->depth = to->flags = 0;    return ENOSYS;}int VIDIX_NAME(vixConfigPlayback)(vidix_playback_t *info){  unsigned rgb_size,nfr;  uint32_t mach64_video_size;  if(!is_supported_fourcc(info->fourcc)) return ENOSYS;  if(info->src.h > 720 || info->src.w > 720)  {    printf("[mach64] Can't apply width or height > 720\n");    return EINVAL;  }  if(info->num_frames>VID_PLAY_MAXFRAMES) info->num_frames=VID_PLAY_MAXFRAMES;  mach64_compute_framesize(info);  rgb_size = mach64_get_xres()*mach64_get_yres()*((mach64_vid_get_dbpp()+7)/8);  nfr = info->num_frames;  mach64_video_size = mach64_ram_size;  for(;nfr>0;nfr--)  {      mach64_overlay_offset = mach64_video_size - info->frame_size*nfr;      mach64_overlay_offset &= 0xffff0000;      if(mach64_overlay_offset >= (int)rgb_size ) break;  }  if(nfr <= 3)  {   nfr = info->num_frames;   for(;nfr>0;nfr--)   {      mach64_overlay_offset = mach64_video_size - info->frame_size*nfr;      mach64_overlay_offset &= 0xffff0000;      if(mach64_overlay_offset>=0) break;   }  }  if(nfr <= 0) return EINVAL;  info->num_frames=nfr;  num_mach64_buffers = info->num_frames;  info->dga_addr = (char *)mach64_mem_base + mach64_overlay_offset;  mach64_vid_init_video(info);  return 0;}int VIDIX_NAME(vixPlaybackOn)(void){  int err;  unsigned dw,dh;  dw = (besr.y_x_end >> 16) - (besr.y_x_start >> 16);  dh = (besr.y_x_end & 0xFFFF) - (besr.y_x_start & 0xFFFF);  if(dw == mach64_get_xres() || dh == mach64_get_yres()) mach64_vid_exclusive();  else mach64_vid_non_exclusive();  mach64_vid_display_video();  err = INREG(SCALER_BUF_PITCH) == besr.vid_buf_pitch ? 0 : EINTR;  if(err)  {    printf("[mach64] *** Internal fatal error ***: Detected pitch corruption\n"	   "[mach64] Try decrease number of buffers\n");  }  return err;}int VIDIX_NAME(vixPlaybackOff)(void){  mach64_vid_stop_video();  return 0;}int VIDIX_NAME(vixPlaybackFrameSelect)(unsigned int frame){    uint32_t off[6];    int i;    int last_frame= (frame-1+num_mach64_buffers) % num_mach64_buffers;    /*    buf3-5 always should point onto second buffer for better    deinterlacing and TV-in    */    if(num_mach64_buffers==1) return 0;    for(i=0; i<3; i++)    {    	off[i]  = mach64_buffer_base[frame][i];    	off[i+3]= mach64_buffer_base[last_frame][i];    }    if(__verbose > VERBOSE_LEVEL) printf("mach64_vid: flip_page = %u\n",frame);#if 0 // delay routine so the individual frames can be ssen better{volatile int i=0;for(i=0; i<10000000; i++);}#endif    mach64_wait_for_idle();    mach64_fifo_wait(7);    OUTREG(SCALER_BUF0_OFFSET,		off[0]);    OUTREG(SCALER_BUF0_OFFSET_U,	off[1]);    OUTREG(SCALER_BUF0_OFFSET_V,	off[2]);    OUTREG(SCALER_BUF1_OFFSET,		off[3]);    OUTREG(SCALER_BUF1_OFFSET_U,	off[4]);    OUTREG(SCALER_BUF1_OFFSET_V,	off[5]);    if(num_mach64_buffers==2) mach64_wait_vsync(); //only wait for vsync if we do double buffering           if(__verbose > VERBOSE_LEVEL) mach64_vid_dump_regs();    return 0;}vidix_video_eq_t equal ={ VEQ_CAP_BRIGHTNESS | VEQ_CAP_SATURATION , 0, 0, 0, 0, 0, 0, 0, 0 };int 	VIDIX_NAME(vixPlaybackGetEq)( vidix_video_eq_t * eq){  memcpy(eq,&equal,sizeof(vidix_video_eq_t));  if(!supports_colour_adj) eq->cap = VEQ_CAP_BRIGHTNESS;  return 0;}int 	VIDIX_NAME(vixPlaybackSetEq)( const vidix_video_eq_t * eq){  int br,sat;    if(eq->cap & VEQ_CAP_BRIGHTNESS) equal.brightness = eq->brightness;    if(eq->cap & VEQ_CAP_CONTRAST)   equal.contrast   = eq->contrast;    if(eq->cap & VEQ_CAP_SATURATION) equal.saturation = eq->saturation;    if(eq->cap & VEQ_CAP_HUE)        equal.hue        = eq->hue;    if(eq->cap & VEQ_CAP_RGB_INTENSITY)    {      equal.red_intensity   = eq->red_intensity;      equal.green_intensity = eq->green_intensity;      equal.blue_intensity  = eq->blue_intensity;    }    if(supports_colour_adj)    {	equal.flags = eq->flags;	br = equal.brightness * 64 / 1000;	if(br < -64) br = -64; if(br > 63) br = 63;	sat = (equal.saturation + 1000) * 16 / 1000;	if(sat < 0) sat = 0; if(sat > 31) sat = 31;	OUTREG(SCALER_COLOUR_CNTL, (br & 0x7f) | (sat << 8) | (sat << 16));    }    else    {	unsigned gamma;	br = equal.brightness * 3 / 1000;	if(br < 0) br = 0;	switch(br)	{	    default:gamma = SCALE_GAMMA_SEL_BRIGHT; break;	    case 1: gamma = SCALE_GAMMA_SEL_G14; break;	    case 2: gamma = SCALE_GAMMA_SEL_G18; break;	    case 3: gamma = SCALE_GAMMA_SEL_G22; break;	}	OUTREG(OVERLAY_SCALE_CNTL,(INREG(OVERLAY_SCALE_CNTL) & ~SCALE_GAMMA_SEL_MSK) | gamma);    }  return 0;}int VIDIX_NAME(vixGetGrKeys)(vidix_grkey_t *grkey){    memcpy(grkey, &mach64_grkey, sizeof(vidix_grkey_t));    return(0);}int VIDIX_NAME(vixSetGrKeys)(const vidix_grkey_t *grkey){    memcpy(&mach64_grkey, grkey, sizeof(vidix_grkey_t));    if(mach64_grkey.ckey.op == CKEY_TRUE)    {	besr.ckey_on=1;	switch(mach64_vid_get_dbpp())	{	case 15:		besr.graphics_key_msk=0x7FFF;		besr.graphics_key_clr=			  ((mach64_grkey.ckey.blue &0xF8)>>3)			| ((mach64_grkey.ckey.green&0xF8)<<2)			| ((mach64_grkey.ckey.red  &0xF8)<<7);		break;	case 16:		besr.graphics_key_msk=0xFFFF;		besr.graphics_key_clr=			  ((mach64_grkey.ckey.blue &0xF8)>>3)			| ((mach64_grkey.ckey.green&0xFC)<<3)			| ((mach64_grkey.ckey.red  &0xF8)<<8);		break;	case 24:		besr.graphics_key_msk=0xFFFFFF;		besr.graphics_key_clr=			  ((mach64_grkey.ckey.blue &0xFF))			| ((mach64_grkey.ckey.green&0xFF)<<8)			| ((mach64_grkey.ckey.red  &0xFF)<<16);		break;	case 32:		besr.graphics_key_msk=0xFFFFFF;		besr.graphics_key_clr=			  ((mach64_grkey.ckey.blue &0xFF))			| ((mach64_grkey.ckey.green&0xFF)<<8)			| ((mach64_grkey.ckey.red  &0xFF)<<16);		break;	default:		besr.ckey_on=0;		besr.graphics_key_msk=0;		besr.graphics_key_clr=0;	}    }    else    {	besr.ckey_on=0;	besr.graphics_key_msk=0;	besr.graphics_key_clr=0;    }    mach64_fifo_wait(4);    OUTREG(OVERLAY_GRAPHICS_KEY_MSK, besr.graphics_key_msk);    OUTREG(OVERLAY_GRAPHICS_KEY_CLR, besr.graphics_key_clr);//    OUTREG(OVERLAY_VIDEO_KEY_MSK, 0);//    OUTREG(OVERLAY_VIDEO_KEY_CLR, 0);    if(besr.ckey_on)    	OUTREG(OVERLAY_KEY_CNTL,VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_EQ|CMP_MIX_AND);    else    	OUTREG(OVERLAY_KEY_CNTL,VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND);    return(0);}#ifdef MACH64_ENABLE_BMstatic int mach64_setup_frame( vidix_dma_t * dmai ){    if(mach64_overlay_offset + dmai->dest_offset + dmai->size > mach64_ram_size) return E2BIG;    if(dmai->idx > VID_PLAY_MAXFRAMES-1) dmai->idx=0;    if(!(dmai->internal[dmai->idx] && (dmai->flags & BM_DMA_FIXED_BUFFS)))    {	bm_list_descriptor * list = (bm_list_descriptor *)mach64_dma_desc_base[dmai->idx];	unsigned long dest_ptr;	unsigned i,n,count;	int retval;	n = dmai->size / 4096;	if(dmai->size % 4096) n++;	if((retval = VIRT_TO_CARD(dmai->src,dmai->size,dma_phys_addrs)) != 0) return retval;	dmai->internal[dmai->idx] = mach64_dma_desc_base[dmai->idx];	dest_ptr = dmai->dest_offset;	count = dmai->size;#if 0printf("MACH64_DMA_REQUEST va=%X size=%X\n",dmai->src,dmai->size);#endif	for(i=0;i<n;i++)	{	    list[i].framebuf_offset = mach64_overlay_offset + dest_ptr; /* offset within of video memory */	    list[i].sys_addr = dma_phys_addrs[i];	    list[i].command = (count > 4096 ? 4096 : (count | DMA_GUI_COMMAND__EOL));	    list[i].reserved = 0;#if 0printf("MACH64_DMA_TABLE[%i] fboff=%X pa=%X cmd=%X rsrvd=%X\n",i,list[i].framebuf_offset,list[i].sys_addr,list[i].command,list[i].reserved);#endif	    dest_ptr += 4096;	    count -= 4096;	}	cpu_flush(list,4096);    }    return 0;}static int mach64_transfer_frame( unsigned long ba_dma_desc,int sync_mode ){    uint32_t crtc_int;    mach64_wait_for_idle();    mach64_fifo_wait(4);    OUTREG(BUS_CNTL,(INREG(BUS_CNTL)|BUS_EXT_REG_EN)&(~BUS_MASTER_DIS));    crtc_int = INREG(CRTC_INT_CNTL);    if(sync_mode && can_use_irq) OUTREG(CRTC_INT_CNTL,crtc_int|CRTC_BUSMASTER_EOL_INT|CRTC_BUSMASTER_EOL_INT_EN);    else			 OUTREG(CRTC_INT_CNTL,crtc_int|CRTC_BUSMASTER_EOL_INT);    OUTREG(BM_SYSTEM_TABLE,ba_dma_desc|SYSTEM_TRIGGER_SYSTEM_TO_VIDEO);    if(__verbose > VERBOSE_LEVEL) mach64_vid_dump_regs();    #if 0    mach64_fifo_wait(4);    mach64_fifo_wait(16);    printf("MACH64_DMA_DBG: bm_fb_off=%08X bm_sysmem_addr=%08X bm_cmd=%08X bm_status=%08X bm_agp_base=%08X bm_agp_cntl=%08X\n",	    INREG(BM_FRAME_BUF_OFFSET),	    INREG(BM_SYSTEM_MEM_ADDR),	    INREG(BM_COMMAND),	    INREG(BM_STATUS),	    INREG(AGP_BASE),	    INREG(AGP_CNTL));#endif    return 0;}int VIDIX_NAME(vixQueryDMAStatus)( void ){    int bm_off;    unsigned crtc_int_cntl;    mach64_wait_for_idle();    mach64_fifo_wait(2);    crtc_int_cntl = INREG(CRTC_INT_CNTL);    bm_off = crtc_int_cntl & CRTC_BUSMASTER_EOL_INT;//    if(bm_off) OUTREG(CRTC_INT_CNTL,crtc_int_cntl | CRTC_BUSMASTER_EOL_INT);    return bm_off?0:1;}int VIDIX_NAME(vixPlaybackCopyFrame)( vidix_dma_t * dmai ){    int retval,sync_mode;    if(!(dmai->flags & BM_DMA_FIXED_BUFFS)) if(bm_lock_mem(dmai->src,dmai->size) != 0) return errno;    sync_mode = (dmai->flags & BM_DMA_SYNC) == BM_DMA_SYNC;    if(sync_mode)    {	if(!irq_installed) init_irq();	/* burn CPU instead of PCI bus here */	while(vixQueryDMAStatus()!=0){	    if(can_use_irq)	hwirq_wait(pci_info.irq);	    else		usleep(0); /* ugly but may help */	}    }    mach64_engine_reset();    retval = mach64_setup_frame(dmai);    VIRT_TO_CARD(mach64_dma_desc_base[dmai->idx],1,&bus_addr_dma_desc);    if(retval == 0) retval = mach64_transfer_frame(bus_addr_dma_desc,sync_mode);    if(!(dmai->flags & BM_DMA_FIXED_BUFFS)) bm_unlock_mem(dmai->src,dmai->size);    return retval;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jlzzjlzz亚洲女人18| 欧美老肥妇做.爰bbww视频| 亚洲国产精品久久人人爱| 亚洲国产中文字幕在线视频综合| 高潮精品一区videoshd| 69堂国产成人免费视频| 国产精品综合av一区二区国产馆| 久久亚洲免费视频| 亚洲图片欧美视频| 91亚洲永久精品| 久久久午夜电影| 亚洲一区免费观看| 成人av资源在线观看| 在线精品视频一区二区三四| 亚洲视频一区在线观看| 欧美伊人久久久久久久久影院| 亚洲最大色网站| 日韩一区二区三区四区五区六区| 麻豆精品国产91久久久久久| 2021久久国产精品不只是精品| 国产精品一区二区在线看| 久久精品夜色噜噜亚洲aⅴ| 99久久婷婷国产综合精品 | 美女任你摸久久| 日本一区二区在线不卡| 欧美日韩中文字幕精品| 国模套图日韩精品一区二区| 亚洲欧美另类图片小说| 久久久蜜桃精品| 精品午夜一区二区三区在线观看| 亚洲九九爱视频| 91免费在线看| 国产精品麻豆久久久| 欧美日精品一区视频| 亚洲图片另类小说| 日韩一区二区三区免费看| 成人美女在线视频| 国产在线不卡一区| 91麻豆精品国产91久久久久久| 亚洲精品伦理在线| 成人国产免费视频| 中文字幕一区二区在线观看| 丁香婷婷综合色啪| 国产精品欧美久久久久一区二区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 看电视剧不卡顿的网站| 亚洲精品伦理在线| 亚洲色图制服诱惑 | 色综合久久综合网欧美综合网| 国模无码大尺度一区二区三区| 婷婷国产v国产偷v亚洲高清| 欧美国产日产图区| 中文字幕一区二区三区在线不卡| 久久综合九色欧美综合狠狠| 日韩一级免费观看| 日韩欧美成人一区二区| 5858s免费视频成人| 777午夜精品视频在线播放| 欧美午夜精品久久久久久孕妇| 97久久精品人人爽人人爽蜜臀| 国产精品一品二品| 不卡av免费在线观看| 99r精品视频| 欧美色男人天堂| 日韩欧美一区二区视频| 国产女同互慰高潮91漫画| 国产精品欧美综合在线| 夜夜夜精品看看| 老司机免费视频一区二区三区| 国产一区在线不卡| 韩日av一区二区| 91麻豆自制传媒国产之光| 欧美色爱综合网| 久久久久久亚洲综合| 亚洲综合男人的天堂| 久久99精品国产.久久久久久| 国产 日韩 欧美大片| 欧美日韩一区在线观看| 国产亚洲欧洲997久久综合 | 91麻豆精品国产91久久久久久| 日韩久久精品一区| 亚洲色图在线视频| 国产精品一二三区在线| 欧美日韩一级二级| 136国产福利精品导航| 久久99国产精品成人| 色94色欧美sute亚洲线路一ni| 日韩视频中午一区| 午夜精品久久久久久| 9色porny自拍视频一区二区| 日韩欧美国产精品| 亚洲一区二区影院| 成人一区在线观看| 国产日韩影视精品| 欧美日韩国产电影| 国产精品久久久久影院亚瑟| 图片区小说区国产精品视频| 欧美无砖专区一中文字| 一区二区欧美视频| 色婷婷av一区二区三区gif| 中文字幕乱码日本亚洲一区二区| 免费观看91视频大全| 3751色影院一区二区三区| 亚洲日本一区二区三区| 99在线精品观看| 亚洲精品大片www| 91国产精品成人| 香蕉成人啪国产精品视频综合网| 91精彩视频在线观看| 日韩精品免费视频人成| 欧美一区二区三区视频在线| 久久se精品一区二区| 中文成人综合网| 日本久久一区二区三区| 丝袜美腿高跟呻吟高潮一区| 日韩一二在线观看| 国产精品123| 亚洲午夜电影网| 久久久精品国产免大香伊 | 久久99国产精品久久99果冻传媒| 精品久久人人做人人爽| 91丨porny丨中文| 久久国产精品区| 夜夜揉揉日日人人青青一国产精品| 91精品福利在线一区二区三区| 国产美女精品一区二区三区| 亚洲精品乱码久久久久久久久 | 国产精品免费视频观看| 欧美视频一区二区三区四区| 久久99国产精品尤物| 樱花影视一区二区| 国产亚洲人成网站| 欧美一区二区高清| 91福利精品第一导航| 国产大陆a不卡| 久久精品国产秦先生| 亚洲综合在线电影| 中文字幕欧美日韩一区| 欧美电视剧免费全集观看| 欧美日韩日本视频| 91视频一区二区| aaa亚洲精品一二三区| 福利电影一区二区三区| 精品一区二区三区的国产在线播放| 亚洲午夜在线观看视频在线| 中文字幕一区二区三区不卡在线| 久久久青草青青国产亚洲免观| 日韩一区二区三区av| 欧美一a一片一级一片| 在线亚洲人成电影网站色www| 粉嫩av一区二区三区| 成人深夜福利app| 91蜜桃网址入口| 在线看日韩精品电影| 欧美做爰猛烈大尺度电影无法无天| 色综合久久天天| 91精品1区2区| 3d动漫精品啪啪一区二区竹菊 | 3d成人动漫网站| 欧美一区日本一区韩国一区| 日韩欧美激情四射| 久久亚区不卡日本| 亚洲精品乱码久久久久久久久| 亚洲精品自拍动漫在线| 亚洲成a人v欧美综合天堂下载| 日本美女一区二区三区视频| 精品一区二区三区不卡| 99精品国产91久久久久久| 欧美精品视频www在线观看 | 国产精品人人做人人爽人人添| 18欧美乱大交hd1984| 香蕉久久夜色精品国产使用方法 | 5566中文字幕一区二区电影| 精品日韩在线观看| 亚洲精品v日韩精品| 免费人成黄页网站在线一区二区| 国产精品一区二区久久精品爱涩| 色哟哟欧美精品| 久久精品亚洲精品国产欧美| 亚洲国产cao| 99久久免费精品高清特色大片| 日韩视频国产视频| 亚洲电影在线播放| 成人av影视在线观看| 精品国产三级电影在线观看| 亚洲成人免费在线观看| 成人av动漫网站| 国产日产亚洲精品系列| 久久精品国内一区二区三区| 在线观看亚洲a| 亚洲欧美日韩国产综合在线| 国产乱妇无码大片在线观看| 日韩视频在线你懂得| 日韩激情在线观看| 欧美日韩美女一区二区| 一区二区三区高清不卡| av在线不卡网| 亚洲视频免费观看| 色视频一区二区| 午夜视频在线观看一区二区|