RF64
# RF64

RF64 is a BWF-compatible multichannel audio file format enabling file sizes to exceed 4 GB. It has been specified by the European Broadcasting Union. It has been accepted as the ITU recommendation ITU-R BS.2088.

The file format is designed to meet the requirements for multichannel sound in broadcasting and audio archiving. It is based on the Microsoft RIFF/WAVE format and Wave Format Extensible for multichannel parameters. Additions are made to the basic specification to allow for more than 4 GB file sizes when needed (the new maximum filesize is now approximately 16 exabytes). The format is transparent to the BWF and all its supplements and chunks. RF64 WAV files typically use the .wav file extension.

## Capability

A maximum of 18 surround channels, stereo down mix channel and bit stream signals with non-PCM coded data can also be stored in the file format. RF64 can be used in the entire programme chain from capture to editing and play out and for short or long term archiving of multichannel files.

Due to the inconsistent usage of CUE data definition, the additional requirement that CUE chunk names be stored in an additional LABL chunk, along with the inherent 32-bit limitation of the CUE chunk pointer index, the 2009 RF64 format also defines a new 'r64m' marker chunk.

The RF64 file format should fulfill the longer-term need for multichannel sound in broadcasting and archiving. The required effort for software implementers is very small. The changes that will be needed to update existing systems will be reasonable in cost.

## Format

In its basic form, the 32-bit chunk size field at offset 4 in the file is set to -1 (0xFFFFFFFF), and immediately following that a new 'ds64' chunk is inserted (before the FMT chunk). This new ds64 chunk will contain the 64-bit sizes of the DATA chunk(s), using a simple sequential table mechanism to point to additional DATA chunks. The first 4 bytes of the file are then changed from 'RIFF' to 'BW64'.

RF64 files define the following extra chunks:

* BW64, replaces "RIFF"
* ds64, data size 64, first chunk under BW64
* axml, from BWF
* bxml, like "axml" in BWF (ITU-R BS.1352-3), but compressed
* sxml, sound-related XML data
* chna, channel info
* JUNK, a placeholder for ds64

An RF64 file with a 'bext' chunk becomes an MBWF-file. 'bext' is not part of RF64 per se.

