色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于TMS320DM6446的數(shù)字電影放映系統(tǒng)設(shè)計(jì)

          基于TMS320DM6446的數(shù)字電影放映系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2010-12-08 來(lái)源:網(wǎng)絡(luò) 收藏


          2 軟件設(shè)計(jì)
          數(shù)字電影放映系統(tǒng)的軟件設(shè)計(jì)主要是在Linux系統(tǒng)環(huán)境下,利用達(dá)芬奇軟件框架結(jié)構(gòu)來(lái)完成的。通過將符合數(shù)字媒體標(biāo)準(zhǔn)(xDM)的和視頻算法打包在由CodecEngine(代碼引擎)管理的Codec Server(代碼服務(wù)器)里,ARM端的應(yīng)用程序就可以調(diào)用集成在Codec Server里的和視頻算法,解碼來(lái)自Linux文件系統(tǒng)的、視頻、語(yǔ)音數(shù)據(jù),輸出到TMS320DM6446上控制視頻和語(yǔ)音外設(shè)的Linux器件驅(qū)動(dòng)器。
          2.1 達(dá)芬奇軟件開發(fā)方法
          在進(jìn)行本系統(tǒng)軟件開發(fā)時(shí),軟件開發(fā)流程如圖3所示。

          本文引用地址:http://cafeforensic.com/article/166312.htm


          軟件開發(fā)具體步驟如下:
          ①DSP端,在TI公司推出的CCS3.3開發(fā)環(huán)境下,把音視頻解碼算法修改成符合數(shù)字媒體標(biāo)準(zhǔn)(xDM)的形式,并編譯生成一個(gè)算法的庫(kù)文件*.lib(等同于Linux環(huán)境下的*.a(chǎn)64P,直接在Linux環(huán)境下修改文件后綴名即可)。
          ②生成一個(gè)在DSP上運(yùn)行的可執(zhí)行程序*.x64P(即.out文件),也就是Codec Server。本系統(tǒng)的Codec Server里集成了MPEG-2、MPEG-4、H.264、AAC、MP3、G.71l多種形式的音視頻解碼器。
          ③根據(jù)Codec Server的名稱及其中包含的具體的音視頻解碼算法,創(chuàng)建Codec Engine的配置文件*.cfg,包括Engine的不同配置、名稱,每個(gè)Engine里包括的Codec以及每個(gè)Codec運(yùn)行在ARM還是DSP端等。例如,在.cfg文件中,可以修改取得Codec模塊的相關(guān)語(yǔ)句,按需要引用Codec模塊。取得不同模塊的語(yǔ)句如下;

          代碼模塊可以自己開發(fā),也可以充分利用第三方的軟件技術(shù),任何與xDM兼容的算法都可以集成到Codec Server中。這樣就避免了開發(fā)的重復(fù)性,降低了開發(fā)的難度。
          ④將收集到的不同音視頻Codec包、Codec Server和Engine配置文件*.cfg以及應(yīng)用程序通過編譯、鏈接,最終生成ARM端可執(zhí)行文件。
          2.2 達(dá)芬奇中間框架Codec Engine
          Codec Engine是介于應(yīng)用程序和代碼服務(wù)器的中間層,是利用DaVinci技術(shù)簡(jiǎn)化數(shù)字產(chǎn)品開發(fā)的關(guān)鍵組件。它為應(yīng)用程序提供了VISA接口,在不必考慮復(fù)雜的視頻、圖像、話音和語(yǔ)音處理算法(VISA)的前提下,利用Codec Engine提供的API,應(yīng)用程序可以方便地調(diào)用符合xDM的算法組件。
          2.3 ARM端解碼應(yīng)用程序的設(shè)計(jì)
          本系統(tǒng)的應(yīng)用程序是在Linux系統(tǒng)環(huán)境下,利用DaVinci技術(shù)的Codec Engine提供的API來(lái)完成的。應(yīng)用程序運(yùn)行在TMS320DM6446雙核處理器的ARM端,解碼存儲(chǔ)在硬盤里的音頻、視頻、語(yǔ)音數(shù)據(jù),通過視頻末端輸出接口(VPBE)輸出,在OSD上實(shí)時(shí)顯示。
          解碼線程的流程如圖4所示。


          應(yīng)用程序主要包括5個(gè)POSIX線程:主線程(控制線程)、視頻線程、顯示線程、語(yǔ)音線程以及音頻線程。從圖4中可以看到,視頻、語(yǔ)音、音頻線程在主線程變成控制線程之前產(chǎn)生。顯示線程由視頻線程產(chǎn)生。“MSP430+IR”用來(lái)接收用戶輸入的命令,只有在命令行里提供了一個(gè)視頻文件時(shí),才能建立視頻線程。同時(shí),由于音頻和語(yǔ)音要求同樣的外設(shè)(AIC33),因此,不能同時(shí)解碼音頻和語(yǔ)音文件。此外,所有的線程都是搶占式的,基于優(yōu)先級(jí)的時(shí)序(SCHED_FIFO),其中,顯示線程具有最高的優(yōu)先級(jí),接下來(lái)是視頻線程,控制線程的優(yōu)先級(jí)最低。線程的初始化由Rendezvous公用程序模塊來(lái)同步。該模塊使用POSIX的條件來(lái)同步線程的初始化。每個(gè)線程執(zhí)行其初始化后,通知Rendezvous的對(duì)象。所有的線程都結(jié)束初始化后,同時(shí)解鎖,開始執(zhí)行主循環(huán)。



          關(guān)鍵詞: 編解碼器 音頻

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