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

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

?? image_sensor.c.bak

?? 以上是0V7670的驅(qū)動(dòng)(SENSOR),保證在ADS上編譯通過的,用在手機(jī)上的.
?? BAK
?? 第 1 頁 / 共 4 頁
字號:
	get_OV76X0_period,
	OV76X0_preview,
	OV76X0_capture,
	write_OV76X0_reg,
	read_OV76X0_reg,
	set_OV76X0_shutter,
	OV76X0_night_mode,
	power_off_OV76X0,
	set_OV76X0_gain,
	set_OV76X0_flashlight,
	OV76X0_yuv_sensor_setting
};	/* image_sensor_func_OV76X0 */

/*************************************************************************
* FUNCTION
*	cam_module_func_config
*
* DESCRIPTION
*	This function maps the external camera module function API structure.
*
* PARAMETERS
*
* RETURNS
*	None
*
* GLOBALS AFFECTED
*
*************************************************************************/
void image_sensor_func_config(void)
{
	image_sensor_func=&image_sensor_func_OV76X0;
}	/* cam_module_func_config() */

// write camera_para to sensor register
void camera_para_to_sensor(void)
{
	kal_uint32	i;
	
	for(i=0; 0xFFFFFFFF!=camera_para.SENSOR.reg[i].addr; i++)
	{
		write_OV76X0_reg(camera_para.SENSOR.reg[i].addr, camera_para.SENSOR.reg[i].para);
	}
	for(i=FACTORY_START_ADDR; 0xFFFFFFFF!=camera_para.SENSOR.reg[i].addr; i++)
	{
		write_OV76X0_reg(camera_para.SENSOR.reg[i].addr, camera_para.SENSOR.reg[i].para);
	}
	for(i=0; i<CCT_END_ADDR; i++)
	{
		write_OV76X0_reg(camera_para.SENSOR.cct[i].addr, camera_para.SENSOR.cct[i].para);
	}
}

// update camera_para from sensor register
void sensor_to_camera_para(void)
{
	kal_uint32	i;
	
	for(i=0; 0xFFFFFFFF!=camera_para.SENSOR.reg[i].addr; i++)
	{
		camera_para.SENSOR.reg[i].para = read_OV76X0_reg(camera_para.SENSOR.reg[i].addr);
	}
	for(i=FACTORY_START_ADDR; 0xFFFFFFFF!=camera_para.SENSOR.reg[i].addr; i++)
	{
		camera_para.SENSOR.reg[i].para = read_OV76X0_reg(camera_para.SENSOR.reg[i].addr);
	}
}

//------------------------Engineer mode---------------------------------

void  get_sensor_group_count(kal_int32* sensor_count_ptr)
{
   *sensor_count_ptr=GROUP_TOTAL_NUMS;
   
	return;
}

void get_sensor_group_info(kal_uint16 group_idx, kal_int8* group_name_ptr, kal_int32* item_count_ptr)
{
	switch (group_idx)
	{
		case AWB_GAIN:
			sprintf(group_name_ptr, "AWB Gain");
			*item_count_ptr = 2;			
		break;
		case PRE_GAIN:
			sprintf(group_name_ptr, "CCT");
			*item_count_ptr = 3;
		break;
		case SENSOR_DBLC:
			sprintf(group_name_ptr, "DBLC");
			*item_count_ptr = 1;			
		break;
		case GAMMA_ENABLE:
			sprintf(group_name_ptr, "Gamma");
			*item_count_ptr = 1;			
		break;
		case CMMCLK_CURRENT:
			sprintf(group_name_ptr, "CMMCLK Current");
			*item_count_ptr = 1;
		break;		
		case FRAME_RATE_LIMITATION:
			sprintf(group_name_ptr, "Frame Rate Limitation");
			*item_count_ptr = 2;
		break;
		case REGISTER_EDITOR:
			sprintf(group_name_ptr, "Register Editor");
			*item_count_ptr = 2;
		break;		
		default:
		   ASSERT(0);
	}
}

