208 lines
5.8 KiB
Protocol Buffer
208 lines
5.8 KiB
Protocol Buffer
// Copyright (c) 2023, Alliance for Open Media. All rights reserved
|
|
//
|
|
// This source code is subject to the terms of the BSD 3-Clause Clear License
|
|
// and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear
|
|
// License was not distributed with this source code in the LICENSE file, you
|
|
// can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the
|
|
// Alliance for Open Media Patent License 1.0 was not distributed with this
|
|
// source code in the PATENTS file, you can obtain it at
|
|
// www.aomedia.org/license/patent.
|
|
|
|
syntax = "proto2";
|
|
|
|
package libiamf_proto;
|
|
|
|
import "obu_header.proto";
|
|
import "param_definitions.proto";
|
|
|
|
message MixPresentationAnnotations {
|
|
option deprecated = true;
|
|
|
|
optional string mix_presentation_friendly_label = 1;
|
|
}
|
|
|
|
message MixPresentationElementAnnotations {
|
|
option deprecated = true;
|
|
|
|
optional string audio_element_friendly_label = 1;
|
|
}
|
|
|
|
message ElementMixConfig {
|
|
option deprecated = true;
|
|
|
|
optional MixGainParamDefinition mix_gain = 1;
|
|
}
|
|
|
|
enum HeadPhonesRenderingMode {
|
|
HEADPHONES_RENDERING_MODE_INVALID = 0;
|
|
HEADPHONES_RENDERING_MODE_STEREO = 1;
|
|
HEADPHONES_RENDERING_MODE_BINAURAL = 2;
|
|
HEADPHONES_RENDERING_MODE_RESERVED_2 = 3;
|
|
HEADPHONES_RENDERING_MODE_RESERVED_3 = 4;
|
|
}
|
|
|
|
message RenderingConfig {
|
|
optional HeadPhonesRenderingMode headphones_rendering_mode = 1;
|
|
optional uint32 reserved = 2;
|
|
optional uint32 rendering_config_extension_size = 3;
|
|
optional bytes rendering_config_extension_bytes = 4;
|
|
}
|
|
|
|
message SubMixAudioElement {
|
|
optional uint32 audio_element_id = 1;
|
|
reserved 2;
|
|
// Superseded by `localized_element_annotations`.
|
|
repeated MixPresentationElementAnnotations
|
|
mix_presentation_element_annotations_array = 4 [deprecated = true];
|
|
// Length should be equal to `count_label` in the OBU.
|
|
repeated string localized_element_annotations = 6;
|
|
|
|
optional RenderingConfig rendering_config = 5;
|
|
// Superseded by `element_mix_gain`.
|
|
optional ElementMixConfig element_mix_config = 3 [deprecated = true];
|
|
optional MixGainParamDefinition element_mix_gain = 7;
|
|
}
|
|
|
|
message OutputMixConfig {
|
|
option deprecated = true;
|
|
|
|
optional MixGainParamDefinition output_mix_gain = 1;
|
|
}
|
|
|
|
enum SoundSystem {
|
|
SOUND_SYSTEM_INVALID = 0;
|
|
SOUND_SYSTEM_A_0_2_0 = 1;
|
|
SOUND_SYSTEM_B_0_5_0 = 2;
|
|
SOUND_SYSTEM_C_2_5_0 = 3;
|
|
SOUND_SYSTEM_D_4_5_0 = 4;
|
|
SOUND_SYSTEM_E_4_5_1 = 5;
|
|
SOUND_SYSTEM_F_3_7_0 = 6;
|
|
SOUND_SYSTEM_G_4_9_0 = 7;
|
|
SOUND_SYSTEM_H_9_10_3 = 8;
|
|
SOUND_SYSTEM_I_0_7_0 = 9;
|
|
SOUND_SYSTEM_J_4_7_0 = 10;
|
|
SOUND_SYSTEM_10_2_7_0 = 11;
|
|
SOUND_SYSTEM_11_2_3_0 = 12;
|
|
SOUND_SYSTEM_12_0_1_0 = 13;
|
|
SOUND_SYSTEM_13_6_9_0 = 14;
|
|
}
|
|
|
|
message LoudspeakersSsConventionLayout {
|
|
optional SoundSystem sound_system = 1;
|
|
optional uint32 reserved = 2;
|
|
}
|
|
|
|
message LoudspeakersReservedOrBinauralLayout {
|
|
optional uint32 reserved = 1;
|
|
}
|
|
|
|
enum LayoutType {
|
|
LAYOUT_TYPE_INVALID = 0;
|
|
LAYOUT_TYPE_RESERVED_0 = 1;
|
|
LAYOUT_TYPE_RESERVED_1 = 2;
|
|
LAYOUT_TYPE_LOUDSPEAKERS_SS_CONVENTION = 3;
|
|
LAYOUT_TYPE_BINAURAL = 4;
|
|
}
|
|
|
|
message Layout {
|
|
optional LayoutType layout_type = 1;
|
|
reserved 2;
|
|
oneof specific_layout {
|
|
LoudspeakersSsConventionLayout ss_layout = 3;
|
|
LoudspeakersReservedOrBinauralLayout reserved_or_binaural_layout = 4;
|
|
}
|
|
}
|
|
|
|
enum AnchorType {
|
|
ANCHOR_TYPE_INVALID = 0;
|
|
ANCHOR_TYPE_UNKNOWN = 1;
|
|
ANCHOR_TYPE_DIALOGUE = 2;
|
|
ANCHOR_TYPE_ALBUM = 3;
|
|
}
|
|
|
|
message AnchorElement {
|
|
optional AnchorType anchor_element = 1;
|
|
optional int32 anchored_loudness = 2;
|
|
}
|
|
|
|
message AnchoredLoudness {
|
|
optional uint32 num_anchored_loudness = 1;
|
|
repeated AnchorElement anchor_elements = 2;
|
|
}
|
|
|
|
enum LoudnessInfoTypeBitMask {
|
|
LOUDNESS_INFO_TYPE_INVALID = 0;
|
|
LOUDNESS_INFO_TYPE_TRUE_PEAK = 1;
|
|
LOUDNESS_INFO_TYPE_ANCHORED_LOUDNESS = 2;
|
|
LOUDNESS_INFO_TYPE_RESERVED_4 = 4;
|
|
LOUDNESS_INFO_TYPE_RESERVED_8 = 8;
|
|
LOUDNESS_INFO_TYPE_RESERVED_16 = 16;
|
|
LOUDNESS_INFO_TYPE_RESERVED_32 = 32;
|
|
LOUDNESS_INFO_TYPE_RESERVED_64 = 64;
|
|
LOUDNESS_INFO_TYPE_RESERVED_128 = 128;
|
|
}
|
|
|
|
message LoudnessInfo {
|
|
optional uint32 deprecated_info_type = 1 [deprecated = true];
|
|
repeated LoudnessInfoTypeBitMask info_type_bit_masks = 8 [packed = true];
|
|
optional int32 integrated_loudness = 2;
|
|
optional int32 digital_peak = 3;
|
|
optional int32 true_peak = 4;
|
|
optional AnchoredLoudness anchored_loudness = 5;
|
|
optional uint32 info_type_size = 6;
|
|
optional bytes info_type_bytes = 7;
|
|
}
|
|
|
|
message MixPresentationLayout {
|
|
optional Layout loudness_layout = 1;
|
|
optional LoudnessInfo loudness = 2;
|
|
}
|
|
|
|
message MixPresentationSubMix {
|
|
optional uint32 num_audio_elements = 1;
|
|
repeated SubMixAudioElement audio_elements = 2;
|
|
|
|
// Superseded by `output_mix_gain`.
|
|
optional OutputMixConfig output_mix_config = 3 [deprecated = true];
|
|
optional MixGainParamDefinition output_mix_gain = 6;
|
|
|
|
optional uint32 num_layouts = 4;
|
|
repeated MixPresentationLayout layouts = 5;
|
|
}
|
|
|
|
message MixPresentationTag {
|
|
optional string tag_name = 1;
|
|
optional string tag_value = 2;
|
|
}
|
|
|
|
message MixPresentationTags {
|
|
optional uint32 num_tags = 1;
|
|
repeated MixPresentationTag tags = 2;
|
|
}
|
|
|
|
message MixPresentationObuMetadata {
|
|
reserved 2;
|
|
optional uint32 mix_presentation_id = 1;
|
|
optional uint32 count_label = 5;
|
|
|
|
// Superseded by `annotations_language`.
|
|
repeated string language_labels = 6 [deprecated = true];
|
|
// Length should be equal to `count_label`.
|
|
repeated string annotations_language = 9;
|
|
|
|
// Superseded by `localized_presentation_annotations`.
|
|
repeated MixPresentationAnnotations mix_presentation_annotations_array = 7
|
|
[deprecated = true];
|
|
// Length should be equal to `count_label`.
|
|
repeated string localized_presentation_annotations = 10;
|
|
|
|
optional uint32 num_sub_mixes = 3;
|
|
repeated MixPresentationSubMix sub_mixes = 4;
|
|
|
|
// When true, `mix_presentation_tags` will be examined.
|
|
optional bool include_mix_presentation_tags = 11;
|
|
optional MixPresentationTags mix_presentation_tags = 12;
|
|
|
|
optional ObuHeaderMetadata obu_header = 8;
|
|
}
|