數(shù)字視頻配置工具
將數(shù)字視頻嵌入應(yīng)用中的首要難題在于實施視頻的復(fù)雜性要遠遠超過簡單的圖像與音頻壓縮和解壓縮。數(shù)字視頻可以采用形形**的形式與格式,開發(fā)人員需要支持繁雜的配置和各種不同的方面,其中包括不同的分辨率/顯示器尺寸、不同的比特率、實時問題乃至視頻源的可靠性等,例如來自硬盤驅(qū)動器的視頻流與來自無線通信鏈路的視頻流的區(qū)別和處理。即使是那些看似簡單明了的任務(wù)—如高效管理音頻/視頻同步以及在IP網(wǎng)絡(luò)上實現(xiàn)可靠的視頻傳輸,仍然會讓開發(fā)人員傷透腦筋。
如何使這些技術(shù)難題迎刃而解就成為采用達芬奇技術(shù)成功實現(xiàn)數(shù)字視頻系統(tǒng)設(shè)計的關(guān)鍵。達芬奇技術(shù)所包含的四大要素,即處理器、開發(fā)工具、軟件以及系統(tǒng)專業(yè)技術(shù)對于數(shù)字視頻設(shè)計的集成具有重要的作用,其中一個極為有效的工具就是包含在TI為配合達芬奇開發(fā)所提供的數(shù)字視頻開發(fā)包(DVSDK)中的數(shù)字視頻配置工具(eXpressDSPConfiguration Kit)。
由于在達芬奇技術(shù)軟件結(jié)構(gòu)中引入了編解碼引擎(Codec Engine)結(jié)構(gòu),Codec Engine就提供了對DSP標準化算法(XDAIS)的完全包裝,使得應(yīng)用程序與DSP程序的開發(fā)分離,更為方便簡捷,Codec Engine使得DSP開發(fā)人員不必關(guān)心應(yīng)用程序端,只需按照相應(yīng)的標準開發(fā)出Codec Server,即可被應(yīng)用程序正確調(diào)用。有了eXpressDSP配置工具的支持,開發(fā)人員模塊之間的接口,eXpressDSP配置工具會自動綁定編解碼器(CODEC)以及符合xDM標準的軟件模塊,不需要任何其它的操作,幾乎可以將開發(fā)時間從數(shù)月降到幾周之內(nèi),使軟件的重使用率大大增加。eXpressDSP配置工具匯集了Linux和達芬奇技術(shù)的CODEC ENGINE以及DSP/BIOS,DSP/BIOS LINK。圖1為系統(tǒng)集成圖。
圖1 系統(tǒng)集成圖
數(shù)字視頻配置工具使得配置一個CODEC的過程極其簡單,只需進行簡單的腳本配置,無需DSP編程便可以完成,首先得到在DSP上的符合xDM標準Codec庫,通過腳本配置語言進行簡單的配置,將此Codec庫至于Codec Engine中,進行再次編譯鏈接。至此已經(jīng)完成了Codec上的全部工作。下面將逐步描述一個基于達芬奇開發(fā)板的應(yīng)用程序的生成過程:
第一步,開發(fā)并完成Codec。就是要開發(fā)音視頻編解碼的核心算法,按照xDM標準封裝成為Codec庫,Codec主要完成音視頻的核心算法,應(yīng)用程序運行時被調(diào)用,并不參與其他功能。
第二步,將Codec集成到Codec Engine中。將第一步開發(fā)完成的Codec或已有的符合xDM的Codec集成到Codec Engine中,這一步需要配置兩個JavaScript的腳本文件,其中一個腳本文件表明了,Codec的使用和配置信息,文件名一般為*.cfg,另一個描述了Codec在達芬奇上的內(nèi)存分配的配置,文件名一般為*tcf,配置好這兩個文件后,使用make命令即可生成Codec Engine,其文件名一般為*.X64P?杀粦(yīng)用程序直接調(diào)用。
第三步,開發(fā)音視頻應(yīng)用程序,并在其中調(diào)用Codec Engine。在Linux下開發(fā)音視頻應(yīng)用程序,包括用戶界面,音視頻的采集、播放、同步等,其中完成對Codec Engine的調(diào)用,應(yīng)用程序也要完成一個擴展名為cfg的腳本配置文件,以表明對Codec Engine的使用狀況。
第四步,加載DSPLINK和CMEM模塊,運行應(yīng)用程序
至此一個完整的達芬奇音視頻應(yīng)用程序就完成了,其中許多過程是通過腳本文件配置完成的,過程非常簡單易懂,下面我們需要在達芬奇上運行它,首先要加載DSPLINK和CMEM兩個驅(qū)動程序模塊,其中DSPLINK主要實現(xiàn)了arm和dsp的底層通信,而CMEM則主要是完成了在物理段上分配連續(xù)內(nèi)存的功能,加載完這兩個模塊,我們便可以直接運行已完成的應(yīng)用程序。