Skip to content

Commit e348c8d

Browse files
jwcullentdaede
authored andcommitted
Address some reviewer concerns.
- `test_000123`: Fix editorial typo from #114 (comment). - `test_000098`: Address #114 (comment). - Configure to pass through the Opus float API, but since this is not signaled in the bitstream still generate a 16-bit output comparison file. - Generated files based on AOMediaCodec/iamf-tools@3363a86
1 parent 27e56a6 commit e348c8d

9 files changed

Lines changed: 9 additions & 7 deletions

proto/codec_config.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ message OpusEncoderMetadata {
4040
optional int32 target_bitrate_per_channel = 1;
4141
optional OpusApplicationFlag application = 2;
4242
optional bool use_float_api = 3 [default = true];
43+
optional float coupling_rate_adjustment = 4 [default = 1.0];
4344
}
4445

4546
message OpusDecoderConfig {

tests/test_000098.iamf

0 Bytes
Binary file not shown.

tests/test_000098.textproto

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
test_vector_metadata {
1515
human_readable_description:
16-
"A 2-layer IAMF stream encoded using Opus with the last layer "
17-
"being 5.1 and a 32-bit input wav file."
16+
"A 2-layer IAMF stream encoded by normalizing the input 32-bit wav file to "
17+
"the range [-1.0, 1.0] then encoding it with the Opus float API."
1818
file_name_prefix: "test_000098"
1919
is_valid: true
2020
validate_user_loudness: true
@@ -29,6 +29,7 @@ test_vector_metadata {
2929
"3.11.1/OPUS Specific"
3030
]
3131
base_test: "test_000049"
32+
output_wav_file_bit_depth_override: 16
3233
}
3334

3435
ia_sequence_header_metadata {
@@ -49,7 +50,7 @@ codec_config_metadata {
4950
opus_encoder_metadata {
5051
target_bitrate_per_channel: 48000
5152
application: APPLICATION_AUDIO
52-
use_float_api: false
53+
use_float_api: true
5354
}
5455
}
5556
}

tests/test_000098_f.mp4

0 Bytes
Binary file not shown.
-938 KB
Binary file not shown.
-2.75 MB
Binary file not shown.

tests/test_000098_s.mp4

0 Bytes
Binary file not shown.

tests/test_000123.textproto

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ test_vector_metadata {
1515
human_readable_description:
1616
"A 7.1.4 + TOA IAMF stream encoded using Opus and with two Mix "
1717
"Presentations. The first Mix Presentation uses both Audio Elements. The "
18-
"second Mix Presentation uses only the 7.1.4 Audio Element. The primary "
18+
"second Mix Presentation uses only the TOA Audio Element. The primary "
1919
"profile is set to Base and the additional profile is set to "
20-
" Base-Enhanced."
20+
"Base-Enhanced."
2121
file_name_prefix: "test_000123"
2222
is_valid: true
2323
validate_user_loudness: true

tests/test_summary.csv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
"test_000095","test_000050","3.6/default_w, 3.6.2/channel_audio_layer_config, 3.6.2/loudspeaker_layout == Stereo, 3.6.2/loudspeaker_layout == 3.1.2, 3.6.2/loudspeaker_layout == 7.1.2, 3.6.2/loudspeaker_layout == 7.1.4, 3.6.2/num_layers, 3.7.3/headphones_rendering_mode == 1, 3.7.6/layout_type == BINAURAL, 3.9/Audio Frame OBU Syntax and Semantics, 3.11.1/OPUS Specific, 6/ISOBMFF IAMF Encapsulation, 7/IAMF Processing, 7.3.2/Rendering an Audio Element, 7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers, 7.3.2.3/Rendering a Channel-Based Audio Element to Headphones",True,"A 4-layer IAMF stream encoded using Opus with the last layer being 7.1.4 and a binaural layout."
8989
"test_000096","test_000103","3.6.3/ambisonics_mono_config, 3.7.3/headphones_rendering_mode == 1, 3.7.6/layout_type == BINAURAL, 7.3.2.4/Rendering a Scene-Based Audio Element to Headphones, 7.5.1/Loudness Normalization, 7.5.2/Limiter",True,"A third-order ambisonics IAMF stream encoded using `ambisonics_mode` = `MONO` and a binaural layout."
9090
"test_000097","test_000031","3.6.2/loudspeaker_layout == Mono, 3.9/Audio Frame OBU Syntax and Semantics, 3.11.4/sample_size",True,"A mono IAMF stream with a bit-depth of 32."
91-
"test_000098","test_000049","3.6/num_parameters, 3.6.2/channel_audio_layer_config, 3.6.2/loudspeaker_layout == Stereo, 3.6.2/loudspeaker_layout == 5.1, 3.6.2/num_layers, 3.9/Audio Frame OBU Syntax and Semantics, 3.11.1/OPUS Specific",True,"A 2-layer IAMF stream encoded using Opus with the last layer being 5.1 and a 32-bit input wav file."
91+
"test_000098","test_000049","3.6/num_parameters, 3.6.2/channel_audio_layer_config, 3.6.2/loudspeaker_layout == Stereo, 3.6.2/loudspeaker_layout == 5.1, 3.6.2/num_layers, 3.9/Audio Frame OBU Syntax and Semantics, 3.11.1/OPUS Specific",True,"A 2-layer IAMF stream encoded by normalizing the input 32-bit wav file to the range [-1.0, 1.0] then encoding it with the Opus float API."
9292
"test_000100","test_000038","3.6.3/ambisonics_mono_config, 4.1/Simple Profile, 5.1/IA Sequence",True,"A zero-order ambisonics IAMF stream encoded using `ambisonics_mode` = `MONO`."
9393
"test_000101","test_000038","3.6.3/ambisonics_mono_config, 7.5.1/Loudness Normalization, 7.5.2/Limiter",True,"A first-order ambisonics IAMF stream encoded using `ambisonics_mode` = `MONO`."
9494
"test_000102","test_000038","3.6.3/ambisonics_mono_config, 7.5.1/Loudness Normalization, 7.5.2/Limiter",True,"A second-order ambisonics IAMF stream encoded using `ambisonics_mode` = `MONO`."
@@ -112,7 +112,7 @@
112112
"test_000120","test_000119","3.6/audio_element_type, 4.1/Simple Profile",False,"An invalid IAMF stream. The first mix uses a single stereo audio element. The second mix presentation uses an `audio_element_type` which is reserved in Simple profile."
113113
"test_000121","test_000005","3.6/param_definition_type",True,"A Simple profile IAMF stream which uses a reserved parameter type that must be ignored."
114114
"test_000122","test_000119","3.6.2/loudspeaker_layout, 4.1/Simple Profile",False,"An invalid IAMF stream. The first mix uses a stereo audio element. The second mix uses a `loudspeaker_layout` which is reserved under Simple profile for the first layer."
115-
"test_000123","test_000118","3.6/num_substreams, 3.6.2/subtream_count, 3.6.2/coupled_substream_count, 3.6.4/subtream_count, 3.6.4/coupled_substream_count, 4.2/Simple Profile, 4.2/Base-Enhannced Profile, 4.3/Cumulative channel limit",True,"A 7.1.4 + TOA IAMF stream encoded using Opus and with two Mix Presentations. The first Mix Presentation uses both Audio Elements. The second Mix Presentation uses only the 7.1.4 Audio Element. The primary profile is set to Base and the additional profile is set to Base-Enhanced."
115+
"test_000123","test_000118","3.6/num_substreams, 3.6.2/subtream_count, 3.6.2/coupled_substream_count, 3.6.4/subtream_count, 3.6.4/coupled_substream_count, 4.2/Simple Profile, 4.2/Base-Enhannced Profile, 4.3/Cumulative channel limit",True,"A 7.1.4 + TOA IAMF stream encoded using Opus and with two Mix Presentations. The first Mix Presentation uses both Audio Elements. The second Mix Presentation uses only the TOA Audio Element. The primary profile is set to Base and the additional profile is set to Base-Enhanced."
116116
"test_000124","test_000020","3.7/num_sub_mixes",False,"An invalid IAMF stream because it is base profile and the Mix Presentation contains 2 sub-mixes."
117117
"test_000125","test_000020","3.7.3/headphones_rendering_mode",False,"An invalid IAMF stream because it is simple profile and contains a Mix Presentation with a reserved headphones rendering mode."
118118
"test_000126","test_000020","3.7/loudness_layout, 3.7.6/layout_type, 3.9/Audio Frame OBU Syntax and Semantics, 3.11.1/OPUS Specific, 3.11.1/num_samples_per_frame, 6.2.2/roll",True,"A stereo Opus IAMF stream with a Mix Presentation that contains two loudness `layout_type` values: stereo and a reserved layout."

0 commit comments

Comments
 (0)