- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android Camera HAL3 分析
本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。
qq:1037701636 email:gzzaigcn2009@163.com
Software:系统源码Android5.1
?
Camera3研读前沿:
Camera1.0相关的内容时,主要围绕着CameraClient、CameraHardwareInterface等方面进行工作的开展,无论是数据流还是控制流看起来都很简单、明了,一系列的流程化操作使得整个框架学起来特别的容易。因为没有Camera2.0相关的基础,所以这次直接看3.0相关的源码时,显得十分的吃紧,再加上底层高通HAL3.0实现的过程也是相当的复杂,都给整个研读过程带来了很多的困难。可以说,自身目前对Camera3.0框架的熟悉度也大概只有70%左右,希望通过总结来进一步梳理他的工作原理与整个框架,并进一步熟悉与加深理解。
?
1.Camera3。
CameraService建立起一个可用操作底层Camera device大致需要经过Camera2Client、Camera3Device以及HAL层的camera3_device_t三个部分。
Camera3架构看上去明显比camera1来的复杂,但他更加的模块化。对比起Android4.2.2 Camer系统架构图(HAL和回调处理)一文中描述的单顺序执行流程,Camera3将更多的工作集中在了Framework去完成,将更多的控制权掌握在自己的手里,从而与HAL的交互的数据信息更少,也进一步减轻了一些在旧版本中HAL层所需要做的事情。
?
2. Camera2Client程
Camera2Client后会进行initialize操作,完成各个处理模块的创建:
?
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ???....
mStreamingProcessor = new StreamingProcessor(this);//preview和recorder
????threadName = String8::format(C2-%d-StreamProc,
????????????mCameraId);
????mStreamingProcessor-run(threadName.string());//预览与录像
?
????mFrameProcessor = new FrameProcessor(mDevice, this);// 3A
????threadName = String8::format(C2-%d-FrameProc,
????????????mCameraId);
????mFrameProcessor-run(threadName.string()); //3A
?
????mCaptureSequencer = new CaptureSequencer(this);
????threadName = String8::format(C2-%d-CaptureSeq,
????????????mCameraId);
????mCaptureSequencer-run(threadName.string());//录像,拍照
?
????mJpegProcessor = new JpegProcessor(this, mCaptureSequencer);
????threadName = String8::format(C2-%d-JpegProc,
????????????mCameraId);
????mJpegProcessor-run(threadName.string());
....
?mCallbackProcessor = new CallbackProcessor(this);//回调处理
????threadName = String8::format(C2-%d-CallbkProc,
????????????mCameraId);
????mCallbackProcessor-run(threadName.string()); 依次分别创建了:
?
StreamingProcessorthread,该模块主要负责处理previews与record两种视频流的处理,用于从hal层获取原始的视频数据
FrameProcessorthread,该模块专门用于处理回调回来的每一帧的3A等信息,即每一帧视频除去原始视频数据外,还应该有其他附加的数据信息,如3A值。
CaptureSequencerthread,该模块需要和其他模块配合使用,主要用于向APP层告知c
您可能关注的文档
- AKI 王春亭.ppt
- AKI新进展2.ppt
- ALC安装安全方案.doc
- AlN器件.pptx
- Altium技巧及快捷键.doc
- altium窗口菜单中英文对照表.doc
- amanda安装.docx
- Alvaro Siza.ppt
- amoeba_3.0.5安装配置手册.doc
- AMT-常用模板.ppt
- TZLX052-2023遂昌土蜂蜜绿色生产技术规程.pdf
- 必威体育精装版教科版三年级上册科学 期末测试卷(典型题).docx
- 必威体育精装版教科版三年级上册科学期末测试卷【全国通用】.docx
- 必威体育精装版教科版三年级上册科学 期末测试卷(实用)word版.docx
- 必威体育精装版教科版三年级上册科学 期末测试卷(精选题).docx
- 必威体育精装版教科版三年级上册科学 期末测试卷(研优卷).docx
- 必威体育精装版教科版三年级上册科学期末测试卷及参考答案(模拟题).docx
- 必威体育精装版教科版三年级上册科学期末测试卷【名师推荐】.docx
- 必威体育精装版教科版三年级上册科学 期末测试卷(含答案).docx
- 必威体育精装版教科版三年级上册科学 期末测试卷(精品).docx
最近下载
- 2024年人大常委会工作报告讨论发言稿三篇.docx VIP
- [工程科技]TMS320F28027中文版实验教程.pdf
- 北京市石景山区2023-2024学年高一上学期期末生物试题 Word版含解析.docx
- 北京市石景山区2024_2025学年高一数学上学期期末考试试题含解析.doc VIP
- 图书馆运营管理服务投标方案.doc
- 新时达AS380全系(380、380B、380C、380D、380S)快捷调试方发.docx
- 北京市西城区师范大学附属中学2024_2025学年高一语文上学期期末考试试题含解析.doc VIP
- 数学必修41.1.1任意角课件PPT课件一等奖新名师优质课获奖比赛公开课.pptx
- 小学考查学科评价方案.pdf
- 巴塘卓帆水泥2500td熟料新型干法水泥生产线项目施工组织设计.doc
文档评论(0)