[RK3288][Android6.0] 调试笔记 --- 同时支持多颗Camera打开的问题

在ROCKCHIP的RK3288平台上,运行Android 6.0系统时,内核3.10.92存在限制,HAL层仅允许同一时间打开一颗Camera。问题源于`CameraHal_Module.h`文件中定义的`CAMERAS_SUPPORTED_SIMUL_MAX`为1。要支持同时打开多颗Camera,只需将该值改为2,但实际由于ISP限制,最多只能同时开启3颗,包括1颗raw sensor和2颗YUV Camera,如USB Camera。
摘要由CSDN通过智能技术生成
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92


有遇到若干朋友在做Camera模块的时候说同一时间只能打开一颗Camera, 这是因为RK在HAL层
把Camera最大的support number限制成了1.

hardware/rockchip/camera/CameraHal/CameraHal_Module.h
#define CAMERAS_SUPPORT_MAX             2
#define CAMERAS_SUPPORTED_SIMUL_MAX     1

调用处:
int camera_device_open(const hw_module_t* module, const char* name,
                hw_device_t** device)
{
......
    if(gCamerasOpen >= CAMERAS_SUPPORTED_SIMUL_MAX) {
        LOGE("maximum number(%d) of cameras already open",gCamerasOpen);
        rv = -EUSERS;
        goto fail;
    }
......
}
也就是说同一时刻只允许你打开一颗Camera.
因此只要将CAMERAS_SUPPORTED_SIMUL_MAX改成2就可以了.

那么3颗呢?
理论上是可以的,但由于rk3288平台只有一颗ISP, 所以raw sensor只能有一颗,然后可以再加两颗
YUV的Camera, 比如两颗USB Camera.

注意 CAMERAS_SUPPORT_MAX 要一起修改.

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值