- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android Camera HAL3中拍照Capture模式下多模块间的交互与帧Result与帧数据回调.doc
Android Camera HAL3中拍照Capture模式下多模块间的交互与帧Result与帧数据回调。
qq:1037701636 email:gzzaigcn2009@163.com
Software:系统源码Android5.1
前沿:
? ? Camera3 HAL3架构下完全不同于HAL1的preview预览处理过程,包括主要涉及到的控制流和视频流等。比较详细的阐述了Camera2Client下streamProcessor、CallbackProcessor、CaptureSequencer等模块在Camera3架构下的功能。分析得出每个模块下均会在Camera3Device下以一个Stream的形式存在,而每个stream又是由多个buffer来构成主体的。与HAL3进行数据的交互时,以Request和result来作为数据传输的载体。在这些基础上本文将描述具体拍照Capture模式下的数据流和控制流,主要会涉及到jpegprocessor、CaptureSequencer这几个模块的工作原理。鉴于Capture模式下的数据流更复杂,在这里重点会分析数据流result回传时,每个模块的响应以及处理过程,填补前一博文的空白。
1. HAL3Camera2Client下的take picture的入口函数
capture picture功能的入口,主要完成了以下两件事情:
updateProcessorStream(mJpegProcessor, l.mParameters);
mCaptureSequencer-startCapture(msgType)
? ? JpegProcessor模块而言,他的stream流第一次是在preview阶段进行了create与初始化,这里之所以再次调用JpegProcessor::updateStream目的是参考原先JpegProcessor?stream的width与height是否变化即是否照片要求的分辨率发生了变化,如果是的话就需要delete原先的stream,重新建立一个stream。
? ? JpegProcessor中重点关注CpuConsumer与Surface的生产者与消费者处理模式,官方称之为Create CPU buffer queue endpoint。
2.?CaptureSequencer块
? ? CaptureSequencertake picture下操作的重点,在Camera2Client中进行了创建,首先来看CaptureSequencer线程的threadLoop函数:
[cpp]?view plaincopy
bool?CaptureSequencer::threadLoop()?{??
??
????spCamera2Client?client?=?mCmote();??
????if?(client?==?0)?return?false;??
??
????CaptureState?currentState;??
????{??
????????Mutex::Autolock?l(mStateMutex);??
????????currentState?=?mCaptureState;??
????}??
??
????currentState?=?(this-*kStateManagers[currentState])(client);??
??
????Mutex::Autolock?l(mStateMutex);??
????if?(currentState?!=?mCaptureState)?{??
????????if?(mCaptureState?!=?IDLE)?{??
????????????ATRACE_ASYNC_END(kStateNames[mCaptureState],?mStateTransitionCount);??
????????}??
????????mCaptureState?=?currentState;//保留新的状态??
????????mStateTransitionCount++;??
????????if?(mCaptureState?!=?IDLE)?{??
????????????ATRACE_ASYNC_BEGIN(kStateNames[mCaptureState],?mStateTransitionCount);??
????????}??
????????ALOGV(Camera?%d:?New?capture?state?%s,??
????????????????client-getCameraId(),?kStateNames[mCaptureState]);
您可能关注的文档
- 763 题目错题.doc
- 78随机变量及其分布列(理)小题专练.doc
- 7A1-8单词,短语汇总.doc
- 7AUnit4语言点归纳(沈毅许强).doc
- 7b第二单元复习教案 2.doc
- 7、GMP自检(二).doc
- 7、基坑支护专业分包工程施工合同.doc
- 7、系列七:调色基本知识(13页)-广东龙芬漆培训资料.doc
- 7、陕师大《心理学》作业题附答案.doc
- 7单元折线统计图和打电话.doc
- 中国国家标准 GB/T 20867.1-2024机器人 安全要求应用规范 第1部分:工业机器人.pdf
- 《GB/T 20867.1-2024机器人 安全要求应用规范 第1部分:工业机器人》.pdf
- 《GB/T 23423-2024飞机主舱集装货物装载机》.pdf
- GB/T 23423-2024飞机主舱集装货物装载机.pdf
- 中国国家标准 GB/T 23423-2024飞机主舱集装货物装载机.pdf
- 《GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求》.pdf
- 中国国家标准 GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求.pdf
- GB/T 4706.114-2024家用和类似用途电器的安全 第114部分:饮用水处理装置的特殊要求.pdf
- GB/T 4706.120-2024家用和类似用途电器的安全 第120部分:紫外线辐射水处理器具的特殊要求.pdf
- 中国国家标准 GB/T 4706.120-2024家用和类似用途电器的安全 第120部分:紫外线辐射水处理器具的特殊要求.pdf
文档评论(0)