1# Copyright (c) 2023, Alliance for Open Media. All rights reserved 2# 3# This source code is subject to the terms of the BSD 3-Clause Clear License 4# and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear 5# License was not distributed with this source code in the LICENSE file, you 6# can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the 7# Alliance for Open Media Patent License 1.0 was not distributed with this 8# source code in the PATENTS file, you can obtain it at 9# www.aomedia.org/license/patent. 10 11# proto-file: iamf/cli/proto/user_metadata.proto 12# proto-message: UserMetadata 13 14test_vector_metadata { 15 human_readable_description: 16 "A 2-layer IAMF stream encoded using Opus with the last layer " 17 "being 5.1.0 with Demixing Parameter Block OBUs." 18 file_name_prefix: "test_000061" 19 is_valid: true 20 is_valid_to_decode: true 21 validate_user_loudness: true 22 mp4_fixed_timestamp: "2023-06-20 00:00:00" 23 test_repository_tags: [ 24 "github/aomediacodec/libiamf/main", 25 "github/aomediacodec/libiamf/v1.0.0-errata" 26 ] 27 primary_tested_spec_sections: [ 28 "3.6.1/param_definition_mode", 29 "3.6.1/parameter_rate", 30 "3.6.2/channel_audio_layer_config", 31 "3.8/demixing_info_parameter_data", 32 "3.8.2/Demixing Info Parameter Data Syntax and Semantics", 33 "7/IAMF Processing", 34 "7.2/demixing", 35 "7.2.2/De-mixer", 36 "7.3.2/Rendering an Audio Element", 37 "7.3.2.1/Rendering a Channel-Based Audio Element to Loudspeakers" 38 ] 39 base_test: "test_000056" 40 output_wav_file_bit_depth_override: 16 41} 42 43encoder_control_metadata { 44 add_build_information_tag: false 45} 46 47ia_sequence_header_metadata { 48 primary_profile: PROFILE_VERSION_SIMPLE 49 additional_profile: PROFILE_VERSION_SIMPLE 50} 51 52codec_config_metadata { 53 codec_config_id: 200 54 codec_config { 55 codec_id: CODEC_ID_OPUS 56 num_samples_per_frame: 960 57 audio_roll_distance: -4 58 decoder_config_opus { 59 version: 1 60 pre_skip: 312 61 input_sample_rate: 48000 62 opus_encoder_metadata { 63 target_bitrate_per_channel: 48000 64 application: APPLICATION_AUDIO 65 use_float_api: false 66 } 67 } 68 } 69} 70 71audio_element_metadata { 72 audio_element_id: 300 73 audio_element_type: AUDIO_ELEMENT_CHANNEL_BASED 74 reserved: 0 75 codec_config_id: 200 76 num_substreams: 4 77 audio_substream_ids: [0, 1, 2, 3] 78 num_parameters: 2 79 audio_element_params { 80 param_definition_type: PARAM_DEFINITION_TYPE_DEMIXING 81 demixing_param: { 82 param_definition { 83 parameter_id: 102 84 parameter_rate: 48000 85 param_definition_mode: 0 86 reserved: 0 87 duration: 960 88 num_subblocks: 1 89 constant_subblock_duration: 960 90 } 91 default_demixing_info_parameter_data: { 92 dmixp_mode: DMIXP_MODE_2 93 } 94 default_w: 0 95 } 96 } 97 audio_element_params { 98 param_definition_type: PARAM_DEFINITION_TYPE_RECON_GAIN 99 recon_gain_param { 100 param_definition { 101 parameter_id: 999 # Non-existent; default will be used 102 parameter_rate: 48000 103 param_definition_mode: 0 104 reserved: 0 105 duration: 960 106 num_subblocks: 1 107 constant_subblock_duration: 960 108 } 109 } 110 } 111 scalable_channel_layout_config { 112 num_layers: 2 113 reserved: 0 114 channel_audio_layer_configs: [ 115 { 116 loudspeaker_layout: LOUDSPEAKER_LAYOUT_STEREO 117 output_gain_is_present_flag: 0 118 recon_gain_is_present_flag: 0 119 reserved_a: 0 120 substream_count: 1 121 coupled_substream_count: 1 122 }, 123 { 124 loudspeaker_layout: LOUDSPEAKER_LAYOUT_5_1_CH 125 output_gain_is_present_flag: 0 126 recon_gain_is_present_flag: 1 127 reserved_a: 0 128 substream_count: 3 129 coupled_substream_count: 1 130 } 131 ] 132 } 133} 134 135mix_presentation_metadata { 136 mix_presentation_id: 42 137 count_label: 1 138 annotations_language: ["en-us"] 139 localized_presentation_annotations: ["test_mix_pres"] 140 num_sub_mixes: 1 141 sub_mixes { 142 num_audio_elements: 1 143 audio_elements { 144 audio_element_id: 300 145 localized_element_annotations: ["test_sub_mix_0_audio_element_0"] 146 rendering_config { 147 headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO 148 } 149 element_mix_gain { 150 param_definition { 151 parameter_id: 100 152 parameter_rate: 48000 153 param_definition_mode: 1 154 reserved: 0 155 } 156 default_mix_gain: 0 157 } 158 } 159 output_mix_gain { 160 param_definition { 161 parameter_id: 100 162 parameter_rate: 48000 163 param_definition_mode: 1 164 reserved: 0 165 } 166 default_mix_gain: 0 167 } 168 num_layouts: 2 169 layouts { 170 loudness_layout { 171 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 172 ss_layout { 173 sound_system: SOUND_SYSTEM_A_0_2_0 174 reserved: 0 175 } 176 } 177 loudness { 178 info_type_bit_masks: [] 179 integrated_loudness: -5273 180 digital_peak: -2197 181 } 182 } 183 layouts { 184 loudness_layout { 185 layout_type: LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION 186 ss_layout { 187 sound_system: SOUND_SYSTEM_B_0_5_0 188 reserved: 0 189 } 190 } 191 loudness { 192 info_type_bit_masks: [] 193 integrated_loudness: -5886 194 digital_peak: -2845 195 } 196 } 197 } 198} 199 200audio_frame_metadata { 201 # Not using every channel in the input wav file. 202 wav_filename: "audiolab-acoustic-guitar_2OA_470_ALLRAD_0.5s.wav" 203 samples_to_trim_at_end: 648 204 samples_to_trim_at_start: 312 205 audio_element_id: 300 206 channel_metadatas: [ 207 { channel_id: 0 channel_label: CHANNEL_LABEL_L_5 }, 208 { channel_id: 1 channel_label: CHANNEL_LABEL_R_5 }, 209 { channel_id: 2 channel_label: CHANNEL_LABEL_CENTRE }, 210 { channel_id: 3 channel_label: CHANNEL_LABEL_LFE }, 211 { channel_id: 4 channel_label: CHANNEL_LABEL_LS_5 }, 212 { channel_id: 5 channel_label: CHANNEL_LABEL_RS_5 } 213 ] 214} 215 216parameter_block_metadata { 217 parameter_id: 100 218 start_timestamp: 0 219 duration: 24960 220 num_subblocks: 1 221 constant_subblock_duration: 24960 222 subblocks: [ 223 { 224 mix_gain_parameter_data { 225 animation_type: ANIMATE_STEP 226 param_data { 227 step { 228 start_point_value: 0 229 } 230 } 231 } 232 } 233 ] 234} 235 236parameter_block_metadata { 237 parameter_id: 102 238 start_timestamp: 0 239 duration: 960 240 num_subblocks: 1 241 constant_subblock_duration: 960 242 subblocks: [ 243 { 244 demixing_info_parameter_data: { 245 dmixp_mode: DMIXP_MODE_2 246 } 247 } 248 ] 249} 250 251parameter_block_metadata { 252 parameter_id: 102 253 start_timestamp: 960 254 duration: 960 255 num_subblocks: 1 256 constant_subblock_duration: 960 257 subblocks: [ 258 { 259 demixing_info_parameter_data: { 260 dmixp_mode: DMIXP_MODE_2 261 } 262 } 263 ] 264} 265 266parameter_block_metadata { 267 parameter_id: 102 268 start_timestamp: 1920 269 duration: 960 270 num_subblocks: 1 271 constant_subblock_duration: 960 272 subblocks: [ 273 { 274 demixing_info_parameter_data: { 275 dmixp_mode: DMIXP_MODE_2 276 } 277 } 278 ] 279} 280 281parameter_block_metadata { 282 parameter_id: 102 283 start_timestamp: 2880 284 duration: 960 285 num_subblocks: 1 286 constant_subblock_duration: 960 287 subblocks: [ 288 { 289 demixing_info_parameter_data: { 290 dmixp_mode: DMIXP_MODE_2 291 } 292 } 293 ] 294} 295 296parameter_block_metadata { 297 parameter_id: 102 298 start_timestamp: 3840 299 duration: 960 300 num_subblocks: 1 301 constant_subblock_duration: 960 302 subblocks: [ 303 { 304 demixing_info_parameter_data: { 305 dmixp_mode: DMIXP_MODE_2 306 } 307 } 308 ] 309} 310 311parameter_block_metadata { 312 parameter_id: 102 313 start_timestamp: 4800 314 duration: 960 315 num_subblocks: 1 316 constant_subblock_duration: 960 317 subblocks: [ 318 { 319 demixing_info_parameter_data: { 320 dmixp_mode: DMIXP_MODE_2 321 } 322 } 323 ] 324} 325 326parameter_block_metadata { 327 parameter_id: 102 328 start_timestamp: 5760 329 duration: 960 330 num_subblocks: 1 331 constant_subblock_duration: 960 332 subblocks: [ 333 { 334 demixing_info_parameter_data: { 335 dmixp_mode: DMIXP_MODE_2 336 } 337 } 338 ] 339} 340 341parameter_block_metadata { 342 parameter_id: 102 343 start_timestamp: 6720 344 duration: 960 345 num_subblocks: 1 346 constant_subblock_duration: 960 347 subblocks: [ 348 { 349 demixing_info_parameter_data: { 350 dmixp_mode: DMIXP_MODE_2 351 } 352 } 353 ] 354} 355 356parameter_block_metadata { 357 parameter_id: 102 358 start_timestamp: 7680 359 duration: 960 360 num_subblocks: 1 361 constant_subblock_duration: 960 362 subblocks: [ 363 { 364 demixing_info_parameter_data: { 365 dmixp_mode: DMIXP_MODE_2 366 } 367 } 368 ] 369} 370 371parameter_block_metadata { 372 parameter_id: 102 373 start_timestamp: 8640 374 duration: 960 375 num_subblocks: 1 376 constant_subblock_duration: 960 377 subblocks: [ 378 { 379 demixing_info_parameter_data: { 380 dmixp_mode: DMIXP_MODE_2 381 } 382 } 383 ] 384} 385 386parameter_block_metadata { 387 parameter_id: 102 388 start_timestamp: 9600 389 duration: 960 390 num_subblocks: 1 391 constant_subblock_duration: 960 392 subblocks: [ 393 { 394 demixing_info_parameter_data: { 395 dmixp_mode: DMIXP_MODE_2 396 } 397 } 398 ] 399} 400 401parameter_block_metadata { 402 parameter_id: 102 403 start_timestamp: 10560 404 duration: 960 405 num_subblocks: 1 406 constant_subblock_duration: 960 407 subblocks: [ 408 { 409 demixing_info_parameter_data: { 410 dmixp_mode: DMIXP_MODE_2 411 } 412 } 413 ] 414} 415 416parameter_block_metadata { 417 parameter_id: 102 418 start_timestamp: 11520 419 duration: 960 420 num_subblocks: 1 421 constant_subblock_duration: 960 422 subblocks: [ 423 { 424 demixing_info_parameter_data: { 425 dmixp_mode: DMIXP_MODE_2 426 } 427 } 428 ] 429} 430 431parameter_block_metadata { 432 parameter_id: 102 433 start_timestamp: 12480 434 duration: 960 435 num_subblocks: 1 436 constant_subblock_duration: 960 437 subblocks: [ 438 { 439 demixing_info_parameter_data: { 440 dmixp_mode: DMIXP_MODE_2 441 } 442 } 443 ] 444} 445 446parameter_block_metadata { 447 parameter_id: 102 448 start_timestamp: 13440 449 duration: 960 450 num_subblocks: 1 451 constant_subblock_duration: 960 452 subblocks: [ 453 { 454 demixing_info_parameter_data: { 455 dmixp_mode: DMIXP_MODE_2 456 } 457 } 458 ] 459} 460 461parameter_block_metadata { 462 parameter_id: 102 463 start_timestamp: 14400 464 duration: 960 465 num_subblocks: 1 466 constant_subblock_duration: 960 467 subblocks: [ 468 { 469 demixing_info_parameter_data: { 470 dmixp_mode: DMIXP_MODE_2 471 } 472 } 473 ] 474} 475 476parameter_block_metadata { 477 parameter_id: 102 478 start_timestamp: 15360 479 duration: 960 480 num_subblocks: 1 481 constant_subblock_duration: 960 482 subblocks: [ 483 { 484 demixing_info_parameter_data: { 485 dmixp_mode: DMIXP_MODE_2 486 } 487 } 488 ] 489} 490 491parameter_block_metadata { 492 parameter_id: 102 493 start_timestamp: 16320 494 duration: 960 495 num_subblocks: 1 496 constant_subblock_duration: 960 497 subblocks: [ 498 { 499 demixing_info_parameter_data: { 500 dmixp_mode: DMIXP_MODE_2 501 } 502 } 503 ] 504} 505 506parameter_block_metadata { 507 parameter_id: 102 508 start_timestamp: 17280 509 duration: 960 510 num_subblocks: 1 511 constant_subblock_duration: 960 512 subblocks: [ 513 { 514 demixing_info_parameter_data: { 515 dmixp_mode: DMIXP_MODE_2 516 } 517 } 518 ] 519} 520 521parameter_block_metadata { 522 parameter_id: 102 523 start_timestamp: 18240 524 duration: 960 525 num_subblocks: 1 526 constant_subblock_duration: 960 527 subblocks: [ 528 { 529 demixing_info_parameter_data: { 530 dmixp_mode: DMIXP_MODE_2 531 } 532 } 533 ] 534} 535 536parameter_block_metadata { 537 parameter_id: 102 538 start_timestamp: 19200 539 duration: 960 540 num_subblocks: 1 541 constant_subblock_duration: 960 542 subblocks: [ 543 { 544 demixing_info_parameter_data: { 545 dmixp_mode: DMIXP_MODE_2 546 } 547 } 548 ] 549} 550 551parameter_block_metadata { 552 parameter_id: 102 553 start_timestamp: 20160 554 duration: 960 555 num_subblocks: 1 556 constant_subblock_duration: 960 557 subblocks: [ 558 { 559 demixing_info_parameter_data: { 560 dmixp_mode: DMIXP_MODE_2 561 } 562 } 563 ] 564} 565 566parameter_block_metadata { 567 parameter_id: 102 568 start_timestamp: 21120 569 duration: 960 570 num_subblocks: 1 571 constant_subblock_duration: 960 572 subblocks: [ 573 { 574 demixing_info_parameter_data: { 575 dmixp_mode: DMIXP_MODE_2 576 } 577 } 578 ] 579} 580 581parameter_block_metadata { 582 parameter_id: 102 583 start_timestamp: 22080 584 duration: 960 585 num_subblocks: 1 586 constant_subblock_duration: 960 587 subblocks: [ 588 { 589 demixing_info_parameter_data: { 590 dmixp_mode: DMIXP_MODE_2 591 } 592 } 593 ] 594} 595 596parameter_block_metadata { 597 parameter_id: 102 598 start_timestamp: 23040 599 duration: 960 600 num_subblocks: 1 601 constant_subblock_duration: 960 602 subblocks: [ 603 { 604 demixing_info_parameter_data: { 605 dmixp_mode: DMIXP_MODE_2 606 } 607 } 608 ] 609} 610 611parameter_block_metadata { 612 parameter_id: 102 613 start_timestamp: 24000 614 duration: 960 615 num_subblocks: 1 616 constant_subblock_duration: 960 617 subblocks: [ 618 { 619 demixing_info_parameter_data: { 620 dmixp_mode: DMIXP_MODE_2 621 } 622 } 623 ] 624} 625 626temporal_delimiter_metadata { 627 enable_temporal_delimiters: false 628} 629