void get_sensor_item_info(kal_uint16 group_idx,kal_uint16 item_idx, ENG_sensor_info* info_ptr)
{
	kal_uint8 temp_reg;
	
	switch (group_idx)
	{
		case AWB_GAIN:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"AWB R Gain");
				  info_ptr->item_value=read_OV76X0_reg(camera_para.SENSOR.reg[AWB_GAIN_R_INDEX].addr);
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0xff;
				break; 
				case 1:
				  sprintf(info_ptr->item_name_ptr,"AWB B Gain");
				  info_ptr->item_value=read_OV76X0_reg(camera_para.SENSOR.reg[AWB_GAIN_B_INDEX].addr);
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0xff;
				break;		 
				default:
				   ASSERT(0);
			}
		break;
		case PRE_GAIN:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"Pregain-R");
				  
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_R_INDEX].addr);
				  temp_reg &= 0x30;
				  temp_reg >>= 4; 
				  
				  if(temp_reg==0)
				      info_ptr->item_value=1000;
				  else if(temp_reg==1)
				      info_ptr->item_value=1250;
				  else if(temp_reg==2)
				      info_ptr->item_value=1500;
				  else if(temp_reg==3)
				      info_ptr->item_value=1750;
				      
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=1000;
				  info_ptr->max=1875;
				break; 
				case 1:
				  sprintf(info_ptr->item_name_ptr,"Pregain-B");
				  
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_B_INDEX].addr);
				  temp_reg &= 0xC0;
				  temp_reg >>= 6; 
				  
				  if(temp_reg==0)
				      info_ptr->item_value=1000;
				  else if(temp_reg==1)
				      info_ptr->item_value=1250;
				  else if(temp_reg==2)
				      info_ptr->item_value=1500;
				  else if(temp_reg==3)
				      info_ptr->item_value=1750;
				  
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=1000;
				  info_ptr->max=1875;
				break;
				case 2:
				  sprintf(info_ptr->item_name_ptr,"SENSOR_BASEGAIN");
				  
				  temp_reg = read_OV76X0_gain();
				  
				  info_ptr->item_value=(temp_reg*1000)/BASEGAIN;
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=1000;
				  info_ptr->max=16000;
				break;
				default:
				   ASSERT(0);		
			}
		break;
		case SENSOR_DBLC:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"DBLC Enable");
				  
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].addr);
				  if(temp_reg&0x10)
				  {
				      info_ptr->item_value=1;
				  }
				  else
				  {
				      info_ptr->item_value=0;
				  }
				  
				  info_ptr->is_true_false=KAL_TRUE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=1;
				break;  
				default:
				   ASSERT(0);
			}
		break;
		case GAMMA_ENABLE:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"GAMMA_ENABLE");
				  
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.reg[GAMMA_ENABLE_INDEX].addr);
				  if(temp_reg&0xC0)
				  {
				      info_ptr->item_value=1;
				  }
				  else
				  {
				      info_ptr->item_value=0;
				  }
				  
				  info_ptr->is_true_false=KAL_TRUE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=1;
				break;  
				default:
				   ASSERT(0);
			}
		break;
		case CMMCLK_CURRENT:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"Drv Cur[2,4,6,8]mA");
				  
				  temp_reg=camera_para.SENSOR.reg[CMMCLK_CURRENT_INDEX].para;
				  if(temp_reg==ISP_DRIVING_2MA)
				  {
				      info_ptr->item_value=2;
				  }
				  else if(temp_reg==ISP_DRIVING_4MA)
				  {
				      info_ptr->item_value=4;
				  }
				  else if(temp_reg==ISP_DRIVING_6MA)
				  {
				      info_ptr->item_value=6;
				  }
				  else if(temp_reg==ISP_DRIVING_8MA)
				  {
				      info_ptr->item_value=8;
				  }
				  
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_TRUE;
				  info_ptr->min=2;
				  info_ptr->max=8;
				break;
				default:
				   ASSERT(0);
			}
		break;
		case FRAME_RATE_LIMITATION:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"Max Exposure Lines");
				  info_ptr->item_value=MAX_EXPOSURE_LINES;
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_TRUE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0;
				break;
				case 1:
				  sprintf(info_ptr->item_name_ptr,"Min Frame Rate");
				  info_ptr->item_value=MIN_FRAME_RATE;
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_TRUE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0;
				break;
				default:
				   ASSERT(0);
			}
		break;
		case REGISTER_EDITOR:
			switch (item_idx)
			{
				case 0:
				  sprintf(info_ptr->item_name_ptr,"REG Addr.");
				  info_ptr->item_value=0;
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0xFF;
				break;
				case 1:
				  sprintf(info_ptr->item_name_ptr,"REG Value");
				  info_ptr->item_value=0;
				  info_ptr->is_true_false=KAL_FALSE;
				  info_ptr->is_read_only=KAL_FALSE;
				  info_ptr->is_need_restart=KAL_FALSE;
				  info_ptr->min=0;
				  info_ptr->max=0xFF;
				break;
				default:
				   ASSERT(0);		
			}
		break;
		default:
			ASSERT(0); 
	}
}

