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