3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Camera Probe 代码分析

發(fā)布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Camera Probe 代码分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.libmmcamera_imx258.so 代碼分析

?

Sensor LIB 庫代碼位于 /vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs
本文以 imx258 為例。
先來看下imx258_lib.c,其最核心的函數(shù)就是 sensor_open_lib,
返回 sensor_lib_ptr 結(jié)構(gòu)體,所有的 Camera 信息,都保存在該結(jié)構(gòu)體中。

@ /vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/imx258/imx258_lib.c/*** FUNCTION: sensor_open_lib* DESCRIPTION: Open sensor library and returns data pointer**/ void *sensor_open_lib(void) {return &sensor_lib_ptr; }

我們來看下?sensor_lib_ptr?結(jié)構(gòu)體的定義。

@ /vendor/qcom/proprietary/mm-camerasdk/sensor/includes/sensor_lib.h typedef struct {/* sensor slave info */ // 從設(shè)備包括,I2C地址、I2C速率、Sensor_id 寄存器地址及Sensor_id 值、上下電的時序及電壓值struct camera_sensor_slave_info sensor_slave_info;/* sensor output settings */// 包括 出圖的格式(BAYER / YCbCr), 連接類型為 MIPI CSIsensor_output_t sensor_output;/* sensor output register address */// 輸出寄存器的地址,pclk,及l(fā)ine length pclk 、 frame length linesstruct sensor_output_reg_addr_t output_reg_addr;/* sensor exposure gain register address */// 曝光增益struct sensor_exp_gain_info_t exp_gain_info;/* sensor aec info */sensor_aec_data_t aec_info;/* number of frames to skip after start stream info */// preview 前丟棄過的 幀數(shù)unsigned short sensor_num_frame_skip;/* number of frames to skip after start HDR stream info */// HDR 丟棄的幀數(shù)unsigned short sensor_num_HDR_frame_skip;/* sensor pipeline delay */// pipeline 幀延時unsigned int sensor_max_pipeline_frame_delay;/* sensor lens info */// sensor line info 信息sensor_property_t sensor_property;/* imaging pixel array size info */// 像素點大小,寬高sensor_imaging_pixel_array_size pixel_array_size_info;/* Sensor color level information */// 顏色等級sensor_color_level_info color_level_info;/* sensor port info that consists of cid mask and fourcc mapaping */sensor_stream_info_array_t sensor_stream_info_array;/* Sensor Settings */// 初始化Camera 寄存器配置struct camera_i2c_reg_setting_array start_settings;// 關(guān)閉Camera 時的寄存器配置struct camera_i2c_reg_setting_array stop_settings;struct camera_i2c_reg_setting_array groupon_settings;struct camera_i2c_reg_setting_array groupoff_settings;struct camera_i2c_reg_setting_array embedded_data_enable_settings;struct camera_i2c_reg_setting_array embedded_data_disable_settings;struct camera_i2c_reg_setting_array aec_enable_settings;struct camera_i2c_reg_setting_array aec_disable_settings;struct camera_i2c_reg_setting_array dualcam_master_settings;struct camera_i2c_reg_setting_array dualcam_slave_settings;/* sensor test pattern info */// 測試圖信息sensor_test_info test_pattern_info;/* sensor effects info */struct sensor_effect_info effect_info;/* Sensor Settings Array *///初始化 Camera 寄存器配置struct sensor_lib_reg_settings_array init_settings_array;struct sensor_lib_reg_settings_array res_settings_array;// 不同辨率的輸出信息,xy像素大小,pclk,fps,數(shù)據(jù)傳輸速率struct sensor_lib_out_info_array out_info_array;// MIPI CSI 信息struct sensor_csi_params csi_params;struct sensor_csid_lut_params_array csid_lut_params_array;struct sensor_lib_crop_params_array crop_params_array;/* Exposure Info */sensor_exposure_table_t exposure_func_table;/* video_hdr mode info*/struct sensor_lib_meta_data_info_array meta_data_out_info_array;/* sensor optical black regions */sensor_optical_black_region_t optical_black_region_info;/* sensor_capability */sensor_capability_t sensor_capability;/* sensor_awb_table_t */sensor_awb_table_t awb_func_table;/* sensor_awb_table_t */sensor_fps_table_t fps_func_table;/* Parse RDI stats callback function */sensor_RDI_parser_stats_t parse_RDI_stats;/* full size info */sensor_rolloff_config rolloff_config;/* analog-digital conversion time */long long adc_readout_time;/* number of frames to skip for fast AEC use case */unsigned short sensor_num_fast_aec_frame_skip;/* add soft delay for sensor settings like exposure, gain ...*/unsigned char app_delay[SENSOR_DELAY_MAX];/* for noise profile calculationTuning team must update with proper values. */struct sensor_noise_coefficient_t noise_coeff;/* Flag to be set if any external library are to be loaded */unsigned char external_library;sensorlib_pdaf_apis_t sensorlib_pdaf_api;// PDAF 配軒pdaf_lib_t pdaf_config;/* sensor orientation flag */sensor_orientation_type_t sensor_orientation;} sensor_lib_t;

imx258_lib.h?頭文件分析

@ /vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/imx258/imx258_lib.h/* imx258_lib.h** Copyright (c) 2015-2018 Qualcomm Technologies, Inc.* All Rights Reserved.* Confidential and Proprietary - Qualcomm Technologies, Inc.*/#ifndef __IMX258_LIB_H__ #define __IMX258_LIB_H__#include "sensor_lib.h" #include "eeprom_lib.h" #include "pdaf_api.h" #include "pdaf_camif_api.h" #define SENSOR_MODEL "imx258"/* IMX258 Regs */ #define IMX258_DIG_GAIN_GR_ADDR 0x020E #define IMX258_DIG_GAIN_R_ADDR 0x0210 #define IMX258_DIG_GAIN_B_ADDR 0x0212 #define IMX258_DIG_GAIN_GB_ADDR 0x0214 #define IMX258_EXP_RATIO_ADDR 0x0222 #define IMX258_ABS_GAIN_R_WORD_ADDR 0x0B90 #define IMX258_ABS_GAIN_B_WORD_ADDR 0x0B92/* IMX258 CONSTANTS */ #define IMX258_MAX_INTEGRATION_MARGIN 20/* STATS DATA TYPE */ #define IMX258_CSI_PD_ISTATS 0x2F#define IMX258_DATA_PEDESTAL 0x40 /* 10bit value */#define IMX258_MIN_AGAIN_REG_VAL 0 /* 1.0x */ #define IMX258_MAX_AGAIN_REG_VAL 480 /* 16.0x */#define IMX258_MIN_DGAIN_REG_VAL 256 /* 1.0x */ #define IMX258_MAX_DGAIN_REG_VAL 256 /* 1.0x */#define IMX258_MAX_DGAIN_DECIMATOR 256/* IMX258 FORMULAS */ #define IMX258_MIN_AGAIN (512 / (512 - IMX258_MIN_AGAIN_REG_VAL)) #define IMX258_MAX_AGAIN (512 / (512 - IMX258_MAX_AGAIN_REG_VAL))#define IMX258_MIN_DGAIN (IMX258_MIN_DGAIN_REG_VAL / 256) #define IMX258_MAX_DGAIN (IMX258_MAX_DGAIN_REG_VAL / 256)#define IMX258_MIN_GAIN IMX258_MIN_AGAIN * IMX258_MIN_DGAIN #define IMX258_MAX_GAIN IMX258_MAX_AGAIN * IMX258_MAX_DGAIN/* uncomment FLIP_MIRROR macro toenable flip and mirror in sensor readoutchange bayer patternload pdaf flip and mirror header */ //#define FLIP_MIRROR #define START_REG_ARRAY \ { \{0x0100, 0x01, 0x00}, \ }#define STOP_REG_ARRAY \ { \{0x0100, 0x00, 0x00}, \ }#define GROUPON_REG_ARRAY \ { \{0x0104, 0x01, 0x00}, \ }#define GROUPOFF_REG_ARRAY \ { \{0x0104, 0x00, 0x00}, \ }// 初始化 寄存器配置 #define INIT0_REG_ARRAY \ { \/* External Clock Settings */ \{0x0136, 0x18, 0x00}, \{0x0137, 0x00, 0x00}, \/* Global Settings */ \{0x3051, 0x00, 0x00}, \...... //配置一系烈的寄存器{0x3006, 0x00, 0x00}, \{0x3007, 0x00, 0x00}, \ }#ifndef FLIP_MIRROR#define FLIP_MIRROR_SETTING {{0x0101, 0x00, 0x00}} #else#define FLIP_MIRROR_SETTING {{0x0101, 0x03, 0x00}} #endif // 分辨率0 寄存器配置 #define RES0_REG_ARRAY \ { \/* Mode A1: 4208x3120 Full 30fps */ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \...... //配置一系烈的寄存器{0x0818, 0x00, 0x00}, \{0x0819, 0x47, 0x00}, \ } // 分辨率1 寄存器配置 #define RES1_REG_ARRAY \ {\/* (Reg-10)Mode: Full 16:9 30 fps */ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \/* Clock Settings */ \{0x0301, 0x05, 0x00}, \{0x0303, 0x02, 0x00}, \...... //配置一系烈的寄存器{0x0818, 0x00, 0x00}, \{0x0819, 0x47, 0x00}, \ } // 分辨率2 寄存器配置 #define RES2_REG_ARRAY \ { \/* Mode: 2100x1560 2x2 binning 30 fps */ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \...... //配置一系烈的寄存器{0x0819, 0x47, 0x00}, \{0x3031, 0x00, 0x00}, \ } // 分辨率3 寄存器配置 #define RES3_REG_ARRAY \ { \/* Mode: 2100x1176 60 fps */ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \...... //配置一系列的寄存器{0x0819, 0x47, 0x00}, \{0x3031, 0x00, 0x00}, \ } // 分辨率4 寄存器配置 #define RES4_REG_ARRAY \ { \/* Mode: 1400x784 90 fps*/ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \...... //配置一系列的寄存器{0x0819, 0x47, 0x00}, \{0x3031, 0x00, 0x00}, \ } // 分辨率5 寄存器配置 #define RES5_REG_ARRAY \ { \/* Mode: 1400x760 120 fps*/ \/* Output Format Settings */ \{0x0112, 0x0A, 0x00}, \{0x0113, 0x0A, 0x00}, \...... //配置一系列的寄存器{0x0819, 0x47, 0x00}, \{0x3031, 0x00, 0x00}, \ }/* Sensor Handler */ static sensor_lib_t sensor_lib_ptr = {.sensor_slave_info ={.sensor_name = SENSOR_MODEL, // "imx258".slave_addr = 0x20, // 7位地址0x20, 010 0000, 對應(yīng)的8位地址為0100 0000, 0x40.i2c_freq_mode = SENSOR_I2C_MODE_FAST,.addr_type = CAMERA_I2C_WORD_ADDR,.sensor_id_info ={.sensor_id_reg_addr = 0x0016,.sensor_id = 0x0258,},.power_setting_array ={.power_setting_a ={{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_RESET,.config_val = GPIO_OUT_LOW,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VANA,.config_val = GPIO_OUT_HIGH,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VANA,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VDIG,.config_val = GPIO_OUT_HIGH,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VDIG,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VIO,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VAF,.config_val = GPIO_OUT_HIGH,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_CLK,.seq_val = CAMERA_MCLK,.config_val = 24000000,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_RESET,.config_val = GPIO_OUT_HIGH,.delay = 12,},},.size = 9,.power_down_setting_a ={{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_RESET,.config_val = GPIO_OUT_LOW,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_CLK,.seq_val = CAMERA_MCLK,.config_val = 0,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VIO,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VDIG,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VDIG,.config_val = GPIO_OUT_LOW,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_VREG,.seq_val = CAMERA_VANA,.config_val = 0,.delay = 0,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VANA,.config_val = GPIO_OUT_LOW,.delay = 1,},{.seq_type = CAMERA_POW_SEQ_GPIO,.seq_val = CAMERA_GPIO_VAF,.config_val = GPIO_OUT_LOW,.delay = 1,},},.size_down = 8,},},.sensor_output ={.output_format = SENSOR_BAYER,.connection_mode = SENSOR_MIPI_CSI,.raw_output = SENSOR_10_BIT_DIRECT, #ifndef FLIP_MIRROR.filter_arrangement = SENSOR_RGGB, #else.filter_arrangement = SENSOR_BGGR, #endif},.output_reg_addr ={.x_output = 0x034C,.y_output = 0x034E,.line_length_pclk = 0x0342,.frame_length_lines = 0x0340,},.exp_gain_info ={.coarse_int_time_addr = 0x0202,.global_gain_addr = 0x0204,.vert_offset = IMX258_MAX_INTEGRATION_MARGIN,},.aec_info ={.min_gain = IMX258_MIN_GAIN,.max_gain = IMX258_MAX_GAIN,.max_analog_gain = IMX258_MAX_AGAIN,.max_linecount = 65525 - IMX258_MAX_INTEGRATION_MARGIN,},.sensor_num_frame_skip = 2,.sensor_num_HDR_frame_skip = 2,.sensor_max_pipeline_frame_delay = 2,.sensor_property ={.pix_size = 1.12, /* um */.sensing_method = SENSOR_SMETHOD_ONE_CHIP_COLOR_AREA_SENSOR,.crop_factor = 5.78,},.pixel_array_size_info ={.active_array_size ={.width = 4208,.height = 3120,},.left_dummy = 8,.right_dummy = 8,.top_dummy = 8,.bottom_dummy = 8,},.color_level_info ={.white_level = 1023,.r_pedestal = IMX258_DATA_PEDESTAL,.gr_pedestal = IMX258_DATA_PEDESTAL,.gb_pedestal = IMX258_DATA_PEDESTAL,.b_pedestal = IMX258_DATA_PEDESTAL,},.start_settings ={.reg_setting_a = START_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},.stop_settings ={.reg_setting_a = STOP_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},.groupon_settings ={.reg_setting_a = GROUPON_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},.groupoff_settings ={.reg_setting_a = GROUPOFF_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},.dualcam_master_settings ={.reg_setting_a = DUALCAM_MASTER_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,.size = 8,},.embedded_data_enable_settings ={.reg_setting_a = {},.addr_type = 0,.data_type = 0,.delay = 0,},.embedded_data_disable_settings ={.reg_setting_a = {},.addr_type = 0,.data_type = 0,.delay = 0,},.test_pattern_info ={.test_pattern_settings ={{.mode = SENSOR_TEST_PATTERN_OFF,.settings ={.reg_setting_a ={{0x0600, 0x0000, 0x00},},.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_WORD_DATA,.delay = 0,}},{.mode = SENSOR_TEST_PATTERN_SOLID_COLOR,.settings ={.reg_setting_a ={{0x0600, 0x0001, 0x00},},.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_WORD_DATA,.delay = 0,},},{.mode = SENSOR_TEST_PATTERN_COLOR_BARS,.settings ={.reg_setting_a ={{0x0600, 0x0002, 0x00},},.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_WORD_DATA,.delay = 0,},},{.mode = SENSOR_TEST_PATTERN_COLOR_BARS_FADE_TO_GRAY,.settings ={.reg_setting_a ={{0x0600, 0x0003, 0x00},},.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_WORD_DATA,.delay = 0,},},{.mode = SENSOR_TEST_PATTERN_PN9,.settings ={.reg_setting_a ={{0x0600, 0x0004, 0x00},},.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_WORD_DATA,.delay = 0,},},},.size = 5,.solid_mode_addr ={.r_addr = 0x0602,.gr_addr = 0x0604,.gb_addr = 0x0608,.b_addr = 0x0606,},},.init_settings_array ={.reg_settings ={{.reg_setting_a = INIT0_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},{.reg_setting_a = FLIP_MIRROR_SETTING,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},},.size = 2,},.res_settings_array ={.reg_settings ={/* Res 0 */{.reg_setting_a = RES0_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},/* Res 1 */{.reg_setting_a = RES1_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},/* Res 2 */{.reg_setting_a = RES2_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},/* Res 3 */{.reg_setting_a = RES3_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},/* Res 4 */{.reg_setting_a = RES4_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},/* Res 5 */{.reg_setting_a = RES5_REG_ARRAY,.addr_type = CAMERA_I2C_WORD_ADDR,.data_type = CAMERA_I2C_BYTE_DATA,.delay = 0,},},.size = 6,},.out_info_array ={.out_info ={ /* Res 0 */{.x_output = 4208,.y_output = 3120,.line_length_pclk = 5352,.frame_length_lines = 3224,.op_pixel_clk = 480000000,.binning_factor = 1,.min_fps = 7.500,.max_fps = 30.04,.mode = SENSOR_DEFAULT_MODE,.offset_x = 0,.offset_y = 0,.scale_factor = 1.000,.is_pdaf_supported = 1,.data_rate = 1296000000ULL * 4},/* Res 1 */{.x_output = 4208,.y_output = 2352,.line_length_pclk = 5352,.frame_length_lines = 2852,.op_pixel_clk = 458400000,.binning_factor = 1,.min_fps = 7.500,.max_fps = 30.03,.mode = SENSOR_DEFAULT_MODE,.offset_x = 0,.offset_y = 384,.scale_factor = 1.000,.is_pdaf_supported = 1,.data_rate = 1296000000ULL * 4},/* Res 2 */{.x_output = 2100,.y_output = 1560,.line_length_pclk = 5352,.frame_length_lines = 2851,.op_pixel_clk = 458400000,.binning_factor = 2,.min_fps = 7.500,.max_fps = 30.04,.mode = SENSOR_DEFAULT_MODE,.offset_x = 0,.offset_y = 0,.scale_factor = 1.000,.is_pdaf_supported = 0,.data_rate = 1296000000ULL * 4},/* Res 3*/{.x_output = 2100,.y_output = 1176,.line_length_pclk = 5352,.frame_length_lines = 1424,.op_pixel_clk = 458400000,.binning_factor = 2,.min_fps = 7.500,.max_fps = 60.14,.mode = SENSOR_HFR_MODE | SENSOR_DEFAULT_MODE,.offset_x = 0,.offset_y = 384,.scale_factor = 1.000,.is_pdaf_supported = 0,.data_rate = 1296000000ULL * 4},/* Res 4 */{.x_output = 1400,.y_output = 784,.line_length_pclk = 5352,.frame_length_lines = 948,.op_pixel_clk = 458400000,.binning_factor = 2,.min_fps = 7.500,.max_fps = 90.18,.mode = SENSOR_HFR_MODE,.offset_x = 0,.offset_y = 384,.scale_factor = 1.000,.is_pdaf_supported = 0,.data_rate = 1296000000ULL * 4},/* Res 5 */{.x_output = 1400,.y_output = 760,.line_length_pclk = 5352,.frame_length_lines = 828,.op_pixel_clk = 480000000,.binning_factor = 2,.min_fps = 7.500,.max_fps = 120.47,.mode = SENSOR_HFR_MODE,.offset_x = 0,.offset_y = 384,.scale_factor = 1.000,.is_pdaf_supported = 0,.data_rate = 1296000000ULL * 4},},.size = 6,},.csi_params ={.lane_cnt = 4,.settle_cnt = 0xB,.is_csi_3phase = 0,},.exposure_func_table ={.sensor_calculate_exposure = sensor_calculate_exposure,.sensor_fill_exposure_array = sensor_fill_exposure_array,},.meta_data_out_info_array ={.meta_data_out_info ={{/* set the meta half size which it should be to overcome the isp bug */.width = 80,.height = 1920,.stats_type = PD_STATS,.dt = IMX258_CSI_PD_ISTATS,},},.size = 1,},.sensor_capability = 0,.awb_func_table ={.sensor_fill_awb_array = 0,.awb_table_size = 0,},.parse_RDI_stats ={.parse_VHDR_stats = NULL,},.rolloff_config ={.enable = FALSE,.full_size_info ={.full_size_width = 0,.full_size_height = 0,.full_size_left_crop = 0,.full_size_top_crop = 0,},},.adc_readout_time = 0,.sensor_num_fast_aec_frame_skip = 0,.noise_coeff = {.gradient_S = 3.738032e-06,.offset_S = 3.651935e-04,.gradient_O = 6.396835e-11,.offset_O = -2.968624e-04,},.pdaf_config = { #ifndef FLIP_MIRROR#include "imx258_pdaf.h" #else#include "imx258_pdaf_flip_mirror.h" #endif}, };#endif /* __IMX258_LIB_H__ */

2.probe流程

hal層函數(shù) module_sensor_init()

hal層代碼位于?\vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\sensors\module\module_sensor.c

//@\vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\sensors\module\module_sensor.c mct_module_t *module_sensor_init(const char *name) {....../* module_sensor_probe_sensors */ret = sensor_init_probe(module_ctrl);/* find all the actuator, etc with sensor */ret = module_sensor_find_other_subdev(module_ctrl);/* Init sensor modules */ret = mct_list_traverse(module_ctrl->sensor_bundle, module_sensors_subinit,NULL);/* intiialize the eeprom */ret = mct_list_traverse(module_ctrl->sensor_bundle, module_sensor_init_eeprom,module_ctrl->eebin_hdl);/* Create chromatix manager */ret = mct_list_traverse(module_ctrl->sensor_bundle, module_sensor_init_chromatix, module_ctrl->eebin_hdl);/* Initialize dual cam stream mutex */pthread_mutex_init(&module_ctrl->dual_cam_mutex, NULL);}

hal層函數(shù) sensor_init_probe()

在?sensor_init_eebin_probe()中,我們可以看出,知道camera 數(shù)量后,在for循環(huán)中,依次調(diào)用?sensor_probe()函數(shù)初始化每個camera,我們當(dāng)前代碼中有三個camera,這面就會調(diào)用三次sensor_probe()。

/** sensor_init_probe: probe available sensors** @module_ctrl: sensor ctrl pointer** Return: 0 for success and negative error on failure** 1) Find sensor_init subdev and it* 2) Open EEPROM subdev and check whether any sensor library* is present in EEPROM* 3) Open sensor libraries present in dumped firware location* 4) Check library version of EEPROM and dumped firmware* 5) Load latest of both* 6) Pass slave information, power up and probe sensors* 7) If probe succeeds, create video node and sensor subdev* 8) Repeat step 2-8 for all sensor libraries present in* EEPROM* 9) Repeat step 6-8 for all sensor libraries present in* absolute path**/boolean sensor_init_probe(module_sensor_ctrl_t *module_ctrl) {......ret = sensor_init_eebin_probe(module_ctrl, sd_fd);......RETURN_ON_FALSE(sensor_init_xml_probe(module_ctrl, sd_fd)); }static boolean sensor_init_eebin_probe(module_sensor_ctrl_t *module_ctrl,int32_t sd_fd) {SLOW("Enter");bin_ctl.cmd = EEPROM_BIN_GET_NUM_DEV;bin_ctl.ctl.q_num.type = EEPROM_BIN_LIB_SENSOR;bin_ctl.ctl.q_num.num_devs = 0;eebin_interface_control(module_ctrl->eebin_hdl, &bin_ctl);num_devs = bin_ctl.ctl.q_num.num_devs;SLOW("num_devs:%d", num_devs);for (i = 0; i < num_devs; i++ ) {bin_ctl.cmd = EEPROM_BIN_GET_DEV_DATA;bin_ctl.ctl.dev_data.type = EEPROM_BIN_LIB_SENSOR;bin_ctl.ctl.dev_data.num = i;rc = eebin_interface_control(module_ctrl->eebin_hdl, &bin_ctl);if (rc < 0)continue;ret = sensor_probe(module_ctrl,sd_fd,bin_ctl.ctl.dev_data.name,bin_ctl.ctl.dev_data.path,NULL,FALSE,FALSE);if (ret == FALSE) {SINFO("failed: to load %s", bin_ctl.ctl.dev_data.name);}}SLOW("Exit");return TRUE; }

雖然前面也有 sensor_probe ,但正常流程中,我們走的不是eebin ,
而是通過 sensor_init_xml_probe(module_ctrl, sd_fd) 來解析
vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/configs/sdm660_camera.xml 文件,
通過 xml 中 配置的sensor name 和 subdev name,來下發(fā)參數(shù)。

詳細如下:

->首先拼湊 sdm660_camera.xml 的字符串路徑
->odm 公司如果要自已定制路徑的話,也可以通過 屬性 persist.vendor.camera.customer.config 來配置。
->開始解析 sdm660_camera.xml文件中的 CameraConfigurationRoot 節(jié)點。
->通過 CameraModuleConfig 的數(shù)量可以知道 ,當(dāng)前支持多少個camera。
->解析每個camera 的信息,并且在 sensor_probe[]數(shù)組中檢查當(dāng)前sensor 是否已經(jīng)probe 過了。
->根據(jù)xml 中解析的結(jié)果,調(diào)用 sensor_probe 開始正式probe。
->當(dāng)所有xml 中的項都遍歷完成后,關(guān)閉xml。

static boolean sensor_init_xml_probe(module_sensor_ctrl_t *module_ctrl, int32_t sd_fd) {// 首先拼湊 sdm660_camera.xml 的字符串路徑/* Create the xml path from data partition */snprintf(config_xml_name, BUFF_SIZE_255, "%s%s", CONFIG_XML_PATH, CONFIG_XML);// odm 公司如果要自已定制路徑的話,也可以通過 屬性 persist.vendor.camera.customer.config 來配置if (access(config_xml_name, R_OK)) {SHIGH(" read fail (non-fatal) %s. Trying from system partition",config_xml_name);if (csidtg_enable) {/* Create the CSIDTG xml path from system partition */snprintf(config_xml_name, BUFF_SIZE_255, "%s%s", CONFIG_XML_SYSTEM_PATH, CSIDTG_CONFIG_XML);} else {property_get("persist.vendor.camera.customer.config", custom_xml_name, CONFIG_XML);/* Create the xml path from system partition */snprintf(config_xml_name, BUFF_SIZE_255, "%s%s",CONFIG_XML_SYSTEM_PATH, custom_xml_name);}}SHIGH("reading from file %s", config_xml_name);// 開始解析 sdm660_camera.xml文件中的 CameraConfigurationRoot 節(jié)點/* Get the Root pointer and Document pointer of XMl file */ret = sensor_xml_util_load_file(config_xml_name, &docPtr, &rootPtr, "CameraConfigurationRoot");// 通過 CameraModuleConfig 的數(shù)量可以知道 ,當(dāng)前支持多少個camera/* Get number of camera module configurations */num_cam_config = sensor_xml_util_get_num_nodes(rootPtr, "CameraModuleConfig");SLOW("num_cam_config = %d", num_cam_config);xmlConfig.docPtr = docPtr;xmlConfig.configPtr = &camera_cfg;// 解析每個camera 的信息,并且在 sensor_probe[]數(shù)組中檢查當(dāng)前sensor 是否已經(jīng)probe 過了for (i = 0; i < num_cam_config; i++) {nodePtr = sensor_xml_util_get_node(rootPtr, "CameraModuleConfig", i);RETURN_ON_NULL(nodePtr);xmlConfig.nodePtr = nodePtr;ret = sensor_xml_util_get_camera_probe_config(&xmlConfig, "CameraModuleConfig");if (slot_probed[camera_cfg.camera_id]) {SHIGH("slot %d already probed", camera_cfg.camera_id);continue;}// 根據(jù)xml 中解析的結(jié)果,調(diào)用 sensor_probe 開始正式proberc = sensor_probe(module_ctrl,sd_fd,camera_cfg.sensor_name,NULL,&xmlConfig,FALSE,FALSE);} else {slot_probed[camera_cfg.camera_id] = TRUE;}}// 關(guān)閉xml 文件 XML_PROBE_EXIT:sensor_xml_util_unload_file(docPtr);return ret; }

hal層函數(shù) sensor_probe() 下發(fā) CFG_SINIT_PROBE

進入?sensor_probe()函數(shù):
在函數(shù)中可以看出,首先會調(diào)用?sensor_load_library()加載vendor 中camera sensor 的庫文件。
接著通過 IOCTRL 向通過下發(fā)?CFG_SINIT_PROBE消息,通知驅(qū)動層作probe 初始化。

/** sensor_probe: probe available sensors* @fd: sensor_init fd* @sensor_name: sensor name* Return: TRUE for success and FALSE for failure* 1) Open sensor library* 2) Pass slave information, probe sensor* 3) If probe succeeds, create video node and sensor subdev is* created in kernel**/ static boolean sensor_probe(module_sensor_ctrl_t *module_ctrl, int32_t fd, const char *sensor_name, char *path, struct xmlCameraConfigInfo *xmlConfig, boolean is_stereo_config, boolean bypass_video_node_creation) {/* Load sensor library */rc = sensor_load_library(sensor_name, sensor_lib_params, path);....../* Pass slave information to kernel and probe */memset(&cfg, 0, sizeof(cfg));cfg.cfgtype = CFG_SINIT_PROBE;cfg.cfg.setting = slave_info;if (ioctl(fd, VIDIOC_MSM_SENSOR_INIT_CFG, &cfg) < 0) {SINFO("[%s]CFG_SINIT_PROBE failed",sensor_name);ret = FALSE;goto ERROR;}if (cfg.probed_info.session_id == 0 && FALSE == bypass_video_node_creation) {SINFO("[%s] probe failed.", sensor_name);ret = FALSE;goto ERROR;}SHIGH("[%s] probe succeeded: session_id(%d) entity_name(%s)",sensor_name, cfg.probed_info.session_id, cfg.entity_name);...... }

Kernel Ioctl 函數(shù) msm_sensor_init_subdev_ioctl()

上層IOCTRL 命令下發(fā)到kernerl 中,進入msm_sensor_init_subdev_ioctl()中,接著轉(zhuǎn)發(fā)到msm_sensor_driver_cmd()中,調(diào)用?msm_sensor_driver_probe()函數(shù)..

// @\kernel\msm-4.4\drivers\media\platform\msm\camera_v2\sensor\msm_sensor_init.c static long msm_sensor_init_subdev_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg) {switch (cmd) {case VIDIOC_MSM_SENSOR_INIT_CFG:rc = msm_sensor_driver_cmd(s_init, arg);break;} }/* Static function definition */ static int32_t msm_sensor_driver_cmd(struct msm_sensor_init_t *s_init, void *arg) {switch (cfg->cfgtype) {case CFG_SINIT_PROBE:mutex_lock(&s_init->imutex);s_init->module_init_status = 0;rc = msm_sensor_driver_probe(cfg->cfg.setting,&cfg->probed_info,cfg->entity_name);mutex_unlock(&s_init->imutex);if (rc < 0)pr_err("%s failed (non-fatal) rc %d", __func__, rc);break;case CFG_SINIT_PROBE_DONE:s_init->module_init_status = 1;wake_up(&s_init->state_wait);break;case CFG_SINIT_PROBE_WAIT_DONE:msm_sensor_wait_for_probe_done(s_init);break;return rc; }

probe函數(shù) msm_sensor_driver_probe()

從上層開始下發(fā)probe 命令,至此正式開始probe 初始化 camera,代碼如下:

->初始化并分配 slave_info 內(nèi)存
->將上層下發(fā)的 slave_info保存在 slave_info32 中
->將 slave_info32 中的信息保存到 slave_info中。
->打印 slave info 信息
->通過camera id 獲取到對應(yīng)的 camera sensor ctrol 信息,也就是對應(yīng)的camera 的dts 信息。
->檢測sensor 是否已經(jīng)probe 過了,如果不是,直接跳過if 進行probe
->獲取camera的power settting
->初始化 msm_camera_slave_info 結(jié)構(gòu)體變量 camera_info ,用于保存 camera 的信息
->配置camera i2c 相關(guān)信息
->往s_ctrl 中填充 上下電相關(guān)信息
->解析該camera 中所有外設(shè) dts 節(jié)點信息 "qcom,eeprom-src"、"qcom,actuator-src"、"qcom,led-? ? ?flash-src"
->調(diào)用 sensor_power_up()給sensor 上電,開始probe sensor ,上電時調(diào)用 ->msm_sensor_check_id(),然后調(diào)用msm_sensor_match_id()檢測 sensor id 是否區(qū)配。
->創(chuàng)建對應(yīng)的 /dev/videox 節(jié)點 及 /dev/mediax 的節(jié)點
->probe 成功后下電
->更新s_ctrl 結(jié)構(gòu)體信息
?

// @ kernel\msm-4.4\drivers\media\platform\msm\camera_v2\sensor\msm_sensor_driver.c int32_t msm_sensor_driver_probe(void *setting, struct msm_sensor_info_t *probed_info, char *entity_name) {struct msm_sensor_ctrl_t *s_ctrl = NULL;struct msm_camera_cci_client *cci_client = NULL;struct msm_camera_sensor_slave_info *slave_info = NULL;struct msm_camera_slave_info *camera_info = NULL;// 1. 初始化并分配 slave_info 內(nèi)存/* Allocate memory for slave info */slave_info = kzalloc(sizeof(*slave_info), GFP_KERNEL);if (is_compat_task()) {// 2. 將上層下發(fā)的 slave_info保存在 slave_info32 中struct msm_camera_sensor_slave_info32 *slave_info32 =kzalloc(sizeof(*slave_info32), GFP_KERNEL);copy_from_user((void *)slave_info32, setting, sizeof(*slave_info32));// 3. 將 slave_info32 中的信息保存到 slave_info中。strlcpy(slave_info->actuator_name, slave_info32->actuator_name, sizeof(slave_info->actuator_name));strlcpy(slave_info->eeprom_name, slave_info32->eeprom_name, sizeof(slave_info->eeprom_name));strlcpy(slave_info->sensor_name, slave_info32->sensor_name, sizeof(slave_info->sensor_name));strlcpy(slave_info->ois_name, slave_info32->ois_name, sizeof(slave_info->ois_name));strlcpy(slave_info->flash_name, slave_info32->flash_name, sizeof(slave_info->flash_name));slave_info->addr_type = slave_info32->addr_type;slave_info->camera_id = slave_info32->camera_id;slave_info->i2c_freq_mode = slave_info32->i2c_freq_mode;slave_info->sensor_id_info = slave_info32->sensor_id_info;slave_info->slave_addr = slave_info32->slave_addr;slave_info->module_id_info = slave_info32->module_id_info;slave_info->power_setting_array.size = slave_info32->power_setting_array.size;slave_info->power_setting_array.size_down = slave_info32->power_setting_array.size_down;slave_info->power_setting_array.size_down = slave_info32->power_setting_array.size_down;slave_info->power_setting_array.power_setting = compat_ptr(slave_info32->power_setting_array.power_setting);slave_info->power_setting_array.power_down_setting = compat_ptr(slave_info32->power_setting_array.power_down_setting);slave_info->sensor_init_params = slave_info32->sensor_init_params;slave_info->output_format =slave_ info32->output_format;kfree(slave_info32); // 保存完畢合釋放 slave_info32 內(nèi)存。} else #endif{if (copy_from_user(slave_info,(void *)setting, sizeof(*slave_info))) {pr_err("failed: copy_from_user");rc = -EFAULT;goto free_slave_info;}}// 4. 打印 slave info 信息/* Print slave info */CDBG("camera id %d Slave addr 0x%X addr_type %d\n", slave_info->camera_id, slave_info->slave_addr, slave_info->addr_type);CDBG("sensor_id_reg_addr 0x%X sensor_id 0x%X sensor id mask %d", slave_info->sensor_id_info.sensor_id_reg_addr, slave_info->sensor_id_info.sensor_id,slave_info->sensor_id_info.sensor_id_mask);CDBG("power up size %d power down size %d\n",slave_info->power_setting_array.size,slave_info->power_setting_array.size_down);CDBG("position %d",slave_info->sensor_init_params.position);CDBG("mount %d",slave_info->sensor_init_params.sensor_mount_angle);// 5. 通過camera id 獲取到對應(yīng)的 camera sensor ctrol 信息,也就是對應(yīng)的camera 的dts 信息。/* Extract s_ctrl from camera id */s_ctrl = g_sctrl[slave_info->camera_id];CDBG("s_ctrl[%d] %pK", slave_info->camera_id, s_ctrl);// 6. 檢測sensor 是否已經(jīng)probe 過了,如果不是,直接跳過if 進行probeif (s_ctrl->is_probe_succeed == 1) {/** Different sensor on this camera slot has been connected* and probe already succeeded for that sensor. Ignore this* probe */......}// 7. 獲取camera的power setttingrc = msm_sensor_get_power_settings(setting, slave_info,&s_ctrl->sensordata->power_info);// 8. 初始化 msm_camera_slave_info 結(jié)構(gòu)體變量 camera_info ,用于保存 camera 的信息camera_info = kzalloc(sizeof(struct msm_camera_slave_info), GFP_KERNEL);s_ctrl->sensordata->slave_info = camera_info;/* Fill sensor slave info */camera_info->sensor_slave_addr = slave_info->slave_addr;camera_info->eeprom_slave_addr = slave_info->module_id_info.module_slave_id;camera_info->eeprom_module_reg_addr = slave_info->module_id_info.module_id_reg_addr;camera_info->eeprom_module_id = slave_info->module_id_info.module_id;camera_info->eeprom_master_id = slave_info->module_id_info.master_id;camera_info->sensor_id_reg_addr =slave_info->sensor_id_info.sensor_id_reg_addr;camera_info->sensor_id = slave_info->sensor_id_info.sensor_id;camera_info->sensor_id_mask = slave_info->sensor_id_info.sensor_id_mask;s_ctrl->sensor_i2c_client->addr_type = slave_info->addr_type;if (s_ctrl->sensor_i2c_client->client)s_ctrl->sensor_i2c_client->client->addr =camera_info->sensor_slave_addr;// 9. 配置camera i2c 相關(guān)信息。cci_client = s_ctrl->sensor_i2c_client->cci_client;cci_client->cci_i2c_master = s_ctrl->cci_i2c_master;cci_client->sid = slave_info->slave_addr >> 1;cci_client->retries = 3;cci_client->id_map = 0;cci_client->i2c_freq_mode = slave_info->i2c_freq_mode;// 10. 往s_ctrl 中填充 上下電相關(guān)信息 /* Parse and fill vreg params for powerup settings */rc = msm_camera_fill_vreg_params(s_ctrl->sensordata->power_info.cam_vreg,s_ctrl->sensordata->power_info.num_vreg,s_ctrl->sensordata->power_info.power_setting,s_ctrl->sensordata->power_info.power_setting_size);/* Parse and fill vreg params for powerdown settings*/rc = msm_camera_fill_vreg_params(s_ctrl->sensordata->power_info.cam_vreg,s_ctrl->sensordata->power_info.num_vreg,s_ctrl->sensordata->power_info.power_down_setting,s_ctrl->sensordata->power_info.power_down_setting_size);CSID_TG:/* Update sensor, actuator and eeprom name in* sensor control structure */s_ctrl->sensordata->sensor_name = slave_info->sensor_name;s_ctrl->sensordata->eeprom_name = slave_info->eeprom_name;s_ctrl->sensordata->actuator_name = slave_info->actuator_name;s_ctrl->sensordata->ois_name = slave_info->ois_name;s_ctrl->sensordata->flash_name = slave_info->flash_name;/** Update eeporm subdevice Id by input eeprom name*/// 11. 解析該camera 中所有外設(shè)節(jié)點信息 "qcom,eeprom-src"、"qcom,actuator-src"、"qcom,led-flash-src"rc = msm_sensor_fill_eeprom_subdevid_by_name(s_ctrl); =====> src_node = of_parse_phandle(of_node, "qcom,eeprom-src", i);/** Update actuator subdevice Id by input actuator name*/rc = msm_sensor_fill_actuator_subdevid_by_name(s_ctrl);=====> src_node = of_parse_phandle(of_node, "qcom,actuator-src", 0);rc = msm_sensor_fill_ois_subdevid_by_name(s_ctrl);rc = msm_sensor_fill_flash_subdevid_by_name(s_ctrl);=====> src_node = of_parse_phandle(of_node, "qcom,led-flash-src", 0);// 12. 調(diào)用 sensor_power_up() 給sensor 上電,開始probe sensor ,上電時調(diào)用 msm_sensor_check_id(),然后調(diào)用msm_sensor_match_id()檢測sensor id 是否區(qū)配。/* Power up and probe sensor */rc = s_ctrl->func_tbl->sensor_power_up(s_ctrl);==================>@ \kernel\msm-4.4\drivers\media\platform\msm\camera_v2\sensor\msm_sensor.cfor (retry = 0; retry < 3; retry++) {/* session is secure */s_ctrl->sensor_i2c_client->i2c_func_tbl =&msm_sensor_secure_func_tbl;rc = msm_camera_power_up(power_info, s_ctrl->sensor_device_type, sensor_i2c_client);rc = msm_sensor_check_id(s_ctrl);========> rc = msm_sensor_match_id(s_ctrl);<=======if (rc < 0) {msm_camera_power_down(power_info,s_ctrl->sensor_device_type, sensor_i2c_client);msleep(20);continue;} else {break;}}<==================// 13. 創(chuàng)建對應(yīng)的 /dev/videox 節(jié)點 及 /dev/mediax 的節(jié)點pr_err("%s probe succeeded", slave_info->sensor_name);/** Create /dev/videoX node, comment for now until dummy /dev/videoX* node is created and used by HAL*/if (s_ctrl->sensor_device_type == MSM_CAMERA_PLATFORM_DEVICE)rc = msm_sensor_driver_create_v4l_subdev(s_ctrl);// 14. probe 成功后下電/* Power down */s_ctrl->func_tbl->sensor_power_down(s_ctrl);rc = msm_sensor_fill_slave_info_init_params(slave_info,s_ctrl->sensordata->sensor_info);rc = msm_sensor_validate_slave_info(s_ctrl->sensordata->sensor_info);/* Update sensor mount angle and position in media entity flag */is_yuv = (slave_info->output_format == MSM_SENSOR_YCBCR) ? 1 : 0;mount_pos = ((s_ctrl->is_secure & 0x1) << 26) | is_yuv << 25 |(s_ctrl->sensordata->sensor_info->position << 16) |((s_ctrl->sensordata->sensor_info->sensor_mount_angle / 90) << 8);s_ctrl->msm_sd.sd.entity.flags = mount_pos | MEDIA_ENT_FL_DEFAULT;/*Save sensor info*/s_ctrl->sensordata->cam_slave_info = slave_info;// 15. 更新s_ctrl 結(jié)構(gòu)體信息msm_sensor_fill_sensor_info(s_ctrl, probed_info, entity_name);/** Set probe succeeded flag to 1 so that no other camera shall* probed on this slot*/s_ctrl->is_probe_succeed = 1;return rc; }

3.camx-chi框架probe 流程?

Camx 剛接觸的時候?qū)τ谶@個xml 一臉懵逼,實際上和mm-camera差不多就是以xml node節(jié)點的方式標(biāo)準(zhǔn)化了driver相關(guān)的code,exposure 和 gain的邏輯實現(xiàn)還是在同級目錄的cpp中,并且將 xml 的解析工作放在了 out/target/<product>/gen/STATIC_LIBERARIES/libcamxgenerated_intermediates/generated/ 中主要是包含了:

g_chromatix : tuning 相關(guān)xml的解析code
g_facedetection :人臉檢測相關(guān)xml的解析code
g_parser :主要的解析manager 流程圖中的 imageSensorModuleDataManager 的 初始化調(diào)到了,此目錄下的paramtersetmanager.cpp 的 LoadBinaryParameters() 再根據(jù)type不同進行各個sub module xml 的讀取。
g_sensor:camera sensor xml 解析code,包括:actuator, eeprom, flash, moduleconfig, ois ,sensor, sensormodule, eebin主要看此目錄下的 camxsenordriver.cpp ,主要功能把 sensor driver xml 的各個節(jié)點內(nèi)容全都 load 一遍。看懂了這里剩下的就是 xml 的填空工作啦。

詳細的加載過程流程圖:

camx 的sensor probe 主要流程:

camera 的 probe success 主要需要 xml 中 salveAddress 、sensorIdRegAddr 、sensorID 和 powerUpSequence 這個4個參數(shù)(當(dāng)然還有一個前提是你的 kenrel 的i2c clock power gpio等配置的沒有問題),這時候還用不到 initsetting 等等其他參數(shù),畢竟你sensor 還沒有讀到正確寄存器值,詳細過程見流程圖。

參考鏈接:

?【高通SDM660平臺】(2) --- Camera Kernel 驅(qū)動層代碼邏輯分析_CielleeX的博客-CSDN博客

??????【高通SDM660平臺 Android 10.0】(10) --- Camera Sensor lib 與 Kernel Camera Probe 代碼分析_CielleeX的博客-CSDN博客

高通camera驅(qū)動 camx read xml 和 probe 流程 和 sensor I2C讀寫的波形圖 (三)_shangbolei的博客-CSDN博客_camera probe流程


?

總結(jié)

以上是生活随笔為你收集整理的Camera Probe 代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

99久久无码一区人妻 | 亚洲精品国偷拍自产在线麻豆 | 久久国产精品萌白酱免费 | 亚洲色欲色欲欲www在线 | 亚欧洲精品在线视频免费观看 | 亚洲综合色区中文字幕 | 性史性农村dvd毛片 | 日韩 欧美 动漫 国产 制服 | 中国女人内谢69xxxxxa片 | 日本护士xxxxhd少妇 | 国产福利视频一区二区 | 黄网在线观看免费网站 | 亚洲中文字幕在线观看 | 久久精品国产精品国产精品污 | 岛国片人妻三上悠亚 | a片免费视频在线观看 | 中文精品久久久久人妻不卡 | 色一情一乱一伦一区二区三欧美 | 欧美日韩亚洲国产精品 | 一本精品99久久精品77 | 欧美三级a做爰在线观看 | 成人性做爰aaa片免费看不忠 | 国产精品国产自线拍免费软件 | www国产精品内射老师 | 秋霞成人午夜鲁丝一区二区三区 | 草草网站影院白丝内射 | 国产凸凹视频一区二区 | 国产精品高潮呻吟av久久4虎 | 亚洲熟妇色xxxxx亚洲 | 国产香蕉尹人综合在线观看 | 久久人人爽人人人人片 | 波多野结衣aⅴ在线 | 一本色道久久综合亚洲精品不卡 | 纯爱无遮挡h肉动漫在线播放 | 日本精品人妻无码77777 天堂一区人妻无码 | 在线观看免费人成视频 | 欧美午夜特黄aaaaaa片 | 久久久久人妻一区精品色欧美 | 国内揄拍国内精品人妻 | 强伦人妻一区二区三区视频18 | 久久久久久久人妻无码中文字幕爆 | 欧美xxxx黑人又粗又长 | 免费无码av一区二区 | 欧美日韩色另类综合 | 亚洲欧洲日本无在线码 | 国产激情无码一区二区app | 国产乱人无码伦av在线a | 亚洲日韩精品欧美一区二区 | 久久亚洲日韩精品一区二区三区 | 欧美人妻一区二区三区 | 鲁一鲁av2019在线 | 青青久在线视频免费观看 | 99麻豆久久久国产精品免费 | 成人精品视频一区二区三区尤物 | 亚洲码国产精品高潮在线 | 欧美人与牲动交xxxx | 日韩欧美群交p片內射中文 | 97人妻精品一区二区三区 | 国产香蕉97碰碰久久人人 | 欧美 日韩 人妻 高清 中文 | 亚洲中文字幕无码中文字在线 | 天天燥日日燥 | 国产美女精品一区二区三区 | 精品国产青草久久久久福利 | 亚洲欧美日韩国产精品一区二区 | 麻豆av传媒蜜桃天美传媒 | 狂野欧美性猛xxxx乱大交 | 又色又爽又黄的美女裸体网站 | 国产色视频一区二区三区 | 国产女主播喷水视频在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 国产成人精品必看 | 亚洲中文字幕成人无码 | 精品国产国产综合精品 | 国精产品一区二区三区 | 99精品视频在线观看免费 | 亚洲 另类 在线 欧美 制服 | 天天摸天天碰天天添 | 粗大的内捧猛烈进出视频 | 性欧美牲交xxxxx视频 | 无码福利日韩神码福利片 | 久久综合给合久久狠狠狠97色 | 少妇被黑人到高潮喷出白浆 | 乱人伦人妻中文字幕无码 | 日韩av无码一区二区三区不卡 | 女人和拘做爰正片视频 | 天堂久久天堂av色综合 | 亚洲午夜久久久影院 | 中文字幕中文有码在线 | 亚洲精品成人av在线 | 欧美性猛交内射兽交老熟妇 | 日韩av无码一区二区三区 | 国产性生大片免费观看性 | 成人无码精品一区二区三区 | 国产精品沙发午睡系列 | 婷婷色婷婷开心五月四房播播 | 久久精品国产日本波多野结衣 | 在线а√天堂中文官网 | 巨爆乳无码视频在线观看 | 久久久久久亚洲精品a片成人 | 中文字幕乱码亚洲无线三区 | 亚洲中文字幕无码一久久区 | 亚洲爆乳无码专区 | 国产精品人妻一区二区三区四 | 亚洲色欲色欲天天天www | а天堂中文在线官网 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美刺激性大交 | 2019nv天堂香蕉在线观看 | 日韩欧美成人免费观看 | 老熟妇乱子伦牲交视频 | 人妻无码αv中文字幕久久琪琪布 | a在线观看免费网站大全 | 内射欧美老妇wbb | 婷婷五月综合缴情在线视频 | 中文字幕久久久久人妻 | 国产精品久久精品三级 | 亚洲の无码国产の无码影院 | 亚洲理论电影在线观看 | 久久精品人人做人人综合 | 国产精品第一国产精品 | 日欧一片内射va在线影院 | 丰满少妇高潮惨叫视频 | 国产农村妇女高潮大叫 | 九九综合va免费看 | v一区无码内射国产 | 日韩亚洲欧美中文高清在线 | 激情五月综合色婷婷一区二区 | 国产高潮视频在线观看 | 国产无套内射久久久国产 | 国产精品欧美成人 | 波多野结衣 黑人 | 亚洲热妇无码av在线播放 | 免费无码肉片在线观看 | 日本熟妇乱子伦xxxx | 日本高清一区免费中文视频 | 四虎永久在线精品免费网址 | 丰满少妇人妻久久久久久 | 亚洲午夜福利在线观看 | 好男人社区资源 | √天堂资源地址中文在线 | 国产亚洲美女精品久久久2020 | 1000部啪啪未满十八勿入下载 | 久久国语露脸国产精品电影 | 日韩av无码一区二区三区 | 国产午夜手机精彩视频 | 国产激情一区二区三区 | 国产精品美女久久久网av | 蜜臀av无码人妻精品 | 暴力强奷在线播放无码 | 色综合视频一区二区三区 | 97久久国产亚洲精品超碰热 | 性色av无码免费一区二区三区 | 精品国产aⅴ无码一区二区 | 影音先锋中文字幕无码 | 精品亚洲成av人在线观看 | av在线亚洲欧洲日产一区二区 | 影音先锋中文字幕无码 | 国产成人无码av在线影院 | 亚拍精品一区二区三区探花 | 亚洲日韩中文字幕在线播放 | 亚洲无人区一区二区三区 | 毛片内射-百度 | 亚洲精品一区二区三区婷婷月 | 国产黄在线观看免费观看不卡 | 久久久久成人精品免费播放动漫 | 男女超爽视频免费播放 | 丰满人妻一区二区三区免费视频 | 国产精品无码mv在线观看 | 色婷婷av一区二区三区之红樱桃 | 午夜熟女插插xx免费视频 | 乱人伦人妻中文字幕无码 | 亚洲の无码国产の无码影院 | 中文字幕 亚洲精品 第1页 | 亚洲精品一区三区三区在线观看 | 又黄又爽又色的视频 | 亚洲色偷偷偷综合网 | 中文字幕无线码 | 18黄暴禁片在线观看 | 国产sm调教视频在线观看 | 自拍偷自拍亚洲精品10p | 亚洲精品综合一区二区三区在线 | 自拍偷自拍亚洲精品被多人伦好爽 | 装睡被陌生人摸出水好爽 | 国产亚洲美女精品久久久2020 | 亚洲无人区午夜福利码高清完整版 | 国产亚洲精品精品国产亚洲综合 | 成人精品一区二区三区中文字幕 | 欧美兽交xxxx×视频 | 欧美野外疯狂做受xxxx高潮 | 一本加勒比波多野结衣 | 亚洲熟妇色xxxxx欧美老妇y | 亚洲成av人片天堂网无码】 | 国产免费久久精品国产传媒 | 国产精品久久久久久无码 | 少妇太爽了在线观看 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美性生交xxxxx久久久 | 成人精品视频一区二区三区尤物 | 成人欧美一区二区三区黑人免费 | 亚洲中文字幕无码中文字在线 | 99久久精品日本一区二区免费 | 亚洲大尺度无码无码专区 | 亚洲色无码一区二区三区 | 亚洲va中文字幕无码久久不卡 | 狠狠色欧美亚洲狠狠色www | 亚洲最大成人网站 | 人妻尝试又大又粗久久 | 亚洲综合无码久久精品综合 | 美女极度色诱视频国产 | 丰满少妇弄高潮了www | 亚洲熟妇色xxxxx欧美老妇 | 午夜丰满少妇性开放视频 | 国产乱码精品一品二品 | 美女扒开屁股让男人桶 | 亚洲综合伊人久久大杳蕉 | 丝袜美腿亚洲一区二区 | 日本一卡二卡不卡视频查询 | 亚洲综合伊人久久大杳蕉 | 在线观看国产一区二区三区 | 男人扒开女人内裤强吻桶进去 | 色婷婷欧美在线播放内射 | 人人妻人人澡人人爽欧美精品 | 一本久道久久综合婷婷五月 | 国产av人人夜夜澡人人爽麻豆 | 精品国产青草久久久久福利 | 国产精品人妻一区二区三区四 | 国产97在线 | 亚洲 | 青春草在线视频免费观看 | 亚洲大尺度无码无码专区 | av在线亚洲欧洲日产一区二区 | 国产亚洲美女精品久久久2020 | 国内少妇偷人精品视频免费 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲国产成人av在线观看 | 蜜桃av抽搐高潮一区二区 | 99久久久无码国产aaa精品 | 无码人妻久久一区二区三区不卡 | 午夜免费福利小电影 | 玩弄中年熟妇正在播放 | 国产农村乱对白刺激视频 | 国产精品自产拍在线观看 | 撕开奶罩揉吮奶头视频 | 欧美亚洲国产一区二区三区 | 中文字幕无码人妻少妇免费 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 久久无码专区国产精品s | 波多野结衣aⅴ在线 | 亚洲а∨天堂久久精品2021 | 丰满岳乱妇在线观看中字无码 | 国产特级毛片aaaaaa高潮流水 | 亚洲人成影院在线无码按摩店 | 成人免费视频一区二区 | 欧美熟妇另类久久久久久不卡 | 伊在人天堂亚洲香蕉精品区 | 中文字幕无码免费久久99 | 久久这里只有精品视频9 | 99久久人妻精品免费一区 | 日韩亚洲欧美中文高清在线 | 丝袜足控一区二区三区 | 久久99精品国产.久久久久 | 色综合久久久无码中文字幕 | 色婷婷综合中文久久一本 | 欧洲欧美人成视频在线 | 丰满肥臀大屁股熟妇激情视频 | 伊人久久大香线蕉av一区二区 | 精品国产乱码久久久久乱码 | 亚洲日韩一区二区三区 | 乱码午夜-极国产极内射 | 亚洲人交乣女bbw | 成人亚洲精品久久久久 | 少妇被粗大的猛进出69影院 | 国产美女极度色诱视频www | 18精品久久久无码午夜福利 | 国产午夜福利亚洲第一 | 婷婷六月久久综合丁香 | 亚洲精品国产a久久久久久 | 2020久久香蕉国产线看观看 | 巨爆乳无码视频在线观看 | 精品久久综合1区2区3区激情 | 无码精品国产va在线观看dvd | 国产 浪潮av性色四虎 | 蜜臀aⅴ国产精品久久久国产老师 | 高清无码午夜福利视频 | 人人妻人人澡人人爽欧美一区 | 好爽又高潮了毛片免费下载 | 久久久精品456亚洲影院 | 国产成人精品视频ⅴa片软件竹菊 | 国产精品久久久av久久久 | 日韩亚洲欧美精品综合 | 久久久中文久久久无码 | 黑人巨大精品欧美一区二区 | 大肉大捧一进一出视频出来呀 | 亚洲国产精品成人久久蜜臀 | 久久人人97超碰a片精品 | 亚洲色www成人永久网址 | 成人av无码一区二区三区 | 岛国片人妻三上悠亚 | 少妇无码一区二区二三区 | 日日躁夜夜躁狠狠躁 | 亚洲热妇无码av在线播放 | 无码任你躁久久久久久久 | 欧洲欧美人成视频在线 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美日韩久久久精品a片 | 在线成人www免费观看视频 | 99久久久国产精品无码免费 | 在线观看国产一区二区三区 | 在教室伦流澡到高潮hnp视频 | 乱人伦人妻中文字幕无码久久网 | 少女韩国电视剧在线观看完整 | 东北女人啪啪对白 | 午夜福利一区二区三区在线观看 | 麻豆md0077饥渴少妇 | 久久久久成人精品免费播放动漫 | 久久久久久久女国产乱让韩 | 色欲人妻aaaaaaa无码 | 国产成人无码一二三区视频 | 色狠狠av一区二区三区 | 亚洲欧美日韩综合久久久 | 在线观看国产一区二区三区 | 国产人妻久久精品二区三区老狼 | 老熟女乱子伦 | 日本饥渴人妻欲求不满 | 亚洲乱码中文字幕在线 | 国产亚洲精品精品国产亚洲综合 | 精品亚洲成av人在线观看 | 一本久久a久久精品亚洲 | 999久久久国产精品消防器材 | 俺去俺来也在线www色官网 | 青青青手机频在线观看 | 久久无码专区国产精品s | 日日碰狠狠丁香久燥 | 中文字幕无码av波多野吉衣 | 亚洲中文字幕av在天堂 | 波多野结衣av在线观看 | 精品欧洲av无码一区二区三区 | 国产精品久久久午夜夜伦鲁鲁 | 国产又粗又硬又大爽黄老大爷视 | 黑人巨大精品欧美黑寡妇 | 麻豆国产人妻欲求不满 | 国产av一区二区精品久久凹凸 | 日本乱偷人妻中文字幕 | 少妇激情av一区二区 | 亚洲精品国产第一综合99久久 | 性欧美牲交xxxxx视频 | 久久午夜无码鲁丝片午夜精品 | 国产99久久精品一区二区 | 久久精品人人做人人综合 | 88国产精品欧美一区二区三区 | 亚洲伊人久久精品影院 | 欧美zoozzooz性欧美 | 国产精品多人p群无码 | 成人片黄网站色大片免费观看 | 亚洲精品午夜无码电影网 | 国产 精品 自在自线 | 欧美激情综合亚洲一二区 | 无遮挡啪啪摇乳动态图 | 精品水蜜桃久久久久久久 | 久久综合给合久久狠狠狠97色 | 国产精品第一区揄拍无码 | 久久久久久亚洲精品a片成人 | 粉嫩少妇内射浓精videos | 人人妻人人澡人人爽精品欧美 | 精品久久8x国产免费观看 | 无码人妻av免费一区二区三区 | 日本高清一区免费中文视频 | 精品一区二区三区波多野结衣 | 亲嘴扒胸摸屁股激烈网站 | 欧美日韩精品 | 天天拍夜夜添久久精品大 | 亚洲精品成人av在线 | 色综合久久网 | 精品国精品国产自在久国产87 | 亚欧洲精品在线视频免费观看 | 网友自拍区视频精品 | 国产精品va在线观看无码 | 日本在线高清不卡免费播放 | 国产精品igao视频网 | 久久久久久av无码免费看大片 | 亚洲中文字幕在线无码一区二区 | 久久久久久久久蜜桃 | 成人精品一区二区三区中文字幕 | 人人妻人人澡人人爽欧美一区 | 亚洲色欲色欲天天天www | 国产又粗又硬又大爽黄老大爷视 | 国产乡下妇女做爰 | 丰满人妻被黑人猛烈进入 | 国产精品久久久久久亚洲毛片 | 人妻少妇被猛烈进入中文字幕 | 一本色道久久综合亚洲精品不卡 | 中文字幕亚洲情99在线 | 国产精品高潮呻吟av久久4虎 | 午夜精品久久久内射近拍高清 | 欧美日韩久久久精品a片 | 国产97在线 | 亚洲 | 午夜性刺激在线视频免费 | 国产成人精品久久亚洲高清不卡 | 激情国产av做激情国产爱 | 久久人人爽人人爽人人片av高清 | 成人性做爰aaa片免费看不忠 | 国产又粗又硬又大爽黄老大爷视 | 牲欲强的熟妇农村老妇女视频 | 狠狠噜狠狠狠狠丁香五月 | 国产精品igao视频网 | 四虎4hu永久免费 | 亚洲娇小与黑人巨大交 | 日产精品99久久久久久 | 色综合久久中文娱乐网 | 麻豆蜜桃av蜜臀av色欲av | 国产精品国产自线拍免费软件 | 国产成人无码一二三区视频 | 色妞www精品免费视频 | 扒开双腿疯狂进出爽爽爽视频 | 成 人影片 免费观看 | 永久黄网站色视频免费直播 | 国产精品理论片在线观看 | 人妻体内射精一区二区三四 | 无遮挡国产高潮视频免费观看 | 真人与拘做受免费视频一 | 免费国产成人高清在线观看网站 | а√资源新版在线天堂 | 久久久久av无码免费网 | 国产网红无码精品视频 | 日韩av无码中文无码电影 | 97精品国产97久久久久久免费 | 午夜精品久久久内射近拍高清 | 国产人妻久久精品二区三区老狼 | 亚洲 激情 小说 另类 欧美 | 久久无码人妻影院 | 国产乡下妇女做爰 | 色老头在线一区二区三区 | 帮老师解开蕾丝奶罩吸乳网站 | 日日摸天天摸爽爽狠狠97 | 丁香啪啪综合成人亚洲 | 中文字幕色婷婷在线视频 | 亚洲中文字幕在线观看 | 国产精品欧美成人 | 日日天干夜夜狠狠爱 | 宝宝好涨水快流出来免费视频 | 97精品人妻一区二区三区香蕉 | 国产精品永久免费视频 | 少妇性俱乐部纵欲狂欢电影 | 国产色在线 | 国产 | 熟女体下毛毛黑森林 | 亚洲国产午夜精品理论片 | 国产成人无码午夜视频在线观看 | 国产无遮挡又黄又爽免费视频 | 亚洲中文字幕无码一久久区 | 97无码免费人妻超级碰碰夜夜 | 国产精品va在线观看无码 | 亚洲一区二区三区无码久久 | 婷婷综合久久中文字幕蜜桃三电影 | 中文字幕亚洲情99在线 | 亚洲国产一区二区三区在线观看 | 亚洲码国产精品高潮在线 | 日本乱人伦片中文三区 | 久久aⅴ免费观看 | 欧洲欧美人成视频在线 | 国产在热线精品视频 | 久久国产精品偷任你爽任你 | 国产高潮视频在线观看 | www一区二区www免费 | 国产又爽又黄又刺激的视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产熟妇高潮叫床视频播放 | 亚洲成色www久久网站 | 少妇人妻偷人精品无码视频 | 熟女体下毛毛黑森林 | 亚洲国产精品成人久久蜜臀 | 奇米影视888欧美在线观看 | 性欧美疯狂xxxxbbbb | 国产乱人伦偷精品视频 | 亚洲国产精品一区二区美利坚 | 人妻少妇精品视频专区 | 四虎国产精品一区二区 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲经典千人经典日产 | 亚洲欧美日韩成人高清在线一区 | 国产精品理论片在线观看 | 国产一区二区三区精品视频 | 国产精品久久久久久久影院 | 精品乱子伦一区二区三区 | 精品偷拍一区二区三区在线看 | 鲁大师影院在线观看 | 少妇一晚三次一区二区三区 | 欧美黑人巨大xxxxx | 国产高清不卡无码视频 | 国产成人无码av片在线观看不卡 | 国产一区二区不卡老阿姨 | 成人片黄网站色大片免费观看 | 小sao货水好多真紧h无码视频 | 色综合久久久无码中文字幕 | 少妇高潮喷潮久久久影院 | 国产亚洲精品精品国产亚洲综合 | 丰满少妇人妻久久久久久 | 性生交大片免费看l | 久久国产36精品色熟妇 | 国产色xx群视频射精 | 成人欧美一区二区三区黑人免费 | 久久久久国色av免费观看性色 | 国产精品久久国产精品99 | 在线精品国产一区二区三区 | 国产亚洲欧美在线专区 | 中文字幕无码免费久久99 | 人人妻人人澡人人爽欧美一区 | 永久免费精品精品永久-夜色 | 乱人伦人妻中文字幕无码久久网 | 男女下面进入的视频免费午夜 | 久久精品中文字幕一区 | 亚洲精品成人av在线 | 国产精品久久久久久久影院 | 国产精品毛多多水多 | 99久久精品日本一区二区免费 | 亚洲成a人片在线观看无码 | 亚洲中文字幕无码一久久区 | 久久久精品国产sm最大网站 | 动漫av一区二区在线观看 | 荫蒂添的好舒服视频囗交 | 5858s亚洲色大成网站www | 亚洲午夜福利在线观看 | 国产亲子乱弄免费视频 | 色综合久久久久综合一本到桃花网 | 成人精品天堂一区二区三区 | 奇米影视888欧美在线观看 | 国产色在线 | 国产 | 亚洲毛片av日韩av无码 | 国产av一区二区精品久久凹凸 | 亚洲一区二区三区在线观看网站 | 国产农村乱对白刺激视频 | 伊人久久大香线蕉午夜 | 亚洲小说图区综合在线 | 55夜色66夜色国产精品视频 | 精品一区二区三区无码免费视频 | 人妻少妇精品视频专区 | 中文字幕人妻无码一夲道 | 国产极品美女高潮无套在线观看 | 成熟女人特级毛片www免费 | 成人无码视频免费播放 | 人人妻人人澡人人爽欧美一区九九 | 午夜精品一区二区三区在线观看 | 色诱久久久久综合网ywww | 永久免费观看国产裸体美女 | 一区二区三区乱码在线 | 欧洲 | 最近中文2019字幕第二页 | 国产精品-区区久久久狼 | 国产美女精品一区二区三区 | 国产美女精品一区二区三区 | 中文字幕久久久久人妻 | www一区二区www免费 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 日日橹狠狠爱欧美视频 | 久久国产精品_国产精品 | 午夜福利电影 | 日本免费一区二区三区最新 | 少妇性荡欲午夜性开放视频剧场 | 红桃av一区二区三区在线无码av | 性史性农村dvd毛片 | 国产在线aaa片一区二区99 | 一个人看的视频www在线 | 亚洲最大成人网站 | 亚洲一区二区三区无码久久 | 国产亚洲人成在线播放 | 精品国精品国产自在久国产87 | 2020久久香蕉国产线看观看 | 国产免费久久精品国产传媒 | 红桃av一区二区三区在线无码av | 欧美丰满少妇xxxx性 | 国产精品久久久久无码av色戒 | www一区二区www免费 | 国产情侣作爱视频免费观看 | 成人精品视频一区二区三区尤物 | 精品国产麻豆免费人成网站 | 日本一本二本三区免费 | a在线观看免费网站大全 | 亚洲精品久久久久久一区二区 | 日日麻批免费40分钟无码 | 欧美放荡的少妇 | 午夜精品久久久久久久久 | 97夜夜澡人人双人人人喊 | 乱人伦人妻中文字幕无码久久网 | 狠狠亚洲超碰狼人久久 | 国产精品美女久久久网av | 纯爱无遮挡h肉动漫在线播放 | 日本一区二区三区免费播放 | 日韩精品成人一区二区三区 | 国产精品99爱免费视频 | 99久久精品无码一区二区毛片 | 99久久久国产精品无码免费 | 人妻aⅴ无码一区二区三区 | 4hu四虎永久在线观看 | 7777奇米四色成人眼影 | 中国女人内谢69xxxx | 麻豆国产人妻欲求不满谁演的 | 国产片av国语在线观看 | 久久五月精品中文字幕 | 1000部夫妻午夜免费 | 亚洲精品国产精品乱码视色 | 丰满人妻一区二区三区免费视频 | 久久久久亚洲精品中文字幕 | 日日天干夜夜狠狠爱 | 久精品国产欧美亚洲色aⅴ大片 | 97夜夜澡人人双人人人喊 | 国产sm调教视频在线观看 | 中文字幕日韩精品一区二区三区 | 中文字幕日韩精品一区二区三区 | 国产精品久久久久久亚洲毛片 | 永久免费观看美女裸体的网站 | 久久天天躁夜夜躁狠狠 | 欧美性猛交内射兽交老熟妇 | 又紧又大又爽精品一区二区 | 久久国产36精品色熟妇 | 国产精品多人p群无码 | 婷婷五月综合缴情在线视频 | 天天av天天av天天透 | 荫蒂添的好舒服视频囗交 | 久久精品国产大片免费观看 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲人亚洲人成电影网站色 | 国内精品久久久久久中文字幕 | 荫蒂被男人添的好舒服爽免费视频 | 久久99精品国产.久久久久 | 精品人人妻人人澡人人爽人人 | 成年美女黄网站色大免费全看 | 性欧美videos高清精品 | 少妇高潮一区二区三区99 | 国产精品a成v人在线播放 | 日韩av无码一区二区三区不卡 | 乱人伦人妻中文字幕无码久久网 | 日韩少妇白浆无码系列 | 欧美第一黄网免费网站 | 欧美性生交xxxxx久久久 | 理论片87福利理论电影 | 麻豆蜜桃av蜜臀av色欲av | 无码国内精品人妻少妇 | 亚洲欧洲无卡二区视頻 | 国产又爽又猛又粗的视频a片 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产精品怡红院永久免费 | 久久这里只有精品视频9 | 少妇愉情理伦片bd | 少妇无码吹潮 | 又大又硬又爽免费视频 | 免费人成在线视频无码 | 久久午夜无码鲁丝片午夜精品 | 狠狠色丁香久久婷婷综合五月 | 大肉大捧一进一出好爽视频 | 台湾无码一区二区 | 色一情一乱一伦一区二区三欧美 | www一区二区www免费 | 久久天天躁狠狠躁夜夜免费观看 | 丰满岳乱妇在线观看中字无码 | 国产精品-区区久久久狼 | 日韩精品无码免费一区二区三区 | 午夜成人1000部免费视频 | 国产麻豆精品精东影业av网站 | 天天摸天天透天天添 | 精品偷自拍另类在线观看 | 18黄暴禁片在线观看 | 无码吃奶揉捏奶头高潮视频 | 久久久国产精品无码免费专区 | 欧美亚洲日韩国产人成在线播放 | 性生交片免费无码看人 | 少妇太爽了在线观看 | 一本色道久久综合亚洲精品不卡 | 双乳奶水饱满少妇呻吟 | 国产精品久久国产三级国 | 欧美老妇交乱视频在线观看 | 国产精品久久久久久无码 | 久久精品女人的天堂av | 日本欧美一区二区三区乱码 | 300部国产真实乱 | 精品国产国产综合精品 | 精品水蜜桃久久久久久久 | 亚洲色大成网站www国产 | 日韩视频 中文字幕 视频一区 | 一本大道久久东京热无码av | 久久无码中文字幕免费影院蜜桃 | 中文字幕日产无线码一区 | 图片区 小说区 区 亚洲五月 | 国产国语老龄妇女a片 | 国产精品视频免费播放 | 国产人妻精品一区二区三区 | 精品无码国产一区二区三区av | 亚洲色无码一区二区三区 | 精品无码成人片一区二区98 | 四十如虎的丰满熟妇啪啪 | 一本久道久久综合婷婷五月 | 国产尤物精品视频 | 99精品视频在线观看免费 | 久久婷婷五月综合色国产香蕉 | 中文字幕无线码免费人妻 | 丰满少妇弄高潮了www | 少妇一晚三次一区二区三区 | 夜先锋av资源网站 | 日本爽爽爽爽爽爽在线观看免 | 成人女人看片免费视频放人 | 亚洲日韩一区二区 | 熟女俱乐部五十路六十路av | 在线播放无码字幕亚洲 | 鲁大师影院在线观看 | 网友自拍区视频精品 | 亚洲精品无码国产 | 黑人大群体交免费视频 | 久久久中文字幕日本无吗 | 色一情一乱一伦一区二区三欧美 | 亚洲国产欧美国产综合一区 | 中文字幕无码人妻少妇免费 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产精品久久国产三级国 | 亚洲色偷偷偷综合网 | 国产美女精品一区二区三区 | 日产国产精品亚洲系列 | 国产精品自产拍在线观看 | 免费看少妇作爱视频 | 亚洲国产欧美日韩精品一区二区三区 | av香港经典三级级 在线 | 综合网日日天干夜夜久久 | 99久久婷婷国产综合精品青草免费 | 377p欧洲日本亚洲大胆 | 国产精品视频免费播放 | 免费中文字幕日韩欧美 | 亚洲中文无码av永久不收费 | 噜噜噜亚洲色成人网站 | 国产成人人人97超碰超爽8 | 国产精品毛片一区二区 | 亚洲欧美中文字幕5发布 | 内射老妇bbwx0c0ck | 久久亚洲精品成人无码 | 亚洲综合色区中文字幕 | 亚洲精品久久久久中文第一幕 | 亚洲国产精品无码久久久久高潮 | 久久久久久av无码免费看大片 | 日韩欧美成人免费观看 | 欧美日韩视频无码一区二区三 | 日韩成人一区二区三区在线观看 | 免费看男女做好爽好硬视频 | 99精品国产综合久久久久五月天 | 99久久99久久免费精品蜜桃 | 亚洲一区二区三区无码久久 | 欧美午夜特黄aaaaaa片 | 综合人妻久久一区二区精品 | 夜夜躁日日躁狠狠久久av | 人人爽人人爽人人片av亚洲 | 久久久亚洲欧洲日产国码αv | 久久精品一区二区三区四区 | 亚洲熟悉妇女xxx妇女av | 蜜桃无码一区二区三区 | 一本久久a久久精品vr综合 | 亚洲日韩一区二区三区 | 97无码免费人妻超级碰碰夜夜 | 亚洲欧洲无卡二区视頻 | 亚洲欧美精品aaaaaa片 | 国产9 9在线 | 中文 | 日本欧美一区二区三区乱码 | 国产两女互慰高潮视频在线观看 | 青青久在线视频免费观看 | 欧美熟妇另类久久久久久不卡 | 日韩欧美中文字幕在线三区 | 亚洲一区二区观看播放 | 无遮无挡爽爽免费视频 | 97夜夜澡人人双人人人喊 | 欧美日韩一区二区综合 | 动漫av网站免费观看 | 麻豆国产人妻欲求不满谁演的 | 婷婷五月综合缴情在线视频 | 国产精品嫩草久久久久 | 国产69精品久久久久app下载 | 丁香花在线影院观看在线播放 | 亚洲欧美日韩成人高清在线一区 | 天海翼激烈高潮到腰振不止 | 高清无码午夜福利视频 | 男女爱爱好爽视频免费看 | 又大又黄又粗又爽的免费视频 | 亚洲爆乳大丰满无码专区 | 亚洲男人av天堂午夜在 | 久久久久久久人妻无码中文字幕爆 | 欧美怡红院免费全部视频 | 亚洲国产综合无码一区 | 亚洲中文字幕成人无码 | 国产精品亚洲а∨无码播放麻豆 | 狠狠色丁香久久婷婷综合五月 | 成人欧美一区二区三区黑人免费 | 一本色道久久综合狠狠躁 | 国产成人精品视频ⅴa片软件竹菊 | 国产成人av免费观看 | 国产亚洲人成a在线v网站 | 国产真人无遮挡作爱免费视频 | 欧美激情一区二区三区成人 | 久久久久久九九精品久 | 日韩 欧美 动漫 国产 制服 | 国产凸凹视频一区二区 | 日本又色又爽又黄的a片18禁 | 国产成人久久精品流白浆 | 国产亚洲精品久久久久久久久动漫 | 嫩b人妻精品一区二区三区 | av无码电影一区二区三区 | 亚拍精品一区二区三区探花 | 久久久久99精品成人片 | 亚拍精品一区二区三区探花 | 免费中文字幕日韩欧美 | 亚洲 欧美 激情 小说 另类 | 欧美成人午夜精品久久久 | 300部国产真实乱 | 少妇性荡欲午夜性开放视频剧场 | 欧美亚洲日韩国产人成在线播放 | 性欧美牲交xxxxx视频 | 国产高潮视频在线观看 | 亚洲a无码综合a国产av中文 | 亚洲中文字幕无码中字 | 国产成人无码午夜视频在线观看 | 女人被爽到呻吟gif动态图视看 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲爆乳无码专区 | 又大又黄又粗又爽的免费视频 | 国产香蕉尹人综合在线观看 | 亚洲七七久久桃花影院 | 内射欧美老妇wbb | 成人无码影片精品久久久 | 未满小14洗澡无码视频网站 | 天堂久久天堂av色综合 | 99久久人妻精品免费一区 | 色婷婷综合中文久久一本 | 亚洲综合无码一区二区三区 | 国产成人综合在线女婷五月99播放 | 国产精品人妻一区二区三区四 | 在线亚洲高清揄拍自拍一品区 | 性欧美牲交xxxxx视频 | 六十路熟妇乱子伦 | 久久人妻内射无码一区三区 | 无套内射视频囯产 | 国产精品99爱免费视频 | 国产热a欧美热a在线视频 | 人妻aⅴ无码一区二区三区 | 久久综合九色综合欧美狠狠 | 久久国产精品二国产精品 | 西西人体www44rt大胆高清 | 最新版天堂资源中文官网 | 在线观看国产一区二区三区 | 亚洲国产精品美女久久久久 | 300部国产真实乱 | 帮老师解开蕾丝奶罩吸乳网站 | 国精产品一区二区三区 | 欧美黑人巨大xxxxx | 色欲综合久久中文字幕网 | 亚洲 日韩 欧美 成人 在线观看 | 青春草在线视频免费观看 | 亚洲色偷偷男人的天堂 | 国产免费无码一区二区视频 | 色偷偷人人澡人人爽人人模 | 亚洲人成人无码网www国产 | 国产女主播喷水视频在线观看 | 午夜福利电影 | 日日鲁鲁鲁夜夜爽爽狠狠 | 丰满诱人的人妻3 | 天天av天天av天天透 | 色婷婷欧美在线播放内射 | 日韩精品a片一区二区三区妖精 | 久久无码中文字幕免费影院蜜桃 | 久久视频在线观看精品 | 日韩精品无码免费一区二区三区 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美老人巨大xxxx做受 | 久久久久久久人妻无码中文字幕爆 | 亚洲a无码综合a国产av中文 | 亚洲无人区午夜福利码高清完整版 | 亚洲男人av天堂午夜在 | 中文无码精品a∨在线观看不卡 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲阿v天堂在线 | 最新版天堂资源中文官网 | yw尤物av无码国产在线观看 | 亚洲中文字幕成人无码 | 丰满诱人的人妻3 | 精品亚洲韩国一区二区三区 | 超碰97人人做人人爱少妇 | 中文字幕av日韩精品一区二区 | 青青久在线视频免费观看 | 一本久久伊人热热精品中文字幕 | 欧美性猛交xxxx富婆 | 国产精品丝袜黑色高跟鞋 | 性欧美牲交xxxxx视频 | 久久五月精品中文字幕 | a国产一区二区免费入口 | 熟妇人妻无乱码中文字幕 | 亚洲精品国产a久久久久久 | 国产成人精品优优av | 亚洲色www成人永久网址 | 国产成人久久精品流白浆 | 欧美国产日产一区二区 | 强伦人妻一区二区三区视频18 | 国产免费久久精品国产传媒 | 国产97在线 | 亚洲 | 国产成人精品视频ⅴa片软件竹菊 | 最新国产麻豆aⅴ精品无码 | 日本精品少妇一区二区三区 | 亚洲人成影院在线无码按摩店 | 亚洲精品www久久久 | 国产精品人妻一区二区三区四 | 少妇厨房愉情理9仑片视频 | 丰满少妇高潮惨叫视频 | 亚洲中文无码av永久不收费 | 日本高清一区免费中文视频 | 一本大道久久东京热无码av | 女高中生第一次破苞av | 久久久精品国产sm最大网站 | 偷窥村妇洗澡毛毛多 | ass日本丰满熟妇pics | 麻豆人妻少妇精品无码专区 | 国产亚洲精品久久久ai换 | 熟妇女人妻丰满少妇中文字幕 | 国产无遮挡吃胸膜奶免费看 | 久久久精品欧美一区二区免费 | 国产绳艺sm调教室论坛 | 国语自产偷拍精品视频偷 | 动漫av网站免费观看 | 5858s亚洲色大成网站www | 亚洲精品国偷拍自产在线麻豆 | 日欧一片内射va在线影院 | 牲欲强的熟妇农村老妇女 | 夜先锋av资源网站 | 久久精品国产一区二区三区 | 蜜桃臀无码内射一区二区三区 | 国产成人无码av在线影院 | 久9re热视频这里只有精品 | 欧美亚洲日韩国产人成在线播放 | 国产乱人伦偷精品视频 | 欧美大屁股xxxxhd黑色 | 欧美日韩在线亚洲综合国产人 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲中文字幕乱码av波多ji | 久久久成人毛片无码 | 国语精品一区二区三区 | 日韩av无码一区二区三区 | 国产精品久久久久久亚洲影视内衣 | 最近的中文字幕在线看视频 | 亚洲欧美综合区丁香五月小说 | 久久精品无码一区二区三区 | 99久久99久久免费精品蜜桃 | 日本大香伊一区二区三区 | 98国产精品综合一区二区三区 | 中国女人内谢69xxxxxa片 | 国产av一区二区三区最新精品 | 天堂亚洲免费视频 | 久久精品中文字幕一区 | 午夜精品久久久内射近拍高清 | 久久亚洲a片com人成 | 少妇一晚三次一区二区三区 | 国产欧美熟妇另类久久久 | 亚欧洲精品在线视频免费观看 | 国产精品二区一区二区aⅴ污介绍 | 国产精品怡红院永久免费 | 日韩人妻无码一区二区三区久久99 | 国产精品人人妻人人爽 | 波多野42部无码喷潮在线 | 亚拍精品一区二区三区探花 | 国产精品第一国产精品 | 精品国产乱码久久久久乱码 | 理论片87福利理论电影 | 男女爱爱好爽视频免费看 | 中国女人内谢69xxxx | 麻豆av传媒蜜桃天美传媒 | 中国大陆精品视频xxxx | 欧美激情一区二区三区成人 | 樱花草在线播放免费中文 | 少妇邻居内射在线 | 欧美喷潮久久久xxxxx | 99久久人妻精品免费一区 | 国产一区二区三区精品视频 | 老司机亚洲精品影院无码 | 成人一区二区免费视频 | 亚洲精品国产品国语在线观看 | 久久精品国产99精品亚洲 | 久久精品中文字幕大胸 | 精品无人区无码乱码毛片国产 | 成人欧美一区二区三区黑人 | 国产色视频一区二区三区 | 中文无码成人免费视频在线观看 | 在线观看国产午夜福利片 | 少妇人妻偷人精品无码视频 | 性欧美牲交xxxxx视频 | 人人妻人人澡人人爽精品欧美 | 一区二区三区高清视频一 | 欧美性黑人极品hd | 日本va欧美va欧美va精品 | а√资源新版在线天堂 | 一区二区传媒有限公司 | 精品无码一区二区三区爱欲 | 国产成人一区二区三区别 | 亚洲中文字幕无码中字 | 亚洲中文字幕乱码av波多ji | 窝窝午夜理论片影院 | 熟妇人妻激情偷爽文 | 亚洲精品午夜国产va久久成人 | 久久亚洲中文字幕无码 | 欧美阿v高清资源不卡在线播放 | 扒开双腿吃奶呻吟做受视频 | 玩弄人妻少妇500系列视频 | 无码国产乱人伦偷精品视频 | 一个人看的www免费视频在线观看 | 国产女主播喷水视频在线观看 | 风流少妇按摩来高潮 | 无码一区二区三区在线观看 | 狠狠躁日日躁夜夜躁2020 | 国产精品久久久午夜夜伦鲁鲁 | 国产精品久久久 | 999久久久国产精品消防器材 | 精品国产av色一区二区深夜久久 | 兔费看少妇性l交大片免费 | 亚洲一区二区三区偷拍女厕 | 久久久久国色av免费观看性色 | 国产激情一区二区三区 | 亚洲男女内射在线播放 | 最近中文2019字幕第二页 | 天堂久久天堂av色综合 | 免费无码av一区二区 | 牲欲强的熟妇农村老妇女 | 色一情一乱一伦一区二区三欧美 | 亚洲精品国产精品乱码不卡 | 亚洲成在人网站无码天堂 | 精品久久8x国产免费观看 | 伊在人天堂亚洲香蕉精品区 | 亚洲乱亚洲乱妇50p | 欧美真人作爱免费视频 | 高潮毛片无遮挡高清免费 | 国产成人精品视频ⅴa片软件竹菊 | 女人被男人躁得好爽免费视频 | 亚洲一区二区三区国产精华液 | 人妻少妇精品无码专区二区 | 中文字幕无码av波多野吉衣 | 久久精品99久久香蕉国产色戒 | 国产乱人伦偷精品视频 | 久久综合九色综合97网 | 久久婷婷五月综合色国产香蕉 | 国产成人久久精品流白浆 | 久久天天躁狠狠躁夜夜免费观看 | 奇米影视888欧美在线观看 | 人妻少妇精品无码专区二区 | 人妻aⅴ无码一区二区三区 | 国产两女互慰高潮视频在线观看 | 亚洲一区二区三区播放 | 国产99久久精品一区二区 | 又粗又大又硬又长又爽 | 欧美日本精品一区二区三区 | 色综合久久88色综合天天 | 亚洲一区二区三区在线观看网站 | 欧美熟妇另类久久久久久不卡 | 大地资源中文第3页 | 国产人妻精品一区二区三区不卡 | 中文精品无码中文字幕无码专区 | 蜜桃视频插满18在线观看 | 国产网红无码精品视频 | 色欲人妻aaaaaaa无码 | 兔费看少妇性l交大片免费 | 亚洲精品一区二区三区大桥未久 | 波多野结衣av在线观看 | 久久99精品久久久久久动态图 | 国产亚洲日韩欧美另类第八页 | 无码人妻精品一区二区三区不卡 | 女人被男人爽到呻吟的视频 | 国产精品99爱免费视频 | 日本www一道久久久免费榴莲 | 搡女人真爽免费视频大全 | 色情久久久av熟女人妻网站 | 久久久久久久女国产乱让韩 | 老子影院午夜精品无码 | 精品久久久无码人妻字幂 | 99久久精品午夜一区二区 | 国产人妻精品午夜福利免费 | 精品无人国产偷自产在线 | 乱码午夜-极国产极内射 | 强奷人妻日本中文字幕 | 国产性生交xxxxx无码 | 黄网在线观看免费网站 | 三上悠亚人妻中文字幕在线 | 国内精品九九久久久精品 | 爽爽影院免费观看 | 久久99精品国产麻豆蜜芽 | 西西人体www44rt大胆高清 | 久久久久亚洲精品男人的天堂 | 色噜噜亚洲男人的天堂 | 久久99精品久久久久久动态图 | 国产av无码专区亚洲a∨毛片 | 成人无码视频免费播放 | 国产xxx69麻豆国语对白 | 人人爽人人澡人人人妻 | 熟妇人妻无乱码中文字幕 | 影音先锋中文字幕无码 | 精品无人区无码乱码毛片国产 | 久久成人a毛片免费观看网站 | 日本精品少妇一区二区三区 | 欧美熟妇另类久久久久久不卡 | 无码播放一区二区三区 | 精品无人区无码乱码毛片国产 | 午夜精品久久久内射近拍高清 | 亚洲经典千人经典日产 | 免费网站看v片在线18禁无码 | 国产亚洲精品久久久闺蜜 | 久久99精品国产麻豆蜜芽 | 欧美丰满熟妇xxxx性ppx人交 | 丰满人妻一区二区三区免费视频 | 久久久精品456亚洲影院 | 欧美日韩久久久精品a片 | 2020最新国产自产精品 | 最新国产乱人伦偷精品免费网站 | 亚洲小说图区综合在线 | 67194成是人免费无码 | 国产亚洲精品久久久久久 | 亚洲区欧美区综合区自拍区 | 爽爽影院免费观看 | 人妻少妇被猛烈进入中文字幕 | 亚洲综合伊人久久大杳蕉 | 免费男性肉肉影院 | 国产极品视觉盛宴 | 欧美激情综合亚洲一二区 | 国产香蕉尹人综合在线观看 | 乱人伦中文视频在线观看 | 18精品久久久无码午夜福利 | 国产成人精品视频ⅴa片软件竹菊 | 男女爱爱好爽视频免费看 | 精品一区二区三区波多野结衣 | 欧美国产日产一区二区 | 精品人妻中文字幕有码在线 | 老熟妇乱子伦牲交视频 | 2019午夜福利不卡片在线 | 76少妇精品导航 | 扒开双腿吃奶呻吟做受视频 | v一区无码内射国产 | 国产成人精品优优av | 未满成年国产在线观看 | 国产特级毛片aaaaaa高潮流水 | 欧美自拍另类欧美综合图片区 | 成人免费视频视频在线观看 免费 | 久久久精品成人免费观看 | 精品国精品国产自在久国产87 | 国产无遮挡又黄又爽又色 | 六十路熟妇乱子伦 | 麻豆国产97在线 | 欧洲 | 亚洲综合色区中文字幕 | 国产成人综合在线女婷五月99播放 | 精品国产aⅴ无码一区二区 | 女人被男人躁得好爽免费视频 | 亚洲精品成a人在线观看 | 精品国产一区二区三区四区 | 久久久婷婷五月亚洲97号色 | 欧美丰满老熟妇xxxxx性 | 亚洲中文字幕无码一久久区 | 爽爽影院免费观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲欧洲中文日韩av乱码 | 亚洲码国产精品高潮在线 | 国产熟妇另类久久久久 | 国产精品久久久午夜夜伦鲁鲁 | 300部国产真实乱 | 亚洲七七久久桃花影院 | 久久久久久久久蜜桃 | 亚洲成av人在线观看网址 | 99久久精品午夜一区二区 | 在线观看免费人成视频 | 国产做国产爱免费视频 | 久久久久久亚洲精品a片成人 | 国产三级精品三级男人的天堂 | 成人亚洲精品久久久久软件 | 欧美激情综合亚洲一二区 | 性欧美videos高清精品 | 国内精品九九久久久精品 | а√资源新版在线天堂 | 在线 国产 欧美 亚洲 天堂 | 丰满少妇高潮惨叫视频 | 动漫av一区二区在线观看 | 亚洲综合另类小说色区 | 九九综合va免费看 | 国产又爽又黄又刺激的视频 | 亚洲乱码国产乱码精品精 | 亚洲国产综合无码一区 | 激情内射亚州一区二区三区爱妻 | 成人av无码一区二区三区 | 国产精品人人爽人人做我的可爱 | 久久综合九色综合欧美狠狠 | 性史性农村dvd毛片 | 1000部啪啪未满十八勿入下载 | 精品欧洲av无码一区二区三区 | 中文字幕乱码人妻无码久久 | 97久久国产亚洲精品超碰热 | 欧美国产日产一区二区 | 中文字幕无码日韩专区 | 乱中年女人伦av三区 | 国产人妻大战黑人第1集 | 在线成人www免费观看视频 | 俺去俺来也在线www色官网 | 色婷婷综合中文久久一本 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲熟熟妇xxxx | a片免费视频在线观看 | 无码av最新清无码专区吞精 | 亚洲男女内射在线播放 | 久久综合色之久久综合 | 日本www一道久久久免费榴莲 | 蜜臀aⅴ国产精品久久久国产老师 | 午夜福利试看120秒体验区 | 精品欧洲av无码一区二区三区 | 亚洲 高清 成人 动漫 | 亚洲一区二区三区四区 | 国产亚洲精品久久久ai换 | 久久人人爽人人人人片 | 亚洲中文无码av永久不收费 | 亚洲第一无码av无码专区 | 男人扒开女人内裤强吻桶进去 | 国产成人久久精品流白浆 | 免费无码午夜福利片69 | 99久久人妻精品免费一区 | 综合网日日天干夜夜久久 | 蜜桃无码一区二区三区 | 国产成人无码专区 | 乱人伦人妻中文字幕无码 | 国产卡一卡二卡三 | 东京热男人av天堂 | 曰韩少妇内射免费播放 | 国产亚洲欧美在线专区 | 亚洲aⅴ无码成人网站国产app | 国产真实夫妇视频 | 亚洲精品无码人妻无码 | 麻豆精品国产精华精华液好用吗 | 国产精品沙发午睡系列 | 少妇无码一区二区二三区 | aⅴ在线视频男人的天堂 | 国产无遮挡又黄又爽又色 | 亚洲自偷自偷在线制服 | 亚洲经典千人经典日产 | 日韩精品久久久肉伦网站 | 精品无码av一区二区三区 | 精品人人妻人人澡人人爽人人 | 天天做天天爱天天爽综合网 | 国产免费久久精品国产传媒 | 免费无码av一区二区 | 男女爱爱好爽视频免费看 | 亚洲一区二区观看播放 | 精品一区二区不卡无码av | 国产精品亚洲专区无码不卡 | 日本熟妇浓毛 | 日韩精品无码一本二本三本色 | 福利一区二区三区视频在线观看 | 国产69精品久久久久app下载 | 亚洲国产精品久久久天堂 | 国产肉丝袜在线观看 | 色综合天天综合狠狠爱 | 7777奇米四色成人眼影 | 永久免费观看美女裸体的网站 | 中文字幕亚洲情99在线 | 久久99精品国产.久久久久 | 激情综合激情五月俺也去 | 国内精品一区二区三区不卡 | 亚洲а∨天堂久久精品2021 | 成人精品一区二区三区中文字幕 | 欧美性色19p | 国产猛烈高潮尖叫视频免费 | 亚洲春色在线视频 | 亚洲色欲久久久综合网东京热 | 欧美人与牲动交xxxx | 久久亚洲国产成人精品性色 | 久在线观看福利视频 | 俄罗斯老熟妇色xxxx | 无遮挡国产高潮视频免费观看 | 人妻少妇被猛烈进入中文字幕 | av无码久久久久不卡免费网站 | 色欲av亚洲一区无码少妇 | 日产精品高潮呻吟av久久 | 久久久亚洲欧洲日产国码αv | 永久免费观看国产裸体美女 | 国产 浪潮av性色四虎 | 久久综合九色综合欧美狠狠 | 熟女少妇人妻中文字幕 | 人妻夜夜爽天天爽三区 | 免费播放一区二区三区 | 亚洲精品中文字幕久久久久 | 亚洲乱亚洲乱妇50p | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲一区二区三区偷拍女厕 | 精品无码国产一区二区三区av | 国产精品99久久精品爆乳 | 无人区乱码一区二区三区 | 午夜精品一区二区三区的区别 | 国产熟妇另类久久久久 | 成人性做爰aaa片免费看不忠 | 成年美女黄网站色大免费全看 | 亚洲欧美综合区丁香五月小说 | 亚洲国产成人a精品不卡在线 | 久久婷婷五月综合色国产香蕉 | 亚洲日本一区二区三区在线 | 少妇愉情理伦片bd | 999久久久国产精品消防器材 | 国产又爽又猛又粗的视频a片 | 日本一区二区三区免费高清 | 中文字幕无码免费久久9一区9 | 国产在线精品一区二区三区直播 | 18精品久久久无码午夜福利 | 久久国产精品二国产精品 | 玩弄人妻少妇500系列视频 | 国产手机在线αⅴ片无码观看 | 亚洲中文无码av永久不收费 | 午夜福利不卡在线视频 | 国产亚洲精品久久久久久 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产乱人伦av在线无码 | 亚洲小说图区综合在线 | 男人扒开女人内裤强吻桶进去 | 亚洲中文字幕无码中字 | 77777熟女视频在线观看 а天堂中文在线官网 | 丰满人妻被黑人猛烈进入 | 人妻尝试又大又粗久久 | 亚洲日韩乱码中文无码蜜桃臀网站 | av无码不卡在线观看免费 | 中国女人内谢69xxxx | 欧美精品国产综合久久 | 两性色午夜视频免费播放 | 国产猛烈高潮尖叫视频免费 | 一本色道婷婷久久欧美 | 色 综合 欧美 亚洲 国产 | 欧美自拍另类欧美综合图片区 | 国产精品亚洲一区二区三区喷水 | aa片在线观看视频在线播放 | 精品人人妻人人澡人人爽人人 | 伊人久久婷婷五月综合97色 | 亚洲七七久久桃花影院 | 人人澡人人妻人人爽人人蜜桃 | 未满成年国产在线观看 | 丰满人妻翻云覆雨呻吟视频 | 日韩欧美中文字幕公布 | 亚洲色偷偷男人的天堂 | 狠狠cao日日穞夜夜穞av | 精品国产一区二区三区四区在线看 | 欧美精品国产综合久久 | 人妻少妇被猛烈进入中文字幕 | 欧美乱妇无乱码大黄a片 | 丰满肥臀大屁股熟妇激情视频 | 国产suv精品一区二区五 | 欧美性生交活xxxxxdddd | 人人爽人人澡人人高潮 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品.xx视频.xxtv | 精品aⅴ一区二区三区 | 性欧美大战久久久久久久 | 国产精品视频免费播放 | 成熟女人特级毛片www免费 | 又粗又大又硬又长又爽 | 亚洲国产精品毛片av不卡在线 | 国产99久久精品一区二区 | 国产成人无码区免费内射一片色欲 | 久久久中文字幕日本无吗 | 在线 国产 欧美 亚洲 天堂 | 在线播放亚洲第一字幕 | 久久久久久久久蜜桃 | 国产人成高清在线视频99最全资源 | 国产在线一区二区三区四区五区 | 亚洲国产精品毛片av不卡在线 | 午夜肉伦伦影院 | 亚洲精品欧美二区三区中文字幕 | 国产午夜精品一区二区三区嫩草 | 亚洲色大成网站www国产 | 免费无码肉片在线观看 | 无码人妻丰满熟妇区毛片18 | 欧美精品国产综合久久 | 国产精品免费大片 | 色狠狠av一区二区三区 | 欧美xxxxx精品 | 少妇愉情理伦片bd | 亚洲一区二区三区香蕉 | 亚洲精品成人av在线 | 无码中文字幕色专区 | 国产成人精品久久亚洲高清不卡 | 日本护士xxxxhd少妇 | 国产精品国产三级国产专播 | 国产成人无码午夜视频在线观看 | 国产成人综合色在线观看网站 | 免费人成在线观看网站 | 国产乱人伦偷精品视频 | 一本大道伊人av久久综合 | 人人爽人人爽人人片av亚洲 | 久久久无码中文字幕久... | 国产精品无码成人午夜电影 | 国内少妇偷人精品视频免费 | 俄罗斯老熟妇色xxxx | 久久人人97超碰a片精品 | 欧美放荡的少妇 | 亚洲精品久久久久中文第一幕 | 波多野结衣乳巨码无在线观看 | 国产激情艳情在线看视频 | 在线看片无码永久免费视频 | 国产精品久久久久久亚洲影视内衣 | 亚洲午夜无码久久 | 国产精品第一区揄拍无码 | 亚洲精品无码人妻无码 | 999久久久国产精品消防器材 | 久久99精品久久久久婷婷 | 亚洲国产精品无码久久久久高潮 | 中文字幕乱码人妻无码久久 | 三上悠亚人妻中文字幕在线 | 国产人成高清在线视频99最全资源 | 色狠狠av一区二区三区 | 天堂久久天堂av色综合 | 久久精品国产99精品亚洲 | 久久午夜无码鲁丝片 | 国产精品无码一区二区三区不卡 | 亚洲人成网站免费播放 | 欧美人与禽猛交狂配 | 亚洲色欲久久久综合网东京热 | 久久国产36精品色熟妇 | 午夜不卡av免费 一本久久a久久精品vr综合 | √天堂中文官网8在线 | 国产成人精品优优av | 少妇被黑人到高潮喷出白浆 | 日韩精品a片一区二区三区妖精 | 国产一区二区三区影院 | 美女张开腿让人桶 | 99久久人妻精品免费二区 | 日本护士xxxxhd少妇 | 色 综合 欧美 亚洲 国产 | 强伦人妻一区二区三区视频18 | 日韩精品久久久肉伦网站 | 黑人大群体交免费视频 | 午夜福利电影 | 亚洲国产欧美日韩精品一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 蜜桃av抽搐高潮一区二区 | 国产精品怡红院永久免费 | 国产人妻久久精品二区三区老狼 | 国产亚洲欧美日韩亚洲中文色 | 亚洲性无码av中文字幕 | 久久熟妇人妻午夜寂寞影院 | 一本久久伊人热热精品中文字幕 | 少妇激情av一区二区 | 日韩人妻无码中文字幕视频 | 久久综合狠狠综合久久综合88 | 久久精品国产99久久6动漫 | 色老头在线一区二区三区 | 中文字幕乱码亚洲无线三区 | 88国产精品欧美一区二区三区 | 啦啦啦www在线观看免费视频 | 精品国产一区二区三区av 性色 | 1000部夫妻午夜免费 | 水蜜桃亚洲一二三四在线 | 伊人久久婷婷五月综合97色 | 成人欧美一区二区三区黑人免费 | 精品国产麻豆免费人成网站 | 成熟妇人a片免费看网站 | 精品厕所偷拍各类美女tp嘘嘘 | 国产日产欧产精品精品app | www国产精品内射老师 | 偷窥日本少妇撒尿chinese | 东京一本一道一二三区 | 欧美色就是色 | 国产特级毛片aaaaaaa高清 | 熟妇人妻中文av无码 | 在教室伦流澡到高潮hnp视频 | 无码人妻av免费一区二区三区 | 国产亚洲欧美在线专区 | 精品久久久中文字幕人妻 | 奇米影视7777久久精品人人爽 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲性无码av中文字幕 | 国内丰满熟女出轨videos | 中文字幕人妻无码一夲道 | 欧洲欧美人成视频在线 | 性生交大片免费看女人按摩摩 | 色婷婷久久一区二区三区麻豆 | 最近的中文字幕在线看视频 | 欧美freesex黑人又粗又大 | 中文字幕精品av一区二区五区 | 成年女人永久免费看片 | 国产精品多人p群无码 | 国产明星裸体无码xxxx视频 | 免费人成在线观看网站 | 水蜜桃亚洲一二三四在线 | 男人扒开女人内裤强吻桶进去 | 国精品人妻无码一区二区三区蜜柚 | 国内精品九九久久久精品 | 在线播放免费人成毛片乱码 | 88国产精品欧美一区二区三区 | 四虎影视成人永久免费观看视频 | 久9re热视频这里只有精品 | 婷婷丁香六月激情综合啪 | 亚洲呦女专区 | 亚洲国产成人a精品不卡在线 | 久久久久免费精品国产 | 欧美激情综合亚洲一二区 | 色偷偷人人澡人人爽人人模 | 又色又爽又黄的美女裸体网站 | 蜜桃臀无码内射一区二区三区 | 十八禁视频网站在线观看 | 在线亚洲高清揄拍自拍一品区 | 久久久久国色av免费观看性色 | 亚洲人成人无码网www国产 | 久久综合网欧美色妞网 | 狠狠色噜噜狠狠狠7777奇米 | 精品国偷自产在线视频 | 欧美精品在线观看 | 大肉大捧一进一出视频出来呀 | 国产精品无套呻吟在线 | 十八禁真人啪啪免费网站 | 又色又爽又黄的美女裸体网站 | 久久久久久久人妻无码中文字幕爆 | 中文字幕av无码一区二区三区电影 | 久久精品国产一区二区三区 | 国产一区二区三区精品视频 | 欧美一区二区三区 | 欧美午夜特黄aaaaaa片 | 国产人妻人伦精品 | 亚洲欧美国产精品久久 | 亚洲精品综合五月久久小说 | 亚洲精品中文字幕 | 在线a亚洲视频播放在线观看 | 暴力强奷在线播放无码 | 高清无码午夜福利视频 | 精品亚洲韩国一区二区三区 | 国产女主播喷水视频在线观看 | 内射爽无广熟女亚洲 | 无遮无挡爽爽免费视频 | 亚洲人成网站免费播放 | 国产成人综合色在线观看网站 | 久久综合九色综合97网 | 日本丰满护士爆乳xxxx | 男人的天堂av网站 | 丝袜人妻一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 国内少妇偷人精品视频免费 | 99久久精品午夜一区二区 | 天堂亚洲2017在线观看 | 日产精品高潮呻吟av久久 | 国产精品丝袜黑色高跟鞋 | 国产亚洲精品久久久久久国模美 | 在线精品国产一区二区三区 | 西西人体www44rt大胆高清 | 国模大胆一区二区三区 | 最近的中文字幕在线看视频 | 人人妻人人澡人人爽欧美一区 | 人人爽人人澡人人高潮 | 亚洲精品无码国产 | 亚洲国产精华液网站w | 99久久精品国产一区二区蜜芽 | 国产深夜福利视频在线 | 欧美阿v高清资源不卡在线播放 | 国产免费久久久久久无码 | 日本又色又爽又黄的a片18禁 | 成人试看120秒体验区 | 老熟妇仑乱视频一区二区 | av香港经典三级级 在线 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产偷抇久久精品a片69 | 中国女人内谢69xxxxxa片 | 麻豆人妻少妇精品无码专区 | 精品国产福利一区二区 | 日日摸日日碰夜夜爽av | 日日摸天天摸爽爽狠狠97 | 国产凸凹视频一区二区 | 大胆欧美熟妇xx | 中文亚洲成a人片在线观看 | 国产色视频一区二区三区 | 亚洲一区二区三区在线观看网站 | 99久久婷婷国产综合精品青草免费 | 国产精品亚洲а∨无码播放麻豆 | 久久精品成人欧美大片 | 久久精品视频在线看15 | 无码吃奶揉捏奶头高潮视频 | 国产精品久久久久9999小说 | 夜夜躁日日躁狠狠久久av | 亚洲午夜久久久影院 | 久久国产精品_国产精品 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 黑人粗大猛烈进出高潮视频 | 一本精品99久久精品77 | 精品午夜福利在线观看 | 亚洲欧美日韩成人高清在线一区 | 欧美人与禽猛交狂配 | 最新国产麻豆aⅴ精品无码 | 18禁止看的免费污网站 | 国产精品二区一区二区aⅴ污介绍 | 奇米影视888欧美在线观看 | 欧美性色19p | 日韩精品a片一区二区三区妖精 | 亚洲精品国偷拍自产在线麻豆 | 色妞www精品免费视频 | 成人影院yy111111在线观看 | 亚洲综合色区中文字幕 | 中文字幕日韩精品一区二区三区 | 少妇人妻偷人精品无码视频 | 秋霞成人午夜鲁丝一区二区三区 | 九一九色国产 | 国产办公室秘书无码精品99 | 十八禁视频网站在线观看 | 国产精品igao视频网 | 国产美女极度色诱视频www | 天天拍夜夜添久久精品大 | 3d动漫精品啪啪一区二区中 | 蜜臀aⅴ国产精品久久久国产老师 | 漂亮人妻洗澡被公强 日日躁 | 精品成在人线av无码免费看 | 中文字幕+乱码+中文字幕一区 | 精品夜夜澡人妻无码av蜜桃 | 国产人妖乱国产精品人妖 | 亚洲国产精品一区二区第一页 | 亚无码乱人伦一区二区 | 国产激情无码一区二区app | 蜜臀av在线播放 久久综合激激的五月天 | 男女猛烈xx00免费视频试看 | 荫蒂被男人添的好舒服爽免费视频 | 国产一区二区三区精品视频 | 色综合视频一区二区三区 | 少妇无套内谢久久久久 | 黑人巨大精品欧美一区二区 | 国产美女精品一区二区三区 | 国内丰满熟女出轨videos | 人妻少妇被猛烈进入中文字幕 | 大肉大捧一进一出视频出来呀 | 亚洲日本在线电影 | 国产艳妇av在线观看果冻传媒 | 鲁鲁鲁爽爽爽在线视频观看 | 国产偷自视频区视频 | 国产在线精品一区二区三区直播 | 中国女人内谢69xxxx | 亚洲精品欧美二区三区中文字幕 | 中文字幕人妻无码一夲道 | 无码国产乱人伦偷精品视频 | 天海翼激烈高潮到腰振不止 | 99久久精品国产一区二区蜜芽 | 国产肉丝袜在线观看 | 国产办公室秘书无码精品99 | 国产成人久久精品流白浆 | 99久久人妻精品免费一区 | 欧美日本免费一区二区三区 | 亚洲国产午夜精品理论片 | 亚洲一区二区三区国产精华液 | 嫩b人妻精品一区二区三区 | 久久久久免费看成人影片 | 久久精品国产99精品亚洲 | 国产疯狂伦交大片 | 久久精品人妻少妇一区二区三区 | 无码午夜成人1000部免费视频 | 丁香花在线影院观看在线播放 | 国产性生交xxxxx无码 | 大胆欧美熟妇xx | 欧美国产日韩久久mv | 九九久久精品国产免费看小说 | 俺去俺来也www色官网 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 好屌草这里只有精品 | а√资源新版在线天堂 | 亚欧洲精品在线视频免费观看 | 亚洲成av人综合在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 午夜无码人妻av大片色欲 | 亚洲色欲色欲欲www在线 | 国产精品福利视频导航 | 久久精品中文闷骚内射 | 色五月五月丁香亚洲综合网 | 玩弄人妻少妇500系列视频 | 无码人妻久久一区二区三区不卡 | 成人片黄网站色大片免费观看 | 亚洲色欲久久久综合网东京热 | 国产精品沙发午睡系列 | а天堂中文在线官网 | 欧美人与物videos另类 | 亚洲区欧美区综合区自拍区 | 十八禁视频网站在线观看 | 国产精品亚洲а∨无码播放麻豆 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 免费观看激色视频网站 | 日本精品高清一区二区 | 人人妻人人澡人人爽人人精品浪潮 | 无码吃奶揉捏奶头高潮视频 | 亚洲综合精品香蕉久久网 | 国产精品久久国产三级国 | 国产成人精品三级麻豆 | 午夜肉伦伦影院 | 亚洲日韩精品欧美一区二区 | 3d动漫精品啪啪一区二区中 | 国产莉萝无码av在线播放 |