RIFF WAV ファイルではフォーマットパラメータのエンディアン性が保証されていますか?

StackOverflow https://stackoverflow.com/questions/1111539

  •  12-09-2019
  •  | 
  •  

質問

RIFF WAV ファイルではフォーマットパラメータのエンディアン性が保証されていますか?私は持っている 相反する答えを聞いた これには、への参照も含めて、 RIFX ファイル形式。

役に立ちましたか?

解決

はい。

ファイルが RIFF で始まる場合、それはリトル エンディアンです。FFIR または RIFX で始まる場合は、おそらくそうではありません。一般に、WAV 形式のサポートは RIFF ファイルのサポートを意味しますが、RIFX サポートの追加は難しくありません。

BWF (Broadcast Wave Format) の AES31 仕様は、RIFF の次の仕様を参照しています。 http://www.tactilemedia.com/info/MCI_Control_Info.html

これから:

Riffには、Intel形式ではなくMotorola Integer Byte-Ordering形式を使用するRIFFファイル形式を定義するために使用される対応物rifxがあります。RIFXファイルは、最初の4バイトが「リフ」ではなく「RIFX」であり、整数バイトの順序付けがMotorola形式で表されることを除いて、RIFFファイルと同じです。

あなたが参照している KVR 記事では、作者がバイトスワップされた値を取得するビッグエンディアン システム (Motorola PPC) での int* の誤った使用方法について言及しています。クロスエンディアン コードを作成する場合は、バイト スワッピングを正しく処理するために常に注意が必要です。

ディスク上のファイルの 0 番目のバイトが「R」で、3 番目のバイトが「F」であれば、残りの内容はリトル エンディアンで保存されることが確実です。

RIFX は広く使用されていません。ほとんどのビッグエンディアン RIFF 実装は、バイトをディスクにスワップし、正しい RIFF ファイルを生成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top