android camera data -> surface 显示

一、ais_v4l2_proxy -> v4l2loopback

这里就是将dev上申请的DMA buffer,在ais_server将camera data填充后,通知到ais_v4l2_proxy,然后proxy会将index、时间戳、帧信息cpoy到v4l2loopback中保存起来,等camera v4l2 hal来使用buffer的时候会告诉它用那个index等信息。

这就是为啥你在camera hal看到buffer交互是 "buffer.memory = V4L2_MEMORY_MMAP", 但是在kernal中会看到copy_to_user的操作。

camera data数据是内存映射,camera index、时间戳等信息是copy_to_user操作。

二、v4l2loopback -> c2d buffer

product surface bufffer -> consumer buffer

1、一般在android中向graphicbuffer填充数据的对象是app来绘制,但是camera中是camera hal来填充app申请的camera surface画面,然后通知consumer 去消费buffer

2、Camera3Device: : RequestThread::threadloop 一直再循环中当发现有可用的buffer后,就会将这个buffer set到camera hal去

相关推荐
csdn12259873369 分钟前
Android将应用添加到默认打开方式
android
百锦再43 分钟前
京东云鼎入驻方案解读——通往协同的“高架桥”与“快速路”
android·java·python·rust·django·restful·京东云
成都大菠萝1 小时前
1-2-3 Kotlin与C++基础-JNI原理与使用
android
TimeFine1 小时前
Android AI解放生产力(六)实战:解放页面开发前的繁琐工作
android·架构
心静财富之门1 小时前
a.py打包加密
android
成都大菠萝1 小时前
1-2-2 Kotlin与C++基础-C++基础语法与内存管理
android
陈希瑞2 小时前
【保姆级教程】安卓手机免Root一键部署AutoGLM:支持语音控制与自动化操作
android·智能手机·自动化
TheNextByte12 小时前
如何将联系人从Android传输到计算机的 6 种方法
android
喂_balabala2 小时前
excludeFromRecents
android
TimeFine2 小时前
Android AI解放生产力(五)实战:解放写API接口的繁琐工作
android