Windows Mobile Camera Driver Buffer的管理

本文介绍Camera应用中的Buffer管理机制,包括idlebufferqueue和readybufferqueue的运作方式。客户端通过IOCTL_CS_PROPERTY的CS_ENQUEUE操作将buffer从idle状态转换为ready状态,使驱动程序能够控制并填充buffer。

Camera的整个应用系统中存在2个buffer queue: idle buffer queue和ready buffer queue. idle buffer queue由client维护,而ready buffer queue由camera driver维护。
在应用的最初,所有的capture buffer都在idle buffer queue中,此时驱动程序对这些capture是无法控制的。那么为了让驱动程序可以控制这些buffer, client就需要将buffer从idle buffer queue传送到ready buffer queue.这个动作是由IOCTL_CS_PROPERTY的CS_ENQUEUE来完成的。
当驱动程序的到这样的IOCTL call,它就可以控制这个buffer.当驱动程序将这个buffer填充完毕,驱动还需将这个buffer传回,这个动作则是通过WriteMsgQueue发送消息完成的。而这个WriteMsgQueue的动力,往往就是我们camera interface的中断。

因此从整体看camera应用中,buffer实在client和driver之间来回旋转的。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值