日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于camera 构架设计的一点看法

發布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于camera 构架设计的一点看法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

camera的構架目前來看有兩種,一種是集中式管理,比如說建立一個引擎,引擎向上提供接口,向下管理所有模塊。把camera的所有功能劃分為不同的模塊,又引擎統一管理。模塊的結構就比較隨意了,可以統一接口,也可以對每個模塊實現不同的接口。引擎需要詳細知道每個模塊的細節,然后仔細的安排模塊的使用。

另一種比較新奇的設計思路是有一定的互聯網思維的,盡可能的讓模塊自己來決定自己的事情。盡可能的去中心化。模塊的依賴通過模塊的連接來決定。這樣的模塊有統一的接口和格式。可以直接采用linux的open max, 或者自定義一套模塊接口,模塊中有端口。通過端口把模塊連接起來。又把模塊掛在總線上。每一個條端口的連接就是一個流,又把這些流用pipeline 來管理。

每啟動一個camera 就創建一個camera的會話,有這個會話來管理這個camera的一切事物。對于每一個會話,模塊是共享的,是camera的硬件資源,或其他資源,比如facedetec等算法資源。

那么如何定義模塊的結構呢。

1 端口 ,端口屬于模塊,如果這個模塊有只有 src 端口,那么這個模塊就是src 模塊,只有sink 端口,就是sink模塊,否則就是中間模塊。沒有端口的模塊不能連接到流中,但可以完成一些其他的功能,比如接收引擎的設置,報告事件到bus等。連接到流中的端口,也就是說流事件(set get)主要通過port來處理。而來自于引擎的(get set)通過模塊來處理,當然port也可以把事件交給module來處理,模塊內部的端口可以通過模塊來建立關系,也可以建立內部連接,端口有關get set process。

2 模塊線程,每一個模塊可以有一個線程來處理模塊的事情。一個線程對應一個隊列,線程就是從隊列中取出數據處理,然后應答回去。

3 總線回調,當一個模塊向總線注冊時,總線向其提供一個回調函數,當模塊有事件發生時,調用這個函數向 bus 發消息。然后總線把這個消息提交給管道,管道把這消息送著流發下去。

4 模塊的get 和 set , process。

管道的抽象與功能

管道有兩段,一段用于讀,一段用于寫。camera 引擎負責對管道的監控。而會話管理camera 引擎。

?

?

?

轉載于:https://www.cnblogs.com/soc-linux-driver/p/3682783.html

總結

以上是生活随笔為你收集整理的关于camera 构架设计的一点看法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。