MTK_Android-Camera
来源:互联网 发布:linux secure文件 编辑:程序博客网 时间:2024/06/05 22:14
转载出处:http://blog.csdn.net/cbk861110/article/details/17437283
7.camera
7.1 相关代码位置:mediatek\config\XXXX(红色字为具体的项目名)
文件:ProjectConfig.mk
CUSTOM_KERNEL_IMGSENSOR = …… gc2235_raw
CUSTOM_KERNEL_MAIN_IMGSENSOR = …… gc2235_raw
CUSTOM_HAL_IMGSENSOR = …… gc2235_raw
CUSTOM_HAL_MAIN_IMGSENSOR = …… gc2235_raw
kernel:
\mediatek\custom\common\kernel\imgsensor\gc2235_raw
mediatek\custom\common\kernel\imgsensor\src
文件:kd_sensorlist.h
添加内容:
UINT32 GC2235SensorInit(PSENSOR_FUNCTION_STRUCT *pfFunc);
ACDK_KD_SENSOR_INIT_FUNCTION_STRUCT
kdSensorList[MAX_NUM_OF_SUPPORT_SENSOR+1] =
{
#if defined(GC2235_RAW)
{GC2235_SENSOR_ID, SENSOR_DRVNAME_GC2235_RAW, GC2235SensorInit},
#endif
};
mediatek\custom\common\kernel\imgsensor\inc
文件:kd_imgsensor.h
添加内容:
#define GC2235_SENSOR_ID 0x2235
#define SENSOR_DRVNAME_GC2235_RAW "gc2235"
hal
\mediatek\custom\common\hal\imgsensor\gc2235_raw
mediatek\custom\common\hal\imgsensor\src
文件:sensorlist.cpp
添加内容:
MSDK_SENSOR_INIT_FUNCTION_STRUCT SensorList[] =
{
…………
#if defined(GC2235_RAW)
RAW_INFO(GC2235_SENSOR_ID, SENSOR_DRVNAME_GC2235_RAW, NULL),
#endif
…………
};
注意:在 kd_SensorList.h 和 SensorList.cpp 里面添加驱动的时候要注意,Sensor 添加的位置要一样。否则驱动会跑乱,轻则 ISP 参数不对,重则 Sensor 无法启动。
7.2 拍照图片尺寸设置:
..\mediatek\custom\\hal\camera\camera\cfg_ftbl_$prj$_raw_main.h
//Capture Size
CONFIG_FEATURE(FID_CAP_SIZE,
BY_DEFAULT(CAPTURE_SIZE_1600_1200),
/*BY_DEFAULT(CAPTURE_SIZE_2560_1920), modify*/
CAPTURE_SIZE_640_480,
CAPTURE_SIZE_1280_960, CAPTURE_SIZE_1600_1200,
)
7.3 Camera物理角度旋转
90度:
\alps\mediatek\custom\$prj$\hal\imgsensor\src\cfg_setting_imgsensor.cpp
static SensorOrientation_T const inst = {
u4Degree_0 : 180,//90, // main sensor in degree (0, 90, 180, 270)
u4Degree_1 : 0,//90, // sub sensor in degree (0, 90, 180, 270)
180度:
Sensor FAE提供修改方法。
7.4 Camera 相同sensor id兼容方式(前后sensor id 一致):
//配置区分:
CUSTOM_KERNEL_IMGSENSOR = gc0308_yuv # gc0308_sub_yuv
CUSTOM_KERNEL_MAIN_IMGSENSOR = gc0308_yuv # gc0308_sub_yuv
CUSTOM_HAL_IMGSENSOR = gc0308_yuv # gc0308_sub_yuv
CUSTOM_HAL_MAIN_IMGSENSOR = gc0308_yuv # gc0308_sub_yuv
//kernel:函数名也要区分
\alps\mediatek\custom\common\kernel\imgsensor\gc0308_sub_yuv
\alps\mediatek\custom\common\kernel\imgsensor\gc0308_yuv
//hal: 函数名也要区分
\alps\mediatek\custom\common\hal\imgsensor\gc0308_sub_yuv
\alps\mediatek\custom\common\hal\imgsensor\gc0308_yuv
//kdSensorList 和 SensorList 里面添加驱动也要区分,sensor id不要区分,写成一致,根据前后摄像头开关代码区分。
\alps\mediatek\custom\common\kernel\imgsensor\inc \kd_imgsensor.h
#define GC0328_SENSOR_ID 0x009D
#define GC0328_SUB_SENSOR_ID 0x9D9D
#define SENSOR_DRVNAME_GC2235_RAW "gc2235raw"//ben modify
#define SENSOR_DRVNAME_GC2235_FRONT_RAW "gc2235frontraw" //ben modify
\alps\mediatek\custom\common\kernel\imgsensor\src\kd_sensorlist.h
UINT32 GC2235_FRONTSensorInit(PSENSOR_FUNCTION_STRUCT *pfFunc);//cbk add
#if defined(GC2235_FRONT_RAW) //ben add
{GC2235_FRONT_SENSOR_ID,SENSOR_DRVNAME_GC2235_FRONT_RAW,GC2235_FRONTSensorInit},
#endif
mediatek\custom\common\hal\imgsensor\src\sensorlist.cpp
MSDK_SENSOR_INIT_FUNCTION_STRUCT SensorList[] =
{
#if defined(GC2235_FRONT_RAW) //cbk add
RAW_INFO(GC2235_FRONT_SENSOR_ID, SENSOR_DRVNAME_GC2235_FRONT_RAW, NULL),
#endif
};
\alps\mediatek\custom\common\kernel\imgsensor\gc0328frontyuv_Sensor.c
GC0328_FRONTGetSensorID(){
if (sensor_id == GC0328_SENSOR_ID) {
sensor_id = GC0328_FRONT_SENSOR_ID; //---lcz
break;
}
if(sensor_id != GC0328_FRONT_SENSOR_ID) //---lcz
{
return ERROR_SENSOR_CONNECT_FAIL;
}
}
GC0328_FRONTOpen (){
if (sensor_id == GC0328_SENSOR_ID) {
sensor_id = GC0328_FRONT_SENSOR_ID; //---lcz
break;
}
if(sensor_id != GC0328_FRONT_SENSOR_ID) {
return ERROR_SENSOR_CONNECT_FAIL;
}
}
0 0
- MTK_Android-Camera
- MTK_android notes
- 如何搭建 MTK_Android模拟器
- MTK_Android编译指令
- MTK_Android文件路径
- MTK_android项目驱动设置
- MTK_android项目驱动设置
- ubuntu搭建MTK_android编译环境
- MTK_android升级包的制作
- camera
- Camera
- camera
- Camera
- Camera
- camera
- camera
- Camera
- camera
- Python学习第二天
- Parentheses Balance
- github readme 格式
- 模块间引用的编译错误
- 内部类和外部类之间互相访问
- MTK_Android-Camera
- 视频监控实现思路(移动端)
- iOS 获取当前网络模式
- 在Ubuntu中安装twisted
- 给sublime text3添加rust自动提示
- 引用一个自定义类库中不包含相应的实体类
- boost编译
- Rect类
- eclipse 启动失败,报错org.eclipse.swt.SWTException: Failed to execute runnable