首页 > 其他分享 >HAL3 overview

HAL3 overview

时间:2024-04-17 10:44:59浏览次数:22  
标签:HAL3 HAL overview APP Camera 挂载 FeaturePiple 节点

总览:

  

  在camera service中通过四个接口来与HAL交互,Camera Server通过ICameraProvider获得一些其他接口,Camera Server通过ICameraDevice获得HAL层对于摄像头的一个抽象设备,

  Camera Server通过ICameraDeviceSession来进行会话,IDeviceCallback用于HAL将数据传递回Camera Server。

  HAL的接口大致可以分为Device HAL和Provider HAL。

Middleware层

  APP Stream Manager + Camera Device Manager:实现IDeviceCallback的接口。

  APP Stream Manager:Framework层传递下来的Request由APP Stream Manager进行解析,进行callback的注册,并在下层有数据时进行打包,回调。

  Pipeline Model:主体是Pipline Context,其中包含所有的组件,并管理frame的生命周期。

  CamSetting:主体是FeatureSetting,所有对于HAL3的配置,都会保存在FeatureSetting中。

  MetadataProvider:对于Metada做一个集中地管理,并回调给Framework。

  StreamBuffer:管理Pipeline中的StreamBuffer。

Pipe层

  Hardware Node层:包含了管道中每个节点的实现。

    P1Node:双摄会有两个P1Node,并且在P1Node的下挂载了SyncHelper子管道用于同步两颗摄像头的数据,生成RAW数据。3A和ISP的数据的交互。

    Raw16Node:APP需要RAW数据时,将Raw16节点加入整个管道中,将P1Node的Raw数据进行转换为Raw16,打包,然后传回给APP。

    P2CaptureNode:用于takepicture(HDR,夜景)功能的节点,并在其下挂载了CaptureFeaturePiple,在FeaturePiple中又有各个节点(MetaFrameNode,YUVNode)用于实现其功能,

            在FeaturePiple中还有pipePlugin(三方算法挂载点(美颜,虚化)),通过pipePlugin挂载到FeaturePiple的对应的节点。

    FDNode:人脸识别节点。

    JPEGNode:压缩图片为jpeg数据格式的节点。

    P2StreamingNode:实现了preview和record功能的节点,并在其下挂载了StreamingFeaturePiple用于实现其功能,在FeaturePiple中用于实现其功能。

             在FeaturePiple中还有pipePlugin(三方算法挂载点),通过pipePlugin挂载到FeaturePiple的对应的节点。

    

Pipeline框架:

          

 

       Pipeline Model 是HAL3最核心的组件,当Framework向HAL3传递一个Request时,Pipeline Model接收到后调用camseting去转化这一个Request,获取其中的CaptureStream,StreamimgStream

  ·    保存到IPipelineFrame,双摄对应的两个P1Node抓取不同的图像数据,再根据上面配置的是Streaming还是Capture来走不同的组合的Node而形成P2StreamingNode / P2CaptureNode,PipelineFrame作为数据流过不同的节点被处理,

      如果是P2CaptureNode,走完后会被压缩为JPEG数据并回调上去。

      如果是P2StreamingNode ,走完后判断是否做面部识别,并将数据回调给preview / record,再回调给surface。

 

标签:HAL3,HAL,overview,APP,Camera,挂载,FeaturePiple,节点
From: https://www.cnblogs.com/zsy12138/p/11392970.html

相关文章

  • [Microservices] Serverless Overview
    IntriductiontoSeverlessComputingDefineserverlesscomputinganddescribeitsconceptsServerlesscomputingistheconceptofbuildingandrunningapplicationsthatdonotrequireservermanagementItdescribesafiner-graineddeploymentmodelwherea......
  • Part1: Overview of Diffusion Process
    本文将会概括性地介绍\(\textit{DiffusionProcess}\)算法与实践,主要参考论文《DenoisingDiffusionProbabilisticModels》。它的一些改进与优化,将“扩散方法”带入主流视野。而具体的数学推导部分,请参考其它系列文章。整个系列有相对完整的公式推导,若正文中有涉及到的省略部分......
  • GLTF OverView
    ​​​​​​​​​​​​​​​​参考glTF™2.0Specification(khronos.org)ReferenceGuides-TheKhronosGroupInckhronos.org/files/gltf20-reference-guide.pdfgltfOverview中文翻译-腾讯云开发者社区-腾讯云(tencent.com)......
  • Overview how does plpgsql function get executed
    TheSQLCREATEFUNCTIONprocess_orders()RETURNSvoidAS$$DECLAREcrecord;BEGINFORcINSELECT*FROMordersLOOPRAISENOTICE'Processing:%%',c.id,c.total;ENDLOOP;END;$$LANGUAGEplpgsql;createtableorders(idint,t......
  • Neural Networks for Game AI: A Comprehensive Overview
    1.背景介绍随着计算机游戏的不断发展和进步,游戏人工智能(AI)已经成为游戏开发中的一个重要组成部分。在过去的几十年里,游戏AI的研究和应用已经取得了显著的进展,但仍然面临着许多挑战。这篇文章将深入探讨神经网络在游戏AI中的应用和挑战,并提供一个全面的概述。神经网络是一种模仿生物......
  • PyTorch for Natural Language Processing: A Complete Overview
    1.背景介绍自然语言处理(NaturalLanguageProcessing,NLP)是计算机科学与人工智能的一个分支,旨在让计算机理解、解析和生成人类语言。自然语言处理的主要任务包括文本分类、情感分析、命名实体识别、语义角色标注、语义解析、机器翻译、语音识别、语音合成、问答系统、对话系统等。......
  • Overview of Machine Learning Methods for Genome-Wide Association Analysis
    OverviewofMachineLearningMethodsforGenome-WideAssociationAnalysisBIBE2021:TheFifthInternationalConferenceonBiologicalInformationandBiomedicalEngineeringOverviewofMachineLearningMethodsforGenome-WideAssociationAnalysisAutho......
  • 内核文档翻译 —— Overview of the Linux Virtual File System
    原文:https://www.kernel.org/doc/html/latest/filesystems/vfs.html#overview-of-the-linux-virtual-file-systemIntroductionTheVirtualFileSystem(alsoknownastheVirtualFilesystemSwitch)isthesoftwarelayerinthekernelthatprovidesthefilesystemin......
  • Modern C++ Overview综览
    ##PartI:Language(第一篇:语言)-大局观——简直像个新语言给出一个完整实例,展示(几乎)所有新特性的样貌,让学员从真实代码中一次性窥得(几乎)全豹,得知即将面对的新知和挑战。-auto,typededuction型别/型态推导是ModernC++至关重要的某种基础;这一节为后头诸多特性打好基础。-......
  • Get a quick overview of the hottest diagnostic tools of the day
    Intoday'sfast-pacedtechnologicalworld,itiscriticalforprofessionalsacrossindustriestohaveaccesstoreliablediagnostictools.Thisisespeciallytrueforthosewhoworkinheavymachineryandagriculture.Inthisblogpostwetakeaclos......