Soc-Camera Subsystem(阅读理解与记录)

1.三要素

camera/camera device/came sensor, 通常指带有I2C接口作为控制与配置,并行或串行总线作为图像数据传输通道的传感器。
camera host, 提供sensor连接的接口。
came host bus, 数据通道,包含时钟,控制总线,图像同步信号等。

2.目的

早期是为host驱动和sensor驱动提供统一的接口,后来sensor API被V4L2标准子设备API代替,这也使得,没有host的情况下,camera驱动代码可以复用。

3.Camera Host API

使用下列函数注册host
soc_camera_host_register(struct soc_camera_host )
host相关的方法接口通过下列结构体传递:
static struct soc_camera_host_ops camera_host_ops = {
.owner = THIS_MODULE,
.add = camera_add_device,
.remove = camera_remove_device,
.set_fmt = camera_set_fmt_cap,
.try_fmt = camera_try_fmt_cap,
.init_videobuf2 = camera_init_videobuf2,
.poll = camera_poll,
.querycap = camera_querycap,
.set_bus_param = camera_set_bus_param,
/
The rest of host operations are optional */
};
其中,当sensor连接或者断开连接时,会分别调用add,remove方法。

4.Camera API

sensor使用platform提供的soc_camera_link,来指定sensor连接到哪个host总线,该结构体通过I2C client platform数据来传递给camera driver(soc_camera_i2c_to_link)。

5.S_CROP, S_FMT behaviour

VIDIOC_S_CROP, 设置sensor窗口位置和大小,单位是pixel,支持缩放。
VIDIOC_S_FMT, 设置用户窗口,应当尽量维持先前设定的sensor窗口,只更改缩放比例,如果sensor窗口发生变换,用户窗口也会发生变化。
裁剪和缩放可以发生在两个地方,sensor端和host端,高效的做法是在sensor端做缩放和裁剪,这样可以节省总线带宽;

6.Format conversion

V4L2可以区分piexel数据类型。soc-camera提供不同类型数据格式的专科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值