camera: Support setting MWB and EV for yuv sensor.
MBW: auto, incandescent, daylight, flourescent, and cloudy. EV: +2, +1, 0, -1, -2 Bug: 9492735 Change-Id: Ic12cfc85741dc9472374eb2073eef31dea654780 Signed-off-by: chiayi_wu <chiayi_wu@asus.com>
This commit is contained in:
committed by
Iliyan Malchev
parent
904193844c
commit
50b5d7c960
@@ -676,11 +676,17 @@ int32_t mi1040_sensor_set_wb(struct msm_sensor_ctrl_t *s_ctrl, int wb)
|
||||
ARRAY_SIZE(Whitebalance_Daylight));
|
||||
break;
|
||||
case YUV_CAMERA_WB_FLUORESCENT:
|
||||
CDBG("--CAMERA--YUV_CAMERA_WB_DAYLIGHT\n");
|
||||
CDBG("--CAMERA--YUV_CAMERA_WB_FLUORESCENT\n");
|
||||
rc = sensor_write_table(s_ctrl,
|
||||
Whitebalance_Fluorescent,
|
||||
ARRAY_SIZE(Whitebalance_Fluorescent));
|
||||
break;
|
||||
case YUV_CAMERA_WB_CLOUDY_DAYLIGHT:
|
||||
CDBG("--CAMERA--YUV_CAMERA_WB_CLOUDY_DAYLIGHT\n");
|
||||
rc = sensor_write_table(s_ctrl,
|
||||
Whitebalance_Cloudy,
|
||||
ARRAY_SIZE(Whitebalance_Cloudy));
|
||||
break;
|
||||
default:
|
||||
rc = sensor_write_table(s_ctrl, Whitebalance_Auto,
|
||||
ARRAY_SIZE(Whitebalance_Auto));
|
||||
|
||||
@@ -626,65 +626,69 @@ static struct msm_camera_i2c_reg_conf ColorEffect_Solarize[] = {
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Whitebalance_Auto[] = {
|
||||
/* [4.1 AWB -- default] */
|
||||
{0x098E, 0x0000},
|
||||
{0xC909, 0x02, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0xC909},
|
||||
{0xC909, 0x03, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xAC04, 0x0288},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Whitebalance_Incandescent[] = {
|
||||
/* [4.5 MWB: A Light] */
|
||||
{0x098E, 0x0000},
|
||||
{0x098E, 0xC909},
|
||||
{0xC909, 0x00, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC8F0, 0x0A8C},
|
||||
{0xAC04, 0x0288},
|
||||
{0xC8F0, 0x09C4},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Whitebalance_Daylight[] = {
|
||||
/* [4.2 MWB: D65] */
|
||||
{0x098E, 0x0000},
|
||||
{0x098E, 0xC909},
|
||||
{0xC909, 0x00, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xAC04, 0x0288},
|
||||
{0xC8F0, 0x1964},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Whitebalance_Fluorescent[] = {
|
||||
/* [4.4 MWB: TL84] */
|
||||
{0x098E, 0x0000},
|
||||
{0x098E, 0xC909},
|
||||
{0xC909, 0x00, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC8F0, 0x0E74},
|
||||
{0xAC04, 0x0288},
|
||||
{0xC8F0, 0x0D67},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Whitebalance_Cloudy[] = {
|
||||
{0x098E, 0xC909},
|
||||
{0xC909, 0x00, MSM_CAMERA_I2C_BYTE_DATA} ,
|
||||
{0xAC04, 0x0208},
|
||||
{0xC8F0, 0x1964},
|
||||
{0xAC12, 0x00B4},
|
||||
{0xAC14, 0x0080},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf EV_zero[] = {
|
||||
/* [3.3 EV0: 128 -- default] */
|
||||
{0x098E, 0xC87A},
|
||||
{0xC87A, 0x3C, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC87B, 0x1E, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0x4C0A},
|
||||
{0xCC0A, 0x0037},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf EV_plus_1[] = {
|
||||
/* [3.4 EV+1: 138] */
|
||||
{0x098E, 0xC87A},
|
||||
{0xC87A, 0x42, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC87B, 0x21, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0x4C0A},
|
||||
{0xCC0A, 0x004E},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf EV_plus_2[] = {
|
||||
/* [3.5 EV+2: 148] */
|
||||
{0x098E, 0xC87A},
|
||||
{0xC87A, 0x48, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC87B, 0x24, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0x4C0A},
|
||||
{0xCC0A, 0x006E},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf EV_minus_1[] = {
|
||||
/* [3.2 EV-1: 118] */
|
||||
{0x098E, 0xC87A},
|
||||
{0xC87A, 0x36, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC87B, 0x1B, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0x4C0A},
|
||||
{0xCC0A, 0x002A},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf EV_minus_2[] = {
|
||||
/* [3.1 EV-2: 108] */
|
||||
{0x098E, 0xC87A},
|
||||
{0xC87A, 0x32, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0xC87B, 0x19, MSM_CAMERA_I2C_BYTE_DATA},
|
||||
{0x098E, 0x4C0A},
|
||||
{0xCC0A, 0x001F},
|
||||
};
|
||||
|
||||
static struct msm_camera_i2c_reg_conf Fix_30_fps[] = {
|
||||
|
||||
@@ -459,10 +459,11 @@ enum af_camera_name {
|
||||
#define YUV_CAMERA_WB_CUSTOM 1
|
||||
#define YUV_CAMERA_WB_INCANDESCENT 2
|
||||
#define YUV_CAMERA_WB_FLUORESCENT 3
|
||||
#define YUV_CAMERA_WB_DAYLIGHT 4
|
||||
#define YUV_CAMERA_WB_CLOUDY_DAYLIGHT 5
|
||||
#define YUV_CAMERA_WB_TWILIGHT 6
|
||||
#define YUV_CAMERA_WB_SHADE 7
|
||||
#define YUV_CAMERA_WB_WARM_FLUORESCENT 4
|
||||
#define YUV_CAMERA_WB_DAYLIGHT 5
|
||||
#define YUV_CAMERA_WB_CLOUDY_DAYLIGHT 6
|
||||
#define YUV_CAMERA_WB_TWILIGHT 7
|
||||
#define YUV_CAMERA_WB_SHADE 8
|
||||
|
||||
#define CAMERA_EXPOSURE_COMPENSATION_LV0 12
|
||||
#define CAMERA_EXPOSURE_COMPENSATION_LV1 6
|
||||
|
||||
Reference in New Issue
Block a user