2. 媒體裝置模型¶
發現裝置內部拓撲結構並在執行時配置它是媒體控制器 API 的目標之一。為了實現這一點,硬體裝置和 Linux 核心介面被建模為有向圖上的圖物件。構成圖的物件型別包括
一個實體 (entity)是基本的媒體硬體或軟體構建塊。它可以對應多種邏輯塊,例如物理硬體裝置(例如 CMOS 感測器)、邏輯硬體裝置(片上系統圖像處理管道中的構建塊)、DMA 通道或物理聯結器。
一個介面 (interface)是 Linux 核心使用者空間 API 介面的圖表示,例如控制圖中一個或多個實體的裝置節點或 sysfs 檔案。
一個埠 (pad)是一個數據連線端點,透過它一個實體可以與其他實體互動。實體產生的資料(不限於影片)從實體的輸出流向一個或多個實體輸入。埠不應與晶片邊界上的物理引腳混淆。
一個資料鏈路 (data link)是兩個埠之間的點對點有向連線,這些埠可以在同一個實體上,也可以在不同的實體上。資料從源埠流向接收埠。
一個介面鏈路 (interface link)是 Linux 核心介面與實體之間的點對點雙向控制連線。
一個輔助鏈路 (ancillary link)是一種點對點連線,表示兩個實體構成一個單一邏輯單元。例如,這可以表示某個特定的攝像頭感測器和鏡頭控制器形成一個單一的物理模組,這意味著該鏡頭控制器驅動此攝像頭感測器的鏡頭。