高通820(msm8996)camera hal原始碼分析
之前閱讀過高通的camera的v4l2的driver,和video codec的driver,還沒有分享出原始碼架構圖。現在首先先分享出camera hal的原始碼架構圖吧,高通的hal可以使用hal1和hal3.
一,在hardware/qcom/camera下是高通的camera的hal層實現。首先是兩個標頭檔案,一個是camera 引數,一個是和高通soc相關出廠的類。
二,android採用類似linux的driver架構,實現hal層的一些裝置管理。camera_module_t是hardware模型,要被framework層使用。
三,方法中的open實現。
四,每個cam_obj是在open下呼叫生成的物件,每次呼叫一個camera,產生一個object。例如前後camera會各生成兩個obj。這個obj的ops是mm_camera_ops,提供給上層使用的介面。
五,hardware interface是android上層開啟camera要呼叫的ops介面。這裡先說camera hal3.
六,第一個是初始化函式。
另一個函式,configure stream。
相關推薦
高通820(msm8996)camera hal原始碼分析
之前閱讀過高通的camera的v4l2的driver,和video codec的driver,還沒有分享出原始碼架構圖。現在首先先分享出camera hal的原始碼架構圖吧,高通的hal可以使用hal1和hal3. 一,在hardware/qcom/camera下是高通的c
Android7.1 [Camera] Camera Hal 原始碼分析(一)
原始碼平臺:rk3399 命令列ls看下原始碼的結構 hardware/rockchip/camera/CameraHal: lib目錄 原始碼的檔案看起來有點多,我們看看Android.mk檔案, 這些檔案最終編譯成camera.rk30bo
【影象處理】影象濾波去噪聲——均值濾波、中值濾波、對稱均值濾波 低通濾波 高通濾波(opencv)
①觀察灰度分佈來描述一幅影象成為空間域,觀察影象變化的頻率被成為頻域。 ②頻域分析:低頻對應區域的影象強度變化緩慢,高頻對應的變化快。低通濾波器去除了影象的高頻部分,高通濾波器去除了影象的低頻部分。 (1)低通濾波 ①栗子: #include <iostream> #include &l
Unity3D 使用高通AR(一)
增強現實(Augmented Reality,簡稱AR),是在虛擬現實的基礎上發展起來的新技術,也被稱之為混合現實。是通過計算機系統提供的資訊增加使用者對現實世界感知的技術,將虛擬的資訊應用到真實世界,並將計算機生成的虛擬物體、場景或系統提示資訊疊加到真實場景中
Android簡單、高效能的高斯模糊(毛玻璃)效果(附原始碼)
毛玻璃效果相信很多朋友都眼紅很久了, 隔壁ios系統對高斯模糊早就大範圍使用了, 咱們Android卻絲毫不為所動, 於是就只能靠廣大開發者咯。 這是目前市面上效能最高的方案, 也不知道最初是
開發日常小結(32):HashMap 原始碼分析
2018年10月05日 目錄 1、Java資料結構圖 Java中有幾種常用的資料結構,主要分為Collection和map兩個主要介面(介面只提供方法,並不提供實現),而程式中最終使用的資料結構是繼承自這些介面的資料結構類
MVVM(一)資料代理原始碼分析
1:準備工作API瞭解 1. [].slice.call(lis): 將偽陣列轉換為真陣列 2. node.nodeType: 得到節點型別 3. Object.defineProperty(obj, propertyName, {}): 給物件新增屬性(指定描述符) 4. Object.
java集合(4):HashMap原始碼分析(jdk1.8)
前言 Map介面雖然也是集合體系中的重要一個分支,但是Map介面並不繼承自Collection,而是自成一派。 public interface Map<K,V> Map集合儲存鍵對映到值的物件。一個集合中不能包含重複的鍵,每個鍵最多
(一)boost::lambda原始碼分析
// is_instance_of_n<A, B>::value is true, if type A is // an instantiation of a template B, or A derives from an instantiation // of te
java集合(5):HashSet原始碼分析
前言 HashSet實現 Set 介面,由雜湊表(實際上是一個 HashMap 例項)支援。它不保證 set的迭代順序;特別是它不保證該順序恆久不變。此類允許使用 null 元素。Set集合取出元素
java集合(6):TreeMap原始碼分析(jdk1.8)
前言 TreeMap的基本概念: TreeMap集合是基於紅黑樹(Red-Black tree)的 NavigableMap實現。該集合最重要的特點就是可排序,該對映根據其鍵的自然順序進行排序,或者根據建立對映時提供的 Comparator 進行排序,具體
Java IO完全總結(轉載) --- 重點在原始碼分析
從InputStream到ByteArrayInputStream江蘇無錫繆小東本篇主要分析:1.如何將byte陣列適配至ByteArrayInputStream,對應與IO部分的介面卡模式;2.BufferedInputStream的工作原理,對應於IO的裝飾器模式,會首先研究InputStream和Fil
Java分散式跟蹤系統Zipkin(二):Brave原始碼分析-Tracer和Span
Brave是Java版的Zipkin客戶端,它將收集的跟蹤資訊,以Span的形式上報給Zipkin系統。 (Zipkin是基於Google的一篇論文,名為Dapper,Dapper在荷蘭語裡是“勇敢的”的意思,這也是Brave的命名的原因) 我們一般
Java分散式跟蹤系統Zipkin(五):Brave原始碼分析-Brave和SpringMVC整合
上一篇博文中,我們分析了Brave是如何在普通Web專案中使用的,這一篇博文我們繼續分析Brave和SpringMVC專案的整合方法及原理。 我們分兩個部分來介紹和SpringMVC的整合,及XML配置方式和Annotation註解方式 pom.xml新
ESP8266--學習筆記(八)串列埠原始碼分析
我一直對ESP8266的串列埠傳輸的機制很好奇,沒辦法只得好好分析原始碼了。 ESP8266的中斷系統是必須要了解的。我分析的原始碼是分配有任務的,所以在任務函式中是無法看到中斷的。我的分析如下: 程式碼實現如下: 串列埠接收中斷處理函式
ORBSLAM2學習(四):DBoW2原始碼分析(OrbVocabulary部分)
{(w1,weight1),(w2,weight2),...,(wn,weightn)}的形式,就對應著這裡的BowVector。BowVector派生自public std::map<WordId, WordValue>,實際上就是public std::map<int, double&g
Java分散式跟蹤系統Zipkin(八):Zipkin原始碼分析-KafkaCollector
前面幾篇博文中,都是使用OkHttpSender來上報Trace資訊給Zipkin,這在生產環境中,當業務量比較大的時候,可能會成為一個性能瓶頸,這一篇博文我們來使用KafkaSender將Trace資訊先寫入到Kafka中,然後Zipkin使用KafkaC
java集合(7):TreeSet原始碼分析(jdk1.8)
前言 TreeSet是基於 TreeMap 的 NavigableSet 實現。使用元素的自然順序對元素進行排序,或者根據建立 set 時提供的 Comparator 進行排序,具體取決於使用的構造方法。這句話什麼意思呢?就是說,跟HashSet底層是一個Ha
Java分散式跟蹤系統Zipkin(七):Zipkin原始碼分析-Zipkin的原始碼結構
前面花了大量篇幅來介紹Brave的使用,一直把Zipkin當黑盒在使用,現在來逐漸撥開Zipkin的神祕面紗。 Zipkin的原始碼地址為:https://github.com/openzipkin/zipkin Zipkin的原始碼結構 - zi
Netty原始碼分析 (七)----- read過程 原始碼分析
在上一篇文章中,我們分析了processSelectedKey這個方法中的accept過程,本文將分析一下work執行緒中的read過程。 private static void processSelectedKey(SelectionKey k, AbstractNioChannel ch) {