Ist die Endianlichkeit von Formatparametern in RIFF WAV-Dateien garantiert?

8

Ist die Endianlichkeit von Formatparametern in RIFF WAV-Dateien garantiert? Ich habe widersprüchliche Antworten gehört, einschließlich Verweise auf RIFX Dateiformat.

    
Nick Van Brunt 10.07.2009, 19:32
quelle

1 Antwort

18

Ja.

Wenn die Datei mit RIFF beginnt, ist es Little Endian. Wenn es mit FFIR oder RIFX beginnt, dann ist es wahrscheinlich nicht. Im Allgemeinen bedeutet die Unterstützung des WAV-Formats die Unterstützung von RIFF-Dateien, obwohl das Hinzufügen von RIFX-Unterstützung sich nicht als schwierig erweisen sollte.

Die AES31-Spezifikation für BWF (Broadcast Wave Format) verweist auf diese Spezifikation für RIFF: Ссылка

Von diesem:

  

RIFF hat ein Gegenstück, RIFX, das heißt   verwendet, um RIFF-Dateiformate zu definieren   Verwenden Sie die Integer-Bytereihenfolge von Motorola   Format statt das Intel-Format. EIN   RIFX-Datei ist die gleiche wie eine RIFF-Datei,   außer dass die ersten vier Bytes sind   'RIFX' anstelle von 'RIFF' und Ganzzahl   Byte-Reihenfolge ist in dargestellt   Motorola-Format.

Der von Ihnen referenzierte KVR-Artikel bezieht sich auf die falsche Verwendung von int * auf Big-Endian-Systemen (Motorola PPC) durch den Autor, die Byte-vertauschte Werte abruft. Vorsicht ist immer geboten, um das Byte-Swapping beim Schreiben von Cross-Endian-Code korrekt zu handhaben.

Wenn das nullte Byte der Datei auf der Festplatte 'R' ist und das dritte 'F', können Sie sicher sein, dass der Rest des Inhalts in Little Endian gespeichert wird.

RIFX wird nicht häufig verwendet. Die meisten Big-Endian-RIFF-Implementierungen tauschen Bytes auf die Festplatte aus und erzeugen korrekte RIFF-Dateien.

    
Dave Gamble 10.07.2009, 19:45
quelle

Tags und Links