Android 高通Camx架構學習 - 第1章
一、Camx整體架構圖
IFE:影像前端 IPE:影像處理引擎 BPS:Bayer 處理區段
二、Camx基本元件及其概念
1) UseCase
A set of streams configured by the client combined with a set of static properties specifying the processing of those streams (由客戶端配置的一組流,這組流是有著一系列靜態屬性相結合描述的流。) See createCaptureSession in the Android CameraDevice documentation
//UseCase: 預覽+錄影 List<Surface> surfaces = new ArrayList<>(); if(previewSurface != null && previewSurface.isValid()){ surfaces.add(previewSurface); mPreviewBuilder.addTarget(previewSurface); } if(mMediaRecorder != null && mMediaRecorderSurface != null && mMediaRecorderSurface.isValid()){ surfaces.add(mMediaRecorderSurface); mPreviewBuilder.addTarget(mMediaRecorderSurface); } mCameraDevice.createCaptureSession(surfaces,...,...);
2)Feature
3)Node
4) pipeline
5)session
6)Link
7) Port
8)Topologies
A topology is a directed acyclic graph (DAG) specifying an instantiation of a use case (拓撲是一個指定用例例項化的有向無環圖(DAG)) XML definition of use cases and associated topologies For CamX, this graph defines the HW, SW, and non-Qualcomm processing nodes, and the data flow between the nodes
元件之間的關係
三、程式碼目錄結構
1)CamX中的目錄
core分為hal與chi目錄:存放CamX的核心實現模組 hal/:實現hal3介面的hal/目錄 chi/:負責CHI進行互動的chi/目錄 hwl/:存放自身演算法具有獨立運算能力的硬體node---受到csl管理 swl/:存放並不具有獨立運算能力,必須依靠CPU才能實現的node csl/:負責camx與camera driver的通訊模組, 為camx提供了統一的Camera driver控制介面
2) chi-cdk中的目錄
core/:存放CHI實現的核心模組,負責與Camx進行互動並且實現了CHI的總體框架 以及業務處理。 oem/qcom/topolog/:存放使用者自定義的Usecase xml配置資訊 oem/qcom/node/:存放使用者自定義功能的node oem/qcom/module/:存放不同的sensor的配置檔案,在初始化sensor時候需要用到。 oem/qcom/tuning/:存放不同場景下的效果引數的配置檔案。 oem/qcom/sensor/:存放不同sensor的只有資訊以及暫存器配置引數 oem/qcom/actuator/:存放不同對焦模組的配置資訊。 oem/qcom/ois/:存放防抖模組的配置資訊。 oem/qcom/flash/:存放閃光燈模組的配置資訊。 oem/qcom/eeprom/:存放eeprom外部儲存模組的配置資訊。 oem/qcom/fd/:存放人臉識別模組的配置資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006715/viewspace-2791617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android 學習筆記架構篇Android筆記架構
- codis架構學習架構
- 高通 QUP模組學習
- 學習架構設計架構
- 架構學習筆記架構筆記
- 架構學習-多工架構
- Java架構師如何學習?Java架構
- Dubbo架構的學習之旅架構
- Flume學習——Flume的架構架構
- 【java】架構演變學習Java架構
- 架構演化學習思考(3)架構
- 架構學習筆記系列四——架構師軟文架構筆記
- 學習如何用 VIPER 構建iOS架構iOS架構
- 架構學習筆記系列一架構筆記
- 架構學習筆記系列三架構筆記
- 架構學習筆記系列二架構筆記
- mysql學習之-邏輯架構MySql架構
- 學習-zabbix架構及術語架構
- 架構演化學習思考(4) --- IOC的學習認識架構
- 初學 Android 架構元件之 LifecycleAndroid架構元件
- 初學 Android 架構元件之 ViewModelAndroid架構元件View
- Hadoop學習(二)——MapReduce\Yarn架構HadoopYarn架構
- Laravel深入學習5 – 應用架構Laravel應用架構
- 58同城資料庫架構學習資料庫架構
- 大型網站架構學習筆記網站架構筆記
- 第3章 系統架構架構
- Android架構合集Android架構
- Android MVP 架構AndroidMVP架構
- Android view架構AndroidView架構
- 普通Android碼農,該如何逆襲月薪 5W 的移動端架構師?(Android架構師詳細學習資源)Android架構
- Java進階學習之Java架構師的學習路線Java架構
- 學習Java架構師的路線分享Java架構
- 聯邦學習開源框架FATE架構聯邦學習框架架構
- 分散式網站架構學習資源分散式網站架構
- Android系統架構-----Android的系統體系架構Android架構
- .NET 雲原生架構師訓練營(系統架構)--學習筆記架構筆記
- Hadoop MapReduce架構簡介(初學學習不錯)Hadoop架構
- 微服務架構學習與思考(05):微服務架構適用場景分析微服務架構