在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RIFF文件格式簡(jiǎn)介

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-10-07 16:25 ? 次閱讀

1、簡(jiǎn)介

RIFF(Resources Interchange File Format)中文翻譯為資源互換文件格式,是Windows下大部分多媒體文件遵循的一種文件結(jié)構(gòu)。

RIFF文件所包含的數(shù)據(jù)類型由該文件的擴(kuò)展名來標(biāo)識(shí),能以RIFF格式存儲(chǔ)的數(shù)據(jù)有:

音頻視頻交錯(cuò)格式數(shù)據(jù) .AVI;

波形格式數(shù)據(jù) .WAV;

位圖數(shù)據(jù)格式 .RDI;

MIDI格式數(shù)據(jù) .RMI;

調(diào)色板格式 .PAL;

多媒體電影 .RMN;

動(dòng)畫光標(biāo) .ANI;

其他的RIFF文件 .BND;

2、chunk

chunk(區(qū)塊)是RIFF文件的基本單元,RIFF文件由不同數(shù)量的chunk組成,每個(gè)chunk由“標(biāo)識(shí)符”、“數(shù)據(jù)大小”和“數(shù)據(jù)”三個(gè)部分組成,“標(biāo)識(shí)符”和“數(shù)據(jù)大小”都是占用 4 個(gè)字節(jié)空間,chunk的基本結(jié)構(gòu)如下所示:

structchunk
{
uint32_tID;//塊標(biāo)識(shí)符
uint32_tSize;//塊數(shù)據(jù)大小
uint8_tData[Size];//塊數(shù)據(jù)
};

ID:由4個(gè)ASCII字符組成,用以識(shí)別塊中所包含的數(shù)據(jù)。如:'RIFF','LIST','fmt ','data','WAV ','AVI '等,這種文件結(jié)構(gòu)最初是由Microsoft和IBM為PC機(jī)所定義,所以RIFF文件是按照小端字節(jié)順序?qū)懭氲摹?/p>

Size:塊數(shù)據(jù)大小,存儲(chǔ)在Data域中的數(shù)據(jù)長(zhǎng)度,不包含ID和Size的大小。

Data:塊數(shù)據(jù),數(shù)據(jù)以字為單位存放,如果數(shù)據(jù)長(zhǎng)度為奇數(shù)(字節(jié)為單位),則最后添加一個(gè)空字節(jié)。

chunk是可以嵌套的,但是只有塊標(biāo)識(shí)符為'RIFF'或者'LIST'的chunk才能包含其他的chunk。

3、FourCC

FourCC(Four Character Codes)是一個(gè)4字節(jié)32位的標(biāo)識(shí)符,通常用來標(biāo)識(shí)文件的數(shù)據(jù)格式。例如,在音視頻播放器中,可以通過文件的FourCC來決定調(diào)用哪種CODEC進(jìn)行音視頻的解碼。例如:DIV3,DIV4,DIVX,H264等,對(duì)于音頻則有:WAV,MP3等。FourCC是4個(gè)ASCII字符,不足四個(gè)字符的則在最后補(bǔ)充空格(不是空字符)。比如,F(xiàn)ourCC fmt,實(shí)際上是'f' 'm' 't' ' '。

4、RIFF chunk和LIST chunk

塊標(biāo)識(shí)符ID為'RIFF'的chunk是比較特殊的,每一個(gè)RIFF文件首先存放的必須是一個(gè)RIFF chunk,并且只能有一個(gè)標(biāo)識(shí)符為'RIFF'的chunk。RIFF chunk的數(shù)據(jù)域的起始位置是一個(gè)4字節(jié)的FormType(FourCC格式),用于標(biāo)識(shí)RIFF chunk數(shù)據(jù)域中所包含的chunk的數(shù)據(jù)類型。緊接著FormType之后的數(shù)據(jù)域的內(nèi)容則是RIFF chunk所包含的subchunk。一個(gè)簡(jiǎn)單的RIFF chunk的示意圖如下所示:

