新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于SMP8654的MKV播放器設(shè)計(jì)與實(shí)現(xiàn)

基于SMP8654的MKV播放器設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-09-07 來源:網(wǎng)絡(luò) 收藏

媒體文件的播放流程一般包括如下幾個(gè)步驟:系統(tǒng)初始化、判斷文件類型、文件解析、設(shè)置硬件解碼器和音視頻解碼,其中文件解析和音視頻解碼是關(guān)鍵部分。由于集成了完善的音視頻硬件解碼器,解碼工作主要由硬件完成,我們只需將音視頻數(shù)據(jù)按要求送入相應(yīng)的解碼緩沖區(qū)即可。整體的軟件架構(gòu)如圖2所示。

本文引用地址:http://butianyuan.cn/article/166596.htm

10b.jpg

3 系統(tǒng)關(guān)鍵技術(shù)
3.1 文件解析
文件解析主要是對(duì)格式的各個(gè)組成元素進(jìn)行解析,以獲得必需的音視頻參數(shù)和媒體數(shù)據(jù)。MKV作為一種封裝格式,實(shí)際的視頻和音頻數(shù)據(jù)都被封裝到某一個(gè)子模塊中,要想獲得實(shí)際的數(shù)據(jù),必須首先對(duì)文件進(jìn)行解析,并且文件解析貫穿播放的全過程。能否有效并正確的解析,關(guān)系到讀取數(shù)據(jù)的準(zhǔn)確性,進(jìn)而影響播放的效果。MKV格式采用可變長(zhǎng)編碼,能夠減少存儲(chǔ)空間,另一方面,也給解析帶來了新問題。
MKV文件格式建立在EBML(Extensible Binary MetaLanguagel基礎(chǔ)上,EBML是一種類似于XML格式的可擴(kuò)展二進(jìn)制元語(yǔ)言,使用可變長(zhǎng)度的整數(shù)存儲(chǔ),以節(jié)省空間。EBML的基本結(jié)構(gòu)是典型的TLV結(jié)構(gòu),有三部分組成:

10c.jpg

ID標(biāo)志屬性類型,size為后面data部分的大小,data部分為ID所標(biāo)識(shí)屬性的實(shí)際數(shù)據(jù),ID和size均為可變長(zhǎng)編碼的整數(shù)。整數(shù)的長(zhǎng)度為length=1+[number of leading zero bits]。前面的零的個(gè)數(shù)最多為7個(gè),即最多能表示56個(gè)比特的整數(shù)。文件中不允許出現(xiàn)大于56比特的數(shù)。

10d.jpg

adc相關(guān)文章:adc是什么




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