微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于MP2530F平台的媒体播放器

基于MP2530F平台的媒体播放器

时间:08-22 来源:单片机与嵌入式系统 点击:


由于硬件的关系,在进入解码器前,系统需要ARM946E先打开MPEG视频处理器并进行初始化,做好解码MPEG4视频流的准备。所以,我们在Mplayer使用分离器解析出AVI视频媒体文件的音视频流后,调用了ARM946E进行准备工作。

当主程序进入图3(b)所示的解码流程,每读取一帧需要解码的图像后,使用先前打开的视频处理器解码媒体流数据,并把解码完的帧数据返回到帧数据缓冲区(在初始化时分配好的缓冲区空间),等待主程序调用输出到frame buffer播放图像。

当主程序播放图像后,每播完一帧后会判断该帧是否为文件的结尾。如果不是,则转回解码器读取下一帧图像继续解码;如果是,就关闭输出设备,关闭解码器,结束播放。结果成功实现硬件解码器的开发。

3 软解码和硬解码比较

通过测试,经过优化开发的硬件解码器最高可以支持视频:WVGA格式,帧速为30 fps,码流为4 Mbps;D1格式,帧速为30 fps,码流为6 Mbps。

软硬解码比较如表1所列。


比较软解码(ffmpeg解码器)和硬解码的性能如下:

①调用软解码解码高清视频时,由于未能合理分配使用内存空间,且过分依赖主核心解码图像数据,不仅过分占用系统资源(主CPU和内存),而且播放的效果也不理想,视频播放严重缓慢,极不流畅。

②调用硬解码器时,使用从处理器调用视频处理器实现硬件解码,并分配指定内存区域存储媒体流数据,极大降低了CPU和内存的占用率,同时视频播放流畅、清晰,效果理想。

结 语

本文介绍了MP2530F平台的基本架构,分析了双核处理器的调用流程,在MP2530F开发平台上移植了Mplayer播放器,并在此基础上开发基于该平台的硬件解码器,成功实现了解码AVI高清视频及播放,体现了一个多媒体芯片的重要功能。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top