Camera KMD ISP學習筆記(5)-DRQ

lethe1203發表於2024-04-06
學習資料來源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html
僅用於個人學習,侵聯刪
DRQ:DRQ負責排程管理pipeline裡的node處理邏輯(透過node之間的dependency依賴機制)
利用多執行緒並行處理pipeline中並行的node,加快處理速度
存在將來一些推遲的request佇列
後面一個node依賴前面node的一些內容,比如buffer,一些metadata
DRQ工作內容:
0
metadata:比如3a資訊,iq引數
DRQ利用依賴來排程各個node執行
第一步:填依賴,fill dependency,所有node填寫依賴,processSequenceID = 0。比如B依賴A的metadata,輸入buffer。這樣機會存到一個hashmap裡面
第二步:A的輸出buffer和fence繫結的,滿足了fence callback調到DRQ表示fence滿足了,表示buffer滿足了,那麼DRQ相應的hashmap的key會刪掉,A處理完了也會寫metadata到metadata的metadata pool,就可以透過一個update的介面通知到DRQ,DRQ發現B的依賴都滿足了,就會扔一個任務給到執行緒池,執行緒池就可以排程到B,B開始呼叫。dependency就會變成1。呼叫到processrequest開始執行B的執行緒
DRQ相關:
一個session裡面所有的pipeline共用一個DRQ
DRQ何時呼叫node填寫dependency:每個node deq id 0基本都是填寫自己的dependency

相關文章