新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于SMP8654的MKV播放器设计与实现

基于SMP8654的MKV播放器设计与实现

作者:时间:2010-09-07来源:网络收藏

媒体文件的播放流程一般包括如下几个步骤:系统初始化、判断文件类型、文件解析、设置硬件解码器和音视频解码,其中文件解析和音视频解码是关键部分。由于集成了完善的音视频硬件解码器,解码工作主要由硬件完成,我们只需将音视频数据按要求送入相应的解码缓冲区即可。整体的软件架构如图2所示。

本文引用地址:http://www.eepw.com.cn/article/166596.htm

10b.jpg

3 系统关键技术
3.1 文件解析
文件解析主要是对格式的各个组成元素进行解析,以获得必需的音视频参数和媒体数据。MKV作为一种封装格式,实际的视频和音频数据都被封装到某一个子模块中,要想获得实际的数据,必须首先对文件进行解析,并且文件解析贯穿播放的全过程。能否有效并正确的解析,关系到读取数据的准确性,进而影响播放的效果。MKV格式采用可变长编码,能够减少存储空间,另一方面,也给解析带来了新问题。
MKV文件格式建立在EBML(Extensible Binary MetaLanguagel基础上,EBML是一种类似于XML格式的可扩展二进制元语言,使用可变长度的整数存储,以节省空间。EBML的基本结构是典型的TLV结构,有三部分组成:

10c.jpg

ID标志属性类型,size为后面data部分的大小,data部分为ID所标识属性的实际数据,ID和size均为可变长编码的整数。整数的长度为length=1+[number of leading zero bits]。前面的零的个数最多为7个,即最多能表示56个比特的整数。文件中不允许出现大于56比特的数。

10d.jpg

adc相关文章:adc是什么




评论


相关推荐

技术专区

关闭