f7ba09ee-64e2-11ee-939d-92fbcf53809c.png

riff1

上圖中的RIFF chunk包含有兩個(gè)subchunk,可以看出RIFF chunk的數(shù)據(jù)域首先是4字節(jié)的FormType,接著是兩個(gè)subchunk,每一個(gè)subchunk又包含有自己的標(biāo)識(shí)符、數(shù)據(jù)域的大小以及數(shù)據(jù)域。

除了RIFF chunk可以嵌套其他的chunk外,另一個(gè)可以包含subchunk的就是LIST chunk,其示意圖如下所示:

f7d0f884-64e2-11ee-939d-92fbcf53809c.png

riff2

上圖中,首先是RIFF文件必須的RIFF chunk,其數(shù)據(jù)域又包含有兩個(gè)subchunk,其中一個(gè)subchunk的類型為'LIST',該LIST chunk又包含了兩個(gè)subchunk。

RIFF chunk和LIST chunk的基本結(jié)構(gòu)如下所示:

structchunk
{
uint32_tID;//塊標(biāo)識(shí)符:'RIFF'或者'LIST'
uint32_tSize;//塊數(shù)據(jù)大小
structChunkData{//塊數(shù)據(jù)
uint32_tType;//包含的subchunk的數(shù)據(jù)類型,與上面圖中的FormType和ListType對(duì)應(yīng)
uint8_tData[Size-4];//包含的subchunk
};
};

備注:一個(gè)RIFF文件的總大小為:RIFF chunk的Size+8,這里的8是ID和Size所占用的空間。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7640

    瀏覽量

    166635
  • ASCII
    +關(guān)注

    關(guān)注

    5

    文章

    172

    瀏覽量

    35733

原文標(biāo)題:RIFF文件格式詳解

