Camera gc2235预览正常,拍照出现偏绿,MT6515M平台
预览:
UINT32 GC2235Preview(MSDK_sensor_EXPOSURE_WINDOW_STRUCT *image_window,
MSDK_SENSOR_CONFIG_STRUCT *sensor_config_data)
{
kal_uint16 dummy_line;
#if defined(MT6577)
SPIn_lock(&gc2235_drv_lock);
#endif
GC2235_sensor.pv_mode = KAL_TRUE;
//GC2235_set_mirror(sensor_config_data->SensorImageMirror);
switch (sensor_config_data->SensorOperationMode)
{
case MSDK_SENSOR_OPERATION_MODE_VIDEO:
GC2235_sensor.video_mode = KAL_TRUE;
dummy_line = 0;
default: /* ISP_PREVIEW_MODE */
GC2235_sensor.video_mode = KAL_FALSE;
dummy_line = 0;
}
GC2235_sensor.line_length = GC2235_PV_PERIOD_PIXEL_NUMS;
GC2235_sensor.Prv_line_length=GC2235_sensor.line_length;//For Capture Funtion to calculate capture shutter
GC2235_sensor.frame_height = GC2235_PV_PERIOD_LINE_NUMS+dummy_line;
#if defined(MT6577)
spin_unlock(&gc2235_drv_lock);
#endif
//GC2235_Write_Shutter(GC2235_sensor.shutter);
return ERROR_NONE;
} /* GC2235Preview */
拍照:
UINT32 GC2235Capture(MSDK_SENSOR_EXPOSURE_WINDOW_STRUCT *image_window,
MSDK_SENSOR_CONFIG_STRUCT *sensor_config_data)
{
const kal_uint32 pv_line_length = (kal_uint32)GC2235_sensor.Prv_line_length;
kal_uint32 shutter = (kal_uint32)GC2235_sensor.shutter;
kal_uint16 cap_fps;
printk("GC2235Capture\n");
#if defined(MT6577)
spin_lock(&gc2235_drv_lock);
#endif
GC2235_sensor.video_mode = KAL_FALSE;
GC2235AutoFlicKerMode = KAL_FALSE;
#if defined(MT6577)
spin_unlock(&gc2235_drv_lock);
#endif
//if(GC2235_sensor.pv_mode == KAL_TRUE)
{
#if defined(MT6577)
spin_lock(&gc2235_drv_lock);
#endif
GC2235_sensor.pv_mode = KAL_FALSE;
#if defined(MT6577)
spin_unlock(&gc2235_drv_lock);
#endif
}
return ERROR_NONE;
} /* GC2235_Capture() */
我看打印消息:在预览的时候的shutter值2565,在拍照的时候的shutter值却1164。我测试了很多次shutter的最大值只有1164。不知道是不是中间层有问题。还是我的驱动有问题。
是不是该把前面的几帧给丢掉?但是小弟不知道怎么丢?呵呵。等着大侠帮分析分析。
1,GC2235_Sensor_Init()中0x17 是怎么配的?
2,#define GC2235_COLOR_FORMAT 是怎么配的?
问一下GC的FAE,他们PCLK拍照跟预览的不一样,preview跟capture里面要分开写
我的 格式:SENSOR_OUTPUT_FORMAT_RAW_Gr
我的手机:
case GC2235_IMAGE_H_MIRROR://
GC2235_write_cmos_sensor(0x17,0x15);
GC2235_write_cmos_sensor(0x92,0x03);
GC2235_write_cmos_sensor(0x94,0x06);
分开写?他们定义的这两个时钟都是24M.
是pclk还是vsync的极性了,上次他们帮解过,但是我不记得了
SENSOR_OUTPUT_FORMAT_RAW_Gr 改为SENSOR_OUTPUT_FORMAT_RAW_B
我的情况是这样的:预览和拍照时这样的。http://bbs.16rd.com/forum.php?mod=attachment&aid=NDcyOXw4ZDVmOWUzMWUyMDczNDU4MDlkOWZlZjIzY2Q1NDQwYXwxNTExNDQwNDYw&request=yes&_f=.jpgattach://4730.jpg


SENSOR_OUTPUT_FORMAT_RAW_Gr 改为SENSOR_OUTPUT_FORMAT_RAW_B 这么改,试过了吗?听FAE提起过,2235的IC,0x17 的参数,必须和这个地方一一对应的,要不然有问题的。
SENSOR_OUTPUT_FORMAT_RAW_Gr 改为SENSOR_OUTPUT_FORMAT_RAW_B 这么改,试过了吗?听FAE提起过,2235的IC,0x17 的参数,必须和这个地方一一对应的,要不然有问题的。
您好。我改了。还是和原来的一样。没什么效果。您以前也有在MT6515上调过GC2335_raw吗?
你把kernel下的驱动打包我看看。
