基于DirectFB的嵌入式播放器設計
摘要:隨著嵌入式設備應用越來越普及,其對圖形處理功能提出了更高的要求。因此輕量、高效的基于Framebuffer的DirectFB庫的實現(xiàn)方案受到越來越多的嵌入式工程師的青睞。本文首先對DirectFB進行了介紹,接著提出了一種新的基于DirectFB的嵌入式播放器設計方案。該方案相比于其他嵌入式GUI開發(fā)的播放器能夠有效地降低資源的消耗,適用于各種中低端的場合,同時具備良好的可移植性。
關鍵詞:DirectFB圖形庫;幀緩存;Lite界面開發(fā);FFmpeg多媒體庫;Linux操作系統(tǒng);嵌入式播放器
1 概述
隨著嵌入式的普及和發(fā)展,嵌入式設備的功能越來越強大,用戶對嵌入式設備的要求也越來越高。各種多媒體應用程序被移植到了嵌入式系統(tǒng)中,是否能夠播放音視頻是人們衡量和購買嵌入式設備的基本要求之一。本文提出了一種基于DirectFB嵌入式播放器解決方案,有效地降低嵌入式系統(tǒng)的資源消耗,適用于CPU頻率小于400MHz的中低端嵌入式系統(tǒng)。DirectFB是一個輕量級的GUI開發(fā)庫,它通過Framebuffer以及回調函數(shù),實現(xiàn)了對硬件設備的完全抽象,加速和簡化了圖形操作。
本文首先對DirectFB進行了詳細的介紹,接著提出了一種寬松的、可分解的嵌入式播放器設計方案。該方案資源消耗少、可移植性強、系統(tǒng)各個模塊間依賴度小,使得用戶能夠根據(jù)自己的系統(tǒng)需求快速設計滿足自己要求的播放器。
2 DirectFB簡介
2.1 DirectFB的整體框架
DirectFB必須通過Linux下Framebuffer驅動來訪問硬件設備,它在Framebuffer的基礎上提供了圖形設備的加速、輸入設備處理提取、透明窗口和多重顯示層的功能。另外DirectFB設計之初就充分考慮了嵌入式系統(tǒng)的固有特性,體積小巧,資源消耗低。作為嵌入式系統(tǒng)中強大的圖形處理庫,DirectFB成為Linux下一代處理的一個新標準(CELF AVG1.0標準)。圖1是DirectFB的整體框架。
2.2 DirectFB接口描述
DirectFB提供了一套C接口來方便用戶進行界面開發(fā),例如IDirectFBSurface接口提供了對于文本、BILT、畫線以及畫矩形的操作。IDir ectFBFont接口提供了對字體的操作,而IDirectFBVideo接口提供了對多媒體進行播放控制的操作。表1對DirectFB接口進行了詳細的描述。
評論