文章出處:【微信號(hào):嵌入式那些事,微信公眾號(hào):嵌入式那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MP3 文件格式資料

    MP3 文件格式資料
    發(fā)表于 04-08 03:37 ?22次下載

    如何光繪輸出AutoCAD文件格式

    教你光繪輸出AutoCAD文件格式
    發(fā)表于 06-07 15:16 ?36次下載

    .mpp文件格式打開軟件下載

    .mpp文件格式打開
    發(fā)表于 07-07 13:14 ?2517次下載

    適用于IPTV大并發(fā)應(yīng)用的文件格式

    分析交互式網(wǎng)絡(luò)電視(IPTV)大并發(fā)應(yīng)用的特性,提出一種適用于IPTV大并發(fā)應(yīng)用的服務(wù)器內(nèi)部文件格式cl4文件格式。該文件格式采用了符合IPTV大并發(fā)應(yīng)用特性的音視頻數(shù)據(jù)交織、媒體數(shù)
    發(fā)表于 04-15 10:02 ?17次下載

    LabVIEW數(shù)據(jù)文件格式的視頻教程

    LabVIEW數(shù)據(jù)文件格式的視頻教程 LabVIEW數(shù)據(jù)文件格式之華山論
    發(fā)表于 03-26 12:16 ?113次下載

    MD產(chǎn)品支持文件格式

    MD產(chǎn)品支持文件格式              支持文件
    發(fā)表于 12-22 10:06 ?1602次閱讀

    數(shù)碼相機(jī)伴侶的文件格式

    數(shù)碼相機(jī)伴侶的文件格式              文件格式指的是數(shù)碼相機(jī)伴侶獨(dú)特的文件系統(tǒng)結(jié)構(gòu)在
    發(fā)表于 12-23 10:05 ?944次閱讀

    GIF圖形文件格式文檔

    GIF圖形文件格式文檔 GIF圖形文件格式文檔 GIF圖形文件格式文檔
    發(fā)表于 05-24 10:53 ?2次下載

    GIF文件格式詳解

    GIF文件格式詳解 GIF文件格式詳解 GIF文件格式詳解
    發(fā)表于 05-24 10:53 ?2次下載

    了解LabVIEW數(shù)據(jù)文件格式

    LabVIEW數(shù)據(jù)文件格式之華山論劍視頻教程
    的頭像 發(fā)表于 06-25 00:13 ?5099次閱讀
    了解LabVIEW數(shù)據(jù)<b class='flag-5'>文件格式</b>

    Intel Hex 文件格式

    簡(jiǎn)介這種文件格式一般是以hex為后綴名,在嵌入式MCU程序開發(fā)中,經(jīng)常編譯鏈接后生成一個(gè)這樣文件,然后將這個(gè)文件燒寫到MCU的ROM中。所以,這個(gè)是開發(fā)工程的輸出
    發(fā)表于 12-06 10:06 ?4次下載
    Intel Hex <b class='flag-5'>文件格式</b>

    STM32--hex文件格式

    ? ? hex 是 Intel 公司制定的一種使用 ASCII 文本記錄機(jī)器碼或常量數(shù)據(jù)的文件格式,它可以燒錄到MCU中,被MCU執(zhí)行的一種文件格式。一個(gè)hex文件由多條記錄組成,而每條記錄由5個(gè)
    發(fā)表于 12-06 11:21 ?4次下載
    STM32--hex<b class='flag-5'>文件格式</b>

    WAV文件格式詳解

    WAV是微軟公司開發(fā)的一種音頻格式文件,用于保存Windows平臺(tái)的音頻信息資源,它符合資源互換文件格式(Resource Interchange File Format,RIFF)文件
    的頭像 發(fā)表于 10-21 09:52 ?1.2w次閱讀
    WAV<b class='flag-5'>文件格式</b>詳解

    常用對(duì)象文件格式

    電子發(fā)燒友網(wǎng)站提供《常用對(duì)象文件格式.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 09:25 ?0次下載
    常用對(duì)象<b class='flag-5'>文件格式</b>

    EPS文件格式如何轉(zhuǎn)換 EPS和SVG文件的區(qū)別

    EPS文件格式轉(zhuǎn)換 EPS(Encapsulated PostScript)是一種用于存儲(chǔ)矢量圖形的文件格式,最初由Adobe公司開發(fā)。由于EPS文件在打印時(shí)能夠保持極高的質(zhì)量,并且廣泛被各種
    的頭像 發(fā)表于 11-19 10:31 ?1906次閱讀
    主站蜘蛛池模板: 丁香六月色婷婷 | 日韩毛片在线 | 深爱激情成人 | 久久精品综合 | 亚洲一级视频在线观看 | 狠狠狠狠狠狠 | 国产精品人人爱一区二区白浆 | 视频网站在线 | 欧美日韩看片 | 色之综合天天综合色天天棕色 | 五月婷婷丁香久久 | 久久夜色tv网站免费影院 | 国产午夜人做人视频羞羞 | 天天爱天天做久久天天狠狼 | 国产午夜一区二区在线观看 | 黄色日本视频网站 | 久久夜视频 | 久久亚洲国产午夜精品理论片 | 男人的天堂黄色 | 天堂a免费视频在线观看 | 色综合色综合色综合色综合网 | 寡妇影院首页亚洲图片 | 成人国产一区二区 | 精品国产亚洲人成在线 | www在线视频 | 嫩草网| 韩国精品videosex性韩国 | 国产精品久久久久久久久kt | 国产拍拍视频 | 四虎影院欧美 | 亚洲狼色专区 | 狠狠操狠狠操 | 6969精品视频在线观看 | 天天综合天天添夜夜添狠狠添 | 1024国产基地永久免费 | 91成人免费观看 | 国产在线精品观看 | 日本一区二区三区四区不卡 | 中日韩黄色大片 | 亚洲色图2| 福利你懂的 |