如何利用mcu流畅的播放视频?-64体育

×
嵌入式 > 嵌入式开发 > 详情

如何利用mcu流畅的播放视频?

发布时间:2024-08-26 发布时间:
|

cortex-m7处理器的核心本质为微控制器,却拥有高达600mhz的主频,高密度的512kb tcm sram和16mb的高速sdram,超快的实时响应,超强处理性能赋予了rt1052视频编解码的能力。

对于视屏应用来说,当处理器内部不具备gpu单元时,编解码库对视频文件的解码需要由cpu提供快速的运算能力以及大量的内存作为缓冲,这是传统单片机无法胜任的主要因素,所以视频应用多采用m6y2c cortex-a7\m6708 cortex-a9这类应用处理器的核心板。

m1052作为cortex-m7核的跨界核心板,已兼备了体积小、低功耗、简单易用、低成本等优点,是否还能具备强劲的音视频编解码能力呢?


图 1 m1052跨界核心板

i.mx rt1052对视频应用的支持

i.mx rt1052虽然采用了mcu内核,但基于应用处理器的架构方式,既能实现应用处理器的高性能和丰富功能,同时又兼具传统mcu的易用性和实时低功耗运行特性,填补高性能与易用性之间的空白。

i.mx rt1052的内核运行速度高达600mhz,内置高密度的512kb tcm sram,并能够实现超快的实时响应,中断延迟低至20纳秒。并支持semc接口,可挂载sdram作为内存扩充。elcdif外设可轻松实现显示屏的驱动,并内置的sai音频接口和mqs声卡,为音视频应用提供了良好的支持。


图 2 rt1052框架图

一、m1052核心板视频应用开发

m1052核心板虽然以工业控制应用为主导,但也可以用于多媒体应用,辅助产品多元化。m1052核心板板载16mb sdram,赋予数据极大的缓冲空间,可挂载tf卡、u盘、nand,qspi flash,为系统应用提供大容量的存储扩展。支持超高分辨率的1366x768 lcd显示屏,支持硬件浮点运算,刷图速度可达80帧/s,丰富的资源和强劲性能为视频应用开发打下了坚实的基础。

m1052核心板配套aworks sdk软件包,已经为用户配置好了开发视频应用相关的外设驱动,用户无需关系底层外设驱动,可直接开始视频应用的开发,并提供一个视频播放器demo程序,为用户进行视频应用开发提供一定的参考。


图 3 视频播放器示例

二、集成专业编解码函数库

libjpeg是一个开源的jpeg压缩/解压缩函数库,具有稳定性高,兼容性强,解码速度快等优点。解码库全部由c语言实现的,非常容易移植到不同平台上。对比i.mx rt1052的性能和资源,解码库使用libjpeg是个不错的选择。因此,视频播放器demo程序中使用libjpeg实现对jpeg格式的avi视频解码。


图 4 支持libjpeg编解码函数库

多元化视频播放方式

视频播放demo程序实现了一个比较完善的视频播放器框架,gui界面任务负责图像显示和触屏处理,控制状态机对播放逻辑进行状态转换,音、视频的解码和播放任务协同工作,达到了良好的音视同步的效果,程序设计框架所示。


图 5 视频设计框架

视频播放器支持从的tf卡、u盘、nand flash读取视频文件,支持文件列表预览,文件选取,播放进度控制等功能。在音视频同步的情况下,能流畅播放480 x 272分辨率的25帧/s视频,cpu占用率约为35%,可见i.mx rt1052完全可以满足视频应用的需求。



『本文转载自网络,64体育的版权归原作者所有,如有侵权请联系删除』

热门文章 更多
74ls164功能及工作原理
网站地图