kal_bool set_sensor_item_info(kal_uint16 group_idx, kal_uint16 item_idx, kal_int32 item_value)
{
   kal_uint8 temp_reg;
   kal_uint16 temp_gain;
   
   switch (group_idx)
	{
		case AWB_GAIN:
			switch (item_idx)
			{
				case 0:
				  camera_para.SENSOR.reg[AWB_GAIN_R_INDEX].para = item_value;
				  write_OV76X0_reg(camera_para.SENSOR.reg[AWB_GAIN_R_INDEX].addr,item_value);
				break;
				case 1:
				  camera_para.SENSOR.reg[AWB_GAIN_B_INDEX].para = item_value;
				  write_OV76X0_reg(camera_para.SENSOR.reg[AWB_GAIN_B_INDEX].addr,item_value);
				break; 
				default:
				   ASSERT(0);
			}			
		break;
		case PRE_GAIN:
			switch (item_idx)
			{
				case 0:
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_R_INDEX].addr);
				  temp_reg &= ~0x30;
				  
				  if(item_value>=1000 && item_value<=1125)
				      temp_reg |= 0x00;
				  else if(item_value>1125 && item_value<=1375)
				      temp_reg |= 0x10;
				  else if(item_value>1375 && item_value<=1625)
				      temp_reg |= 0x20;
				  else if(item_value>1625 && item_value<=1875)
				      temp_reg |= 0x30;
				  else
				  		return KAL_FALSE;
				  
				  camera_para.SENSOR.cct[PRE_GAIN_R_INDEX].para = temp_reg;
				  write_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_R_INDEX].addr,temp_reg);
				break;
				case 1:
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_B_INDEX].addr);
				  temp_reg &= ~0xC0;
				  
				  if(item_value>=1000 && item_value<=1125)
				      temp_reg |= 0x00;
				  else if(item_value>1125 && item_value<=1375)
				      temp_reg |= 0x40;
				  else if(item_value>1375 && item_value<=1625)
				      temp_reg |= 0x80;
				  else if(item_value>1625 && item_value<=1875)
				      temp_reg |= 0xC0;
				  else
				  		return KAL_FALSE;
				  		
				  camera_para.SENSOR.cct[PRE_GAIN_B_INDEX].para = temp_reg;
				  write_OV76X0_reg(camera_para.SENSOR.cct[PRE_GAIN_B_INDEX].addr,temp_reg);
				break;
				case 2:
				  temp_gain = (item_value*BASEGAIN)/1000;
				
				  if(temp_gain>=1*BASEGAIN && temp_gain<2*BASEGAIN)
				  {
				      sensor_global_gain=temp_gain&(~0x3);
				      temp_reg=(sensor_global_gain-1*BASEGAIN)/4;
				  }
				  else if(temp_gain>=2*BASEGAIN && temp_gain<4*BASEGAIN)
				  {
				      sensor_global_gain=2*BASEGAIN;
				      temp_reg=0x10;
				  }
				  else if(temp_gain>=4*BASEGAIN && temp_gain<8*BASEGAIN)
				  {
				      sensor_global_gain=4*BASEGAIN;
				      temp_reg=0x30;
				  }
				  else if(temp_gain>=8*BASEGAIN && temp_gain<16*BASEGAIN)
				  {
				      sensor_global_gain=8*BASEGAIN;
				      temp_reg=0x70;
				  }
				  else if(temp_gain>=16*BASEGAIN)
				  {
				      sensor_global_gain=16*BASEGAIN;
				      temp_reg=0xF0;
				  }
				  else
				      return KAL_FALSE;
				  		
				  		
				  camera_para.SENSOR.cct[GLOBAL_GAIN_INDEX].para = temp_reg;
				  write_OV76X0_reg(camera_para.SENSOR.cct[GLOBAL_GAIN_INDEX].addr,temp_reg);
				  break;
				default:
				   ASSERT(0);	
			}
		break;
		case SENSOR_DBLC:
			switch (item_idx)
			{
				case 0:
				  if(item_value==1)
				  {
				      temp_reg = read_OV76X0_reg(camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].addr);
				      temp_reg |= 0x10;
				      camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].para = temp_reg;
				      write_OV76X0_reg(camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].addr,temp_reg);
				  }
				  else
				  {
				      temp_reg = read_OV76X0_reg(camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].addr);
				      temp_reg &= ~0x10;
				      camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].para = temp_reg;
				      write_OV76X0_reg(camera_para.SENSOR.reg[SENSOR_DBLC_INDEX].addr,temp_reg);
				  }
				break;
				default:
				   ASSERT(0);
			}
		break;
		case GAMMA_ENABLE:
			switch (item_idx)
			{
				case 0:
				  temp_reg = read_OV76X0_reg(camera_para.SENSOR.reg[GAMMA_ENABLE_INDEX].addr);
				  temp_reg &= ~0xC0;
				  if(item_value==1)
				  {
				      temp_reg |= 0x80; 
				      camera_para.SENSOR.reg[GAMMA_ENABLE_INDEX].para = temp_reg;
				  }
				  else
				  {
				      temp_reg &= ~0x80; 
				      camera_para.SENSOR.reg[GAMMA_ENABLE_INDEX].para = temp_reg;
				  }
				  write_OV76X0_reg(camera_para.SENSOR.reg[GAMMA_ENABLE_INDEX].addr,temp_reg);
				break;
				default:
				   ASSERT(0);
			}
		break;
		case CMMCLK_CURRENT:
			switch (item_idx)
			{
				case 0:
				  if(item_value==2)
				  {
				      camera_para.SENSOR.reg[CMMCLK_CURRENT_INDEX].para = ISP_DRIVING_2MA;
				      set_isp_driving_current(ISP_DRIVING_2MA);
				  }
				  else if(item_value==3 || item_value==4)
				  {
				      camera_para.SENSOR.reg[CMMCLK_CURRENT_INDEX].para = ISP_DRIVING_4MA;
				      set_isp_driving_current(ISP_DRIVING_4MA);
				  }
				  else if(item_value==5 || item_value==6)
				  {
				      camera_para.SENSOR.reg[CMMCLK_CURRENT_INDEX].para = ISP_DRIVING_6MA;
				      set_isp_driving_current(ISP_DRIVING_6MA);
				  }
				  else
				  {
				      camera_para.SENSOR.reg[CMMCLK_CURRENT_INDEX].para = ISP_DRIVING_8MA;
				      set_isp_driving_current(ISP_DRIVING_8MA);
				  }
				break;
				default:
				   ASSERT(0);
			}
		break;
		case FRAME_RATE_LIMITATION:
			switch (item_idx)
			{
				   ASSERT(0);	
			}
		break;
		case REGISTER_EDITOR:
			switch (item_idx)
			{
				case 0:
				  FAC_SENSOR_REG=item_value;
				break;
				case 1:
				  write_OV76X0_reg(FAC_SENSOR_REG,item_value);
				break;
				default:
				   ASSERT(0);		
			}
		break;
		default:
		   ASSERT(0);
	}
	
	return KAL_TRUE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美曰成人黄网| 精品国产乱码久久久久久免费| 麻豆精品久久久| 亚洲人成影院在线观看| 精品日韩一区二区三区免费视频| 91亚洲精品久久久蜜桃网站| 久久99精品国产| 亚洲成人7777| 亚洲天堂福利av| 久久精品亚洲一区二区三区浴池| 欧美浪妇xxxx高跟鞋交| 色综合欧美在线| 国产精品综合在线视频| 免费一级欧美片在线观看| 亚洲国产三级在线| 亚洲图片你懂的| 国产精品久久三| 久久久高清一区二区三区| 日韩一区二区三区观看| 欧美日韩美少妇| 色综合久久久久久久久久久| 成人av电影免费在线播放| 国产真实乱偷精品视频免| 日本网站在线观看一区二区三区 | 欧美日韩在线亚洲一区蜜芽| 高清日韩电视剧大全免费| 国产一区二区三区不卡在线观看| 日本视频一区二区三区| 婷婷激情综合网| 亚洲成人在线免费| 午夜精品123| 日韩高清不卡在线| 亚洲成人av一区二区| 亚洲一区二区中文在线| 亚洲福利一二三区| 日日嗨av一区二区三区四区| 日韩av中文字幕一区二区 | 99精品视频在线观看| av中文字幕不卡| 色偷偷久久一区二区三区| 色天天综合色天天久久| 欧美在线三级电影| 欧美日韩亚洲综合一区二区三区 | 国产精品久久久久影院色老大 | 欧美丝袜丝交足nylons| 欧美午夜在线一二页| 欧美影院一区二区三区| 欧美久久一二区| 日韩欧美成人一区| 久久亚洲精精品中文字幕早川悠里| 精品国产凹凸成av人网站| 久久久www成人免费毛片麻豆 | 国产精品久久久久影视| 亚洲码国产岛国毛片在线| 亚洲一区影音先锋| 午夜精品爽啪视频| 久久不见久久见免费视频7| 国产乱码精品一区二区三区忘忧草 | 国产精品自拍毛片| www.av精品| 欧美少妇bbb| 日韩一区二区三区免费看 | 有坂深雪av一区二区精品| 亚洲18女电影在线观看| 看国产成人h片视频| 国产成人啪免费观看软件| 91麻豆精品视频| 欧美电影在线免费观看| 精品成人在线观看| 最新中文字幕一区二区三区| 亚洲一区二区在线播放相泽| 激情综合色综合久久综合| 99久久精品免费看国产| 欧美精选午夜久久久乱码6080| 精品日韩欧美在线| 亚洲人123区| 精品中文字幕一区二区| 99久久精品99国产精品| 制服.丝袜.亚洲.中文.综合| 日本一区二区免费在线观看视频| 亚洲国产精品久久久久婷婷884 | 日韩一区二区三区av| 欧美激情一区二区三区四区| 亚洲二区视频在线| 国产伦精品一区二区三区视频青涩| 在线影院国内精品| 久久久久免费观看| 香蕉成人啪国产精品视频综合网| 国产麻豆91精品| 欧美精品自拍偷拍| 国产精品短视频| 久久精品国产第一区二区三区| 91视视频在线观看入口直接观看www | 自拍偷在线精品自拍偷无码专区| 美女高潮久久久| 欧日韩精品视频| 中文字幕一区av| 国产麻豆日韩欧美久久| 8x福利精品第一导航| 亚洲免费观看高清完整版在线| 国模少妇一区二区三区| 欧美日韩精品专区| 亚洲免费av高清| av成人老司机| 国产亚洲综合在线| 久久精品国产成人一区二区三区 | 欧美最新大片在线看 | 国产精品成人免费精品自在线观看| 日本特黄久久久高潮| 欧洲精品视频在线观看| 亚洲丝袜美腿综合| 成人91在线观看| 欧美韩国一区二区| 精品亚洲国内自在自线福利| 欧美高清dvd| 性做久久久久久免费观看| 色av综合在线| 亚洲欧洲制服丝袜| va亚洲va日韩不卡在线观看| 久久精品水蜜桃av综合天堂| 久久97超碰国产精品超碰| 91麻豆精品国产自产在线| 一区二区三区在线影院| 99re热这里只有精品免费视频 | 亚洲人成亚洲人成在线观看图片| 高清shemale亚洲人妖| 久久婷婷国产综合精品青草| 久久se精品一区精品二区| 日韩欧美在线网站| 久久精品国产澳门| 欧美大胆人体bbbb| 看片网站欧美日韩| 精品欧美乱码久久久久久| 美脚の诱脚舐め脚责91 | 视频一区二区欧美| 欧美日韩精品系列| 日韩不卡手机在线v区| 日韩欧美黄色影院| 蜜桃一区二区三区在线观看| 欧美一区二区大片| 国内精品嫩模私拍在线| 久久综合久久综合九色| 国产精品一区三区| 中文文精品字幕一区二区| fc2成人免费人成在线观看播放| 日韩一区在线播放| 日本道色综合久久| 日韩在线一二三区| 精品电影一区二区| 粉嫩欧美一区二区三区高清影视 | 麻豆精品精品国产自在97香蕉| 日韩视频在线一区二区| 久久99精品视频| 国产精品美女久久久久aⅴ | 亚洲成av人片在线| 制服丝袜一区二区三区| 国产一区二区伦理| 亚洲卡通动漫在线| 5858s免费视频成人| 国产精品白丝jk黑袜喷水| 亚洲欧美日韩中文字幕一区二区三区 | 美国三级日本三级久久99| 久久奇米777| 色婷婷av一区二区三区之一色屋| 婷婷中文字幕一区三区| 欧美xxxxx裸体时装秀| 不卡一二三区首页| 亚洲妇熟xx妇色黄| 久久久久青草大香线综合精品| 91影视在线播放| 强制捆绑调教一区二区| 欧美国产日本韩| 欧美色男人天堂| 国产乱妇无码大片在线观看| 亚洲精品久久久蜜桃| 日韩精品一区二| 91麻豆福利精品推荐| 奇米四色…亚洲| 亚洲欧美另类久久久精品2019 | 伊人色综合久久天天| 91精品国产综合久久久久久| 国产91色综合久久免费分享| 亚洲综合激情另类小说区| 精品成人在线观看| 日本韩国欧美在线| 国产一区二区三区精品欧美日韩一区二区三区 | 在线观看免费成人| 国产一区二区三区| 日韩黄色免费电影| 亚洲欧美日韩综合aⅴ视频| 日韩免费观看高清完整版| 欧洲人成人精品| 成人av在线资源网站| 麻豆一区二区在线| 一区二区三区色| 国产日韩成人精品| 欧美一区二区三区在| 在线观看精品一区| 波多野结衣一区二区三区| 免费久久99精品国产|