如何利用MCU流暢的播放視頻?
Cortex-M7處理器的核心本質(zhì)為微控制器,卻擁有高達600MHz的主頻,高密度的512KB TCM SRAM和16MB的高速SDRAM,超快的實(shí)時(shí)響應,超強處理性能賦予了RT1052視頻編解碼的能力。
本文引用地址:http://dyxdggzs.com/article/201806/382526.htm對于視屏應用來(lái)說(shuō),當處理器內部不具備GPU單元時(shí),編解碼庫對視頻文件的解碼需要由CPU提供快速的運算能力以及大量的內存作為緩沖,這是傳統單片機無(wú)法勝任的主要因素,所以視頻應用多采用M6Y2C Cortex-A7M6708 Cortex-A9這類(lèi)應用處理器的核心板。
M1052作為Cortex-M7核的跨界核心板,已兼備了體積小、低功耗、簡(jiǎn)單易用、低成本等優(yōu)點(diǎn),是否還能具備強勁的音視頻編解碼能力呢?

圖 1 M1052跨界核心板
i.MX RT1052對視頻應用的支持
i.MX RT1052雖然采用了MCU內核,但基于應用處理器的架構方式,既能實(shí)現應用處理器的高性能和豐富功能,同時(shí)又兼具傳統MCU的易用性和實(shí)時(shí)低功耗運行特性,填補高性能與易用性之間的空白。
i.MX RT1052的內核運行速度高達600MHz,內置高密度的512KB TCM SRAM,并能夠實(shí)現超快的實(shí)時(shí)響應,中斷延遲低至20納秒。并支持SEMC接口,可掛載SDRAM作為內存擴充。eLCDIF外設可輕松實(shí)現顯示屏的驅動(dòng),并內置的SAI音頻接口和MQS聲卡,為音視頻應用提供了良好的支持。

圖 2 RT1052框架圖
一、M1052核心板視頻應用開(kāi)發(fā)
M1052核心板雖然以工業(yè)控制應用為主導,但也可以用于多媒體應用,輔助產(chǎn)品多元化。M1052核心板板載16MB SDRAM,賦予數據極大的緩沖空間,可掛載TF卡、U盤(pán)、Nand,QSPI Flash,為系統應用提供大容量的存儲擴展。支持超高分辨率的1366X768 LCD顯示屏,支持硬件浮點(diǎn)運算,刷圖速度可達80幀/S,豐富的資源和強勁性能為視頻應用開(kāi)發(fā)打下了堅實(shí)的基礎。
M1052核心板配套AWorks SDK軟件包,已經(jīng)為用戶(hù)配置好了開(kāi)發(fā)視頻應用相關(guān)的外設驅動(dòng),用戶(hù)無(wú)需關(guān)系底層外設驅動(dòng),可直接開(kāi)始視頻應用的開(kāi)發(fā),并提供一個(gè)視頻播放器Demo程序,為用戶(hù)進(jìn)行視頻應用開(kāi)發(fā)提供一定的參考。

圖 3 視頻播放器示例
二、集成專(zhuān)業(yè)編解碼函數庫
libjpeg是一個(gè)開(kāi)源的JPEG壓縮/解壓縮函數庫,具有穩定性高,兼容性強,解碼速度快等優(yōu)點(diǎn)。解碼庫全部由C語(yǔ)言實(shí)現的,非常容易移植到不同平臺上。對比i.MX RT1052的性能和資源,解碼庫使用libjpeg是個(gè)不錯的選擇。因此,視頻播放器Demo程序中使用libjpeg實(shí)現對JPEG格式的AVI視頻解碼。

圖 4 支持libjpeg編解碼函數庫
多元化視頻播放方式
視頻播放Demo程序實(shí)現了一個(gè)比較完善的視頻播放器框架,GUI界面任務(wù)負責圖像顯示和觸屏處理,控制狀態(tài)機對播放邏輯進(jìn)行狀態(tài)轉換,音、視頻的解碼和播放任務(wù)協(xié)同工作,達到了良好的音視同步的效果,程序設計框架所示。

圖 5 視頻設計框架
視頻播放器支持從的TF卡、U盤(pán)、Nand Flash讀取視頻文件,支持文件列表預覽,文件選取,播放進(jìn)度控制等功能。在音視頻同步的情況下,能流暢播放480 X 272分辨率的25幀/s視頻,CPU占用率約為35%,可見(jiàn)i.MX RT1052完全可以滿(mǎn)足視頻應用的需求。
評論