| # Test vectors |
| |
| Test vectors are grouped with a common prefix. For example test_000012 has |
| several files associated with it. |
| |
| - Metadata describing the test vector:`test_000012.textproto`. |
| - Standalone IAMF bitstream: `test_000012.iamf`. |
| - Fragmented MP4 file: `test_000012_f.mp4`. |
| - Standalone MP4 file: `test_000012_s.mp4`. |
| - Rendered WAV file (per `mix_presentation_id` x, sub mix index y, layout |
| index z): `test_000012_rendered_id_x_sub_mix_y_layout_z.wav` |
| |
| ## .textproto files |
| |
| Theses file describe metadata about the test vector to encode an |
| [IA Sequence](https://aomediacodec.github.io/iamf/#standalone-ia-sequence). |
| |
| - `is_valid`: True when the encoder can produce an IA Sequence where all mixes |
| would be understood by a compliant decoder. False when one or more mixes |
| exercise fields or features which would cause mixes to be ignored. |
| - `is_valid_to_decode`: True when an IAMF-compliant decoder could decode at |
| least one mix of the associated IA Sequence ("should-pass"). False when all |
| mixes are non-conformant and may fail to be decoded ("should-fail"). The |
| IAMF spec does not specify what happens when requirements are violated; a |
| robust system may still attempt to process and create output for |
| "should-fail" tests. |
| - `human_readable_descriptions`: A short description of what is being tested |
| and why. |
| - `mp4_fixed_timestamp`: The timestamp within the MP4 file. Can be safely |
| ignored. |
| - `primary_tested_spec_sections`: A list of the main sections being tested. In |
| the form `X.Y.Z/class_or_field_name` to represent the `class_or_field_name` |
| in the IAMF specification Section `X.Y.Z` is being tested. |
| - `base_test`: The recommended textproto to diff against. |
| - Other fields refer to the OBUs and data within the test vector. |
| |
| # Input WAV files |
| |
| Test vectors may have multiple substreams with several input .wav files. These |
| .wav files may be shared with other test vectors. The .textproto file has a |
| section which input wav file associated with each substream. |
| |
| ## Summary |
| |
| Title | Summary | Channels | Sample Rate | Format | Duration |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- | ----------- | --------- | -------- |
| `audiolab-acoustic-guitar_2OA_470_ALLRAD_0.5s` | Short clip of a guitar playing using 7.1.4. | 12 | 48kHz | pcm_s16le | 500ms |
| `audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav` | Short clip of a guitar playing using 7.1.4. | 12 | 48kHz | pcm_s16le | 5s |
| `audiolab-acoustic-guitar_2OA_470_ALLRAD_concat.wav` | Clip of a guitar playing which which is repeated once using 7.1.4. | 12 | 48kHz | pcm_s16le | 22.77s |
| `dialog_clip_stereo.wav` | English dialog. | 2 | 48kHz | pcm_s16le | 5s |
| `Mechanism_5s_32bit.wav` | Mechanical noises using 7.1.4. | 12 | 48kHz | pcm_s32le | 5s |
| `Mechanism_5s.wav` | Mechanical noises using 7.1.4. | 12 | 48kHz | pcm_s16le | 5s |
| `Mechanism_5s_44100hz_s16le.wav` | Mechanical noises using 7.1.4. | 12 | 44.1k | pcm_s16le | 5s |
| `sample1_48kHz_stereo.wav` | Sawtooth wave. | 2 | 48kHz | pcm_s16le | 5s |
| `sawtooth_10000_foa_48kHz.wav` | Sawtooth wave using first-order ambisonics. | 4 | 48kHz | pcm_s16le | 500ms |
| `sawtooth_10000_stereo_44100hz_s16le.wav` | Sawtooth wave. | 2 | 44.1kHz | pcm_s16le | 500ms |
| `sawtooth_10000_stereo_48kHz_s24le.wav` | Sawtooth wave. | 2 | 48kHz | pcm_s24le | 500ms |
| `sawtooth_10000_stereo_48kHz.wav` | Sawtooth wave. | 2 | 48kHz | pcm_s16le | 500ms |
| `sawtooth_100_stereo.wav` | Sawtooth wave. | 2 | 16kHz | pcm_s16le | 500ms |
| `sawtooth_8000_toa_48kHz.wav` | Sawtooth wave using third-order ambisonics. | 16 | 48kHz | pcm_s16le | 500ms |
| `sine_1000_16kHz_512ms.wav` | Sine wave. | 2 | 16kHz | pcm_s16le | 512ms |
| `sine_1000_16khz_512ms_s32le.wav` | Sine wave. | 1 | 16kHz | pcm_s32le | 512ms |
| `sine_1000_48kHz_512ms.wav` | Sine wave. | 2 | 48kHz | pcm_s16le | 512ms |
| `sine_1000_48kHz.wav` | Sine wave. | 2 | 48kHz | pcm_s16le | 500ms |
| `sine_1000_4oa_48kHz.wav` | Sine wave using fourth-order ambisonics. | 25 | 48kHz | pcm_s16le | 5000ms |
| `sine_1500_stereo_48khz_-15dBFS.wav` | Sine wave using at -15dBFS. | 2 | 48kHz | pcm_s16le | 5000ms |
| `stereo_8_samples_48khz_s16le.wav` | Tiny test file. The first channel encodes 1, 2, ... 8. The second channel encodes 65535, 65534, ... 65528. | 2 | 48kHz | pcm_s16le | 8 samples |
| `stereo_8_samples_48khz_s24le.wav` | Tiny test file. The first channel encodes 1, 2, ... 8. The second channel encodes 16777216, 16777215, ... 16777209. | 2 | 48kHz | pcm_s24le | 8 samples |
| `Transport_TOA_5s.wav` | Short clip of vehicles driving by using third-order ambisonics. | 16 | 48kHz | pcm_s16le | 5s |
| `Transport_9.1.6_5s.wav` | Short clip of vehicles driving by using 9.1.6. | 16 | 48kHz | pcm_s16le | 5s |
| |
| # Output WAV files |
| |
| Output wav files are based on the |
| [layout](https://aomediacodec.github.io/iamf/#syntax-layout) in the mix |
| presentation. Typically the ordering of channels is based on the related |
| [ITU-2051-3](https://www.itu.int/rec/R-REC-BS.2051) layout. |
| |
| Mix Presentation Layout | Channel Order Convention | Channel Order |
| ----------------------- | ------------------------ | ------------- |
| Sound System A (0+2+0) | ITU-2051-3 | L, R |
| Sound System B (0+5+0) | ITU-2051-3 | L, R, C, LFE, Ls, Rs |
| Sound System C (2+5+0) | ITU-2051-3 | L, R, C, LFE, Ls, Rs, Ltf, Rtf |
| Sound System D (4+5+0) | ITU-2051-3 | L, R, C, LFE, Ls, Rs, Ltf, Rtf, Ltr, Rtr |
| Sound System E (4+5+1) | ITU-2051-3 | L, R, C, LFE, Ls, Rs, Ltf, Rtf, Ltr, Rtr, Cbf |
| Sound System F (3+7+0) | ITU-2051-3 | C, L, R, LH, RH, LS, LB, RB, CH, LFE1, LFE2 |
| Sound System G (4+9+0) | ITU-2051-3 | L, R, C, LFE, Lss, Rss, Lrs, Rrs, Ltf, Rtf, Ltb, Rtb, Lsc, Rsc |
| Sound System H (9+10+3) | ITU-2051-3 | FL, FR, FC, LFE1, BL, BR, FLc, FRc, BC, LFE2, SiL, SiR, TpFL, TpFR, TpFC, TpC, TpBL, TpBR, TpSiL, TpSiR, TpBC, BtFC, BtFL, BtFR |
| Sound System I (0+7+0) | ITU_2051-3 | L, R, C, LFE, Lss, Rss, Lrs, Rrs |
| Sound System J (4+7+0) | ITU_2051-3 | L, R, C, LFE, Lss, Rss, Lrs, Rrs, Ltf, Rtf, Ltb, Rtb |
| Sound System 10 | IAMF | L7, R7, C, LFE, Lss7, Rss7, Lrs7, Rrs7, Ltf2, Rtf2 |
| Sound System 11 | IAMF | L3, R3, C, LFE, Ltf3, Rtf3, |
| Sound System 12 | IAMF | C |
| Sound System 13 | IAMF | FL, FR, FC, LFE, BL, BR, FLc, FRc, SiL, SiR, TpFL, TpFR, TpBL, TpBR, TpSiL, TpSiR |
| Binaural Layout | IAMF | L2, R2 |