论文部分内容阅读
音视频播放是计算机系统中的典型应用之一。针对高清晰度音视频解码数据量大、计算复杂度高的特点,通常基于通用处理器和专用解码器的硬件结构,采用片上异构多核协同的方法实现高效的处理。本文结合PKUnity86-2系统芯片结构特点,阐述了一款基于异构多核系统结构的多格式高清晰音视频解码和播放软件的设计和实现方法。 首先,本文分析了高清视频播放软件的实现框架,以MPlayer架构为基础,结合PKUnity86-2系统芯片异构多核特性,面向Windows XP操作系统,实现了一款多格式高清视频播放软件。该软件通过VAAPI硬件加速接口实现视频硬件加速功能,并扩展了VAAPI接口对RV、AVS、VC-1等编码格式的支持,实现了对多格式高清视频硬件加速的支持。 其次,本文针对高码率的高清蓝光音视频解码,采用多线程技术优化了MPlayer解码流程,通过将音视频串行解码优化为并行解码处理,实现了高清蓝光视频文件的流畅播放。本文还优化了高清视频数据的输出过程,通过修改显示部件与视频处理器驱动保证两者之间的协作机制,减少显示部件显示存储器与视频处理器输出缓冲之间的数据拷贝,从而保证高清视频数据的实时输出。此外,本文还对音频解码、字幕解码与显示等过程做了相关优化工作。 最后,本文基于PKUnity86软硬件环境,对实现的高清视频播放软件的功能和性能进行了评测。实验结果表明:该高清视频播放软件能够稳定而流畅的播放多格式高清视频文件,与基于单核处理器的软件解码相比,解码1080P高清视频帧率可以提升6倍以上,采用多线程技术优化后,处理器的占用率可以降低26.1%。