<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM平臺(tái)的MP3軟解碼算法研究與實(shí)現(xiàn)

          基于ARM平臺(tái)的MP3軟解碼算法研究與實(shí)現(xiàn)

          作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

          3.1 解碼器引擎初始化
          文件初始化解碼器,初始化過(guò)程中,解碼器讀取每一幀的幀頭信息而不對(duì)數(shù)據(jù)進(jìn)行解碼,快速計(jì)算出該文件的播放時(shí)間,并根據(jù)文件大小以秒或分鐘為單位內(nèi)建解碼位置索引。解碼位置索引的目的是為了快速的根據(jù)時(shí)間定位待解碼數(shù)據(jù)在文件中的位置。

          本文引用地址:http://www.ex-cimer.com/article/201610/306022.htm


          數(shù)據(jù)流緩存提供的功能有以下幾點(diǎn):
          初始化:該功能申請(qǐng)堆中的一塊內(nèi)存,用于以后存放緩存數(shù)據(jù)。
          注銷:負(fù)責(zé)釋放初始化時(shí)申請(qǐng)的內(nèi)存。
          寫(xiě)入數(shù)據(jù):向緩存的當(dāng)前寫(xiě)入位置后寫(xiě)入指定大小的數(shù)據(jù)。
          跳過(guò)指定大小數(shù)據(jù):將當(dāng)前讀取位置移動(dòng)到指定位置。
          獲取錯(cuò)誤信息:返回操作過(guò)程中產(chǎn)生的錯(cuò)誤信息。
          幀同步:將讀取位置跳轉(zhuǎn)到下一幀開(kāi)始位置。該操作的主要算法是每次讀取緩存11個(gè)比特,若這些比特全為1,則把其當(dāng)做下一幀的開(kāi)始位置。通過(guò)研究可知,該種算法并不能準(zhǔn)確判斷下一幀的開(kāi)始,但這種算法不進(jìn)行幀頭解碼,也不會(huì)漏掉數(shù)據(jù)。從時(shí)間和空間上講,都是一種比較好的選擇。
          解碼引擎以幀為解碼單位,每次輸出一幀的解碼輸出結(jié)構(gòu),結(jié)構(gòu)中包括pcm數(shù)據(jù)、長(zhǎng)度、采樣率、聲道數(shù),播放時(shí)間等信息。
          g.JPG



          關(guān)鍵詞: ARM平臺(tái) MP3 軟解碼算法

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();