4.5. 影片記憶體到記憶體介面¶
V4L2 記憶體到記憶體裝置可以在記憶體中將影片資料從一種格式壓縮、解壓縮、轉換或以其他方式轉換成另一種格式。此類記憶體到記憶體裝置設定 V4L2_CAP_VIDEO_M2M 或 V4L2_CAP_VIDEO_M2M_MPLANE 功能。記憶體到記憶體裝置的例子包括編解碼器、縮放器、去隔行器或格式轉換器(即從 YUV 轉換到 RGB)。
記憶體到記憶體影片節點的功能與普通影片節點相同,但它同時支援輸出(將幀從記憶體傳送到硬體)和捕獲(從硬體接收處理後的幀到記憶體)流 I/O。應用程式需要為兩端設定流 I/O,並最終為捕獲和輸出呼叫 VIDIOC_STREAMON 以啟動硬體。
記憶體到記憶體裝置作為共享資源執行:您可以多次開啟影片節點,每個應用程式設定其自身的檔案控制代碼本地屬性,並且每個應用程式都可以獨立於其他應用程式使用它。驅動程式將仲裁對硬體的訪問,並在另一個檔案控制代碼獲得訪問許可權時重新程式設計。這與通常的影片節點行為不同,在通常的影片節點行為中,影片屬性是裝置的全域性屬性(即透過一個檔案控制代碼更改某些內容會透過另一個檔案控制代碼可見)。
最常見的記憶體到記憶體裝置之一是編解碼器。編解碼器比大多數裝置更復雜,需要對其編解碼器引數進行額外設定。這透過編解碼器控制完成。請參閱 編解碼器控制參考。有關如何使用編解碼器記憶體到記憶體裝置的更多詳細資訊將在以下章節中給出。