• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Test vectors
2
3Test vectors are grouped with a common prefix. For example test_000012 has
4several files associated with it.
5
6-   Metadata describing the test vector:`test_000012.textproto`.
7-   Standalone IAMF bitstream: `test_000012.iamf`.
8-   Fragmented MP4 file: `test_000012_f.mp4`.
9-   Standalone MP4 file: `test_000012_s.mp4`.
10-   Rendered WAV file (per `mix_presentation_id` x, sub mix index y, layout
11    index z): `test_000012_rendered_id_x_sub_mix_y_layout_z.wav`
12
13## .textproto files
14
15Theses file describe metadata about the test vector to encode an
16[IA Sequence](https://aomediacodec.github.io/iamf/#standalone-ia-sequence).
17
18-   `is_valid`: True when the encoder can produce an IA Sequence where all mixes
19    would be understood by a compliant decoder. False when one or more mixes
20    exercise fields or features which would cause mixes to be ignored.
21-   `is_valid_to_decode`: True when an IAMF-compliant decoder could decode at
22    least one mix of the associated IA Sequence ("should-pass"). False when all
23    mixes are non-conformant and may fail to be decoded ("should-fail"). The
24    IAMF spec does not specify what happens when requirements are violated; a
25    robust system may still attempt to process and create output for
26    "should-fail" tests.
27-   `human_readable_descriptions`: A short description of what is being tested
28    and why.
29-   `mp4_fixed_timestamp`: The timestamp within the MP4 file. Can be safely
30    ignored.
31-   `primary_tested_spec_sections`: A list of the main sections being tested. In
32    the form `X.Y.Z/class_or_field_name` to represent the `class_or_field_name`
33    in the IAMF specification Section `X.Y.Z` is being tested.
34-   `base_test`: The recommended textproto to diff against.
35-   Other fields refer to the OBUs and data within the test vector.
36
37# Input WAV files
38
39Test vectors may have multiple substreams with several input .wav files. These
40.wav files may be shared with other test vectors. The .textproto file has a
41section which input wav file associated with each substream.
42
43## Summary
44
45Title                                                | Summary                                                                                                             | Channels | Sample Rate | Format    | Duration
46---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- | ----------- | --------- | --------
47`audiolab-acoustic-guitar_2OA_470_ALLRAD_0.5s`       | Short clip of a guitar playing using 7.1.4.                                                                         | 12       | 48kHz       | pcm_s16le | 500ms
48`audiolab-acoustic-guitar_2OA_470_ALLRAD_5s.wav`     | Short clip of a guitar playing using 7.1.4.                                                                         | 12       | 48kHz       | pcm_s16le | 5s
49`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
50`dialog_clip_stereo.wav`                             | English dialog.                                                                                                     | 2        | 48kHz       | pcm_s16le | 5s
51`Mechanism_5s_32bit.wav`                             | Mechanical noises using 7.1.4.                                                                                      | 12       | 48kHz       | pcm_s32le | 5s
52`Mechanism_5s.wav`                                   | Mechanical noises using 7.1.4.                                                                                      | 12       | 48kHz       | pcm_s16le | 5s
53`Mechanism_5s_44100hz_s16le.wav`                     | Mechanical noises using 7.1.4.                                                                                      | 12       | 44.1k       | pcm_s16le | 5s
54`sample1_48kHz_stereo.wav`                           | Sawtooth wave.                                                                                                      | 2        | 48kHz       | pcm_s16le | 5s
55`sawtooth_10000_foa_48kHz.wav`                       | Sawtooth wave using first-order ambisonics.                                                                         | 4        | 48kHz       | pcm_s16le | 500ms
56`sawtooth_10000_stereo_44100hz_s16le.wav`            | Sawtooth wave.                                                                                                      | 2        | 44.1kHz     | pcm_s16le | 500ms
57`sawtooth_10000_stereo_48kHz_s24le.wav`              | Sawtooth wave.                                                                                                      | 2        | 48kHz       | pcm_s24le | 500ms
58`sawtooth_10000_stereo_48kHz.wav`                    | Sawtooth wave.                                                                                                      | 2        | 48kHz       | pcm_s16le | 500ms
59`sawtooth_100_stereo.wav`                            | Sawtooth wave.                                                                                                      | 2        | 16kHz       | pcm_s16le | 500ms
60`sawtooth_8000_toa_48kHz.wav`                        | Sawtooth wave using third-order ambisonics.                                                                         | 16       | 48kHz       | pcm_s16le | 500ms
61`sine_1000_16kHz_512ms.wav`                          | Sine wave.                                                                                                          | 2        | 16kHz       | pcm_s16le | 512ms
62`sine_1000_16khz_512ms_s32le.wav`                    | Sine wave.                                                                                                          | 1        | 16kHz       | pcm_s32le | 512ms
63`sine_1000_48kHz_512ms.wav`                          | Sine wave.                                                                                                          | 2        | 48kHz       | pcm_s16le | 512ms
64`sine_1000_48kHz.wav`                                | Sine wave.                                                                                                          | 2        | 48kHz       | pcm_s16le | 500ms
65`sine_1000_4oa_48kHz.wav`                            | Sine wave using fourth-order ambisonics.                                                                            | 25       | 48kHz       | pcm_s16le | 5000ms
66`sine_1500_stereo_48khz_-15dBFS.wav`                 | Sine wave using at -15dBFS.                                                                                         | 2        | 48kHz       | pcm_s16le | 5000ms
67`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
68`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
69`Transport_TOA_5s.wav`                               | Short clip of vehicles driving by using third-order ambisonics.                                                     | 16       | 48kHz       | pcm_s16le | 5s
70`Transport_9.1.6_5s.wav`                             | Short clip of vehicles driving by using 9.1.6.                                                                      | 16       | 48kHz       | pcm_s16le | 5s
71
72# Output WAV files
73
74Output wav files are based on the
75[layout](https://aomediacodec.github.io/iamf/#syntax-layout) in the mix
76presentation. Typically the ordering of channels is based on the related
77[ITU-2051-3](https://www.itu.int/rec/R-REC-BS.2051) layout.
78
79Mix Presentation Layout | Channel Order Convention | Channel Order
80----------------------- | ------------------------ | -------------
81Sound System A (0+2+0)  | ITU-2051-3               | L, R
82Sound System B (0+5+0)  | ITU-2051-3               | L, R, C, LFE, Ls, Rs
83Sound System C (2+5+0)  | ITU-2051-3               | L, R, C, LFE, Ls, Rs, Ltf, Rtf
84Sound System D (4+5+0)  | ITU-2051-3               | L, R, C, LFE, Ls, Rs, Ltf, Rtf, Ltr, Rtr
85Sound System E (4+5+1)  | ITU-2051-3               | L, R, C, LFE, Ls, Rs, Ltf, Rtf, Ltr, Rtr, Cbf
86Sound System F (3+7+0)  | ITU-2051-3               | C, L, R, LH, RH, LS, LB, RB, CH, LFE1, LFE2
87Sound System G (4+9+0)  | ITU-2051-3               | L, R, C, LFE, Lss, Rss, Lrs, Rrs, Ltf, Rtf, Ltb, Rtb, Lsc, Rsc
88Sound 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
89Sound System I (0+7+0)  | ITU_2051-3               | L, R, C, LFE, Lss, Rss, Lrs, Rrs
90Sound System J (4+7+0)  | ITU_2051-3               | L, R, C, LFE, Lss, Rss, Lrs, Rrs, Ltf, Rtf, Ltb, Rtb
91Sound System 10         | IAMF                     | L7, R7, C, LFE, Lss7, Rss7, Lrs7, Rrs7, Ltf2, Rtf2
92Sound System 11         | IAMF                     | L3, R3, C, LFE, Ltf3, Rtf3,
93Sound System 12         | IAMF                     | C
94Sound System 13         | IAMF                     | FL, FR, FC, LFE, BL, BR, FLc, FRc, SiL, SiR, TpFL, TpFR, TpBL, TpBR, TpSiL, TpSiR
95Binaural Layout         | IAMF                     | L2, R2
96