Skip to content

Commit c17638c

Browse files
jwcullentdaede
authored andcommitted
Prefer non-deprecated "mix gain" fields (0006*, 0007*).
- Based on AOMediaCodec/iamf-tools@05c2d58b for `github/aomediacodec/libiamf/main`.
1 parent 9527c7b commit c17638c

47 files changed

Lines changed: 1544 additions & 1975 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

proto/codec_config.proto

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,20 @@ enum OpusApplicationFlag {
3737

3838
// Settings to configure `libopus`.
3939
message OpusEncoderMetadata {
40-
optional int32 target_bitrate_per_channel = 1;
4140
optional OpusApplicationFlag application = 2;
4241
optional bool use_float_api = 3 [default = true];
42+
43+
// Fields to control the bitrate.
44+
//
45+
// - If the substream is present in `substream_id_to_bitrate_override`, the
46+
// bitrate override is used.
47+
// - Otherwise a bitrate is calculated based on the number of channels.
48+
// - One channel: `target_bitrate_per_channel`.
49+
// - Two channels: `target_bitrate_per_channel * 2 *
50+
// coupling_rate_adjustment`.
51+
optional int32 target_bitrate_per_channel = 1;
4352
optional float coupling_rate_adjustment = 4 [default = 1.0];
53+
map<uint32, int32> substream_id_to_bitrate_override = 5;
4454
}
4555

4656
message OpusDecoderConfig {

tests/test_000600.textproto

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,14 @@ mix_presentation_metadata {
118118
rendering_config {
119119
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
120120
}
121-
element_mix_config {
122-
mix_gain {
123-
param_definition {
124-
parameter_id: 999 # Non-existent; default will be used
125-
parameter_rate: 48000
126-
param_definition_mode: 1
127-
reserved: 0
128-
}
129-
default_mix_gain: -768
121+
element_mix_gain {
122+
param_definition {
123+
parameter_id: 999 # Non-existent; default will be used
124+
parameter_rate: 48000
125+
param_definition_mode: 1
126+
reserved: 0
130127
}
128+
default_mix_gain: -768
131129
}
132130
},
133131
{
@@ -136,29 +134,25 @@ mix_presentation_metadata {
136134
rendering_config {
137135
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138136
}
139-
element_mix_config {
140-
mix_gain {
141-
param_definition {
142-
parameter_id: 998 # Non-existent; default will be used
143-
parameter_rate: 48000
144-
param_definition_mode: 1
145-
reserved: 0
146-
}
147-
default_mix_gain: -768
137+
element_mix_gain {
138+
param_definition {
139+
parameter_id: 998 # Non-existent; default will be used
140+
parameter_rate: 48000
141+
param_definition_mode: 1
142+
reserved: 0
148143
}
144+
default_mix_gain: -768
149145
}
150146
}
151147
]
152-
output_mix_config {
153-
output_mix_gain {
154-
param_definition {
155-
parameter_id: 997 # Non-existent; default will be used
156-
parameter_rate: 48000
157-
param_definition_mode: 1
158-
reserved: 0
159-
}
160-
default_mix_gain: 0
148+
output_mix_gain {
149+
param_definition {
150+
parameter_id: 997 # Non-existent; default will be used
151+
parameter_rate: 48000
152+
param_definition_mode: 1
153+
reserved: 0
161154
}
155+
default_mix_gain: 0
162156
}
163157
num_layouts: 2
164158
layouts {

tests/test_000601.textproto

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,14 @@ mix_presentation_metadata {
118118
rendering_config {
119119
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
120120
}
121-
element_mix_config {
122-
mix_gain {
123-
param_definition {
124-
parameter_id: 999 # Non-existent; default will be used
125-
parameter_rate: 48000
126-
param_definition_mode: 1
127-
reserved: 0
128-
}
129-
default_mix_gain: -768
121+
element_mix_gain {
122+
param_definition {
123+
parameter_id: 999 # Non-existent; default will be used
124+
parameter_rate: 48000
125+
param_definition_mode: 1
126+
reserved: 0
130127
}
128+
default_mix_gain: -768
131129
}
132130
},
133131
{
@@ -136,29 +134,25 @@ mix_presentation_metadata {
136134
rendering_config {
137135
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138136
}
139-
element_mix_config {
140-
mix_gain {
141-
param_definition {
142-
parameter_id: 998 # Non-existent; default will be used
143-
parameter_rate: 48000
144-
param_definition_mode: 1
145-
reserved: 0
146-
}
147-
default_mix_gain: -768
137+
element_mix_gain {
138+
param_definition {
139+
parameter_id: 998 # Non-existent; default will be used
140+
parameter_rate: 48000
141+
param_definition_mode: 1
142+
reserved: 0
148143
}
144+
default_mix_gain: -768
149145
}
150146
}
151147
]
152-
output_mix_config {
153-
output_mix_gain {
154-
param_definition {
155-
parameter_id: 997 # Non-existent; default will be used
156-
parameter_rate: 48000
157-
param_definition_mode: 1
158-
reserved: 0
159-
}
160-
default_mix_gain: 0
148+
output_mix_gain {
149+
param_definition {
150+
parameter_id: 997 # Non-existent; default will be used
151+
parameter_rate: 48000
152+
param_definition_mode: 1
153+
reserved: 0
161154
}
155+
default_mix_gain: 0
162156
}
163157
num_layouts: 1
164158
layouts {

tests/test_000602.textproto

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,14 @@ mix_presentation_metadata {
118118
rendering_config {
119119
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
120120
}
121-
element_mix_config {
122-
mix_gain {
123-
param_definition {
124-
parameter_id: 999 # Non-existent; default will be used
125-
parameter_rate: 48000
126-
param_definition_mode: 1
127-
reserved: 0
128-
}
129-
default_mix_gain: -768
121+
element_mix_gain {
122+
param_definition {
123+
parameter_id: 999 # Non-existent; default will be used
124+
parameter_rate: 48000
125+
param_definition_mode: 1
126+
reserved: 0
130127
}
128+
default_mix_gain: -768
131129
}
132130
},
133131
{
@@ -136,29 +134,25 @@ mix_presentation_metadata {
136134
rendering_config {
137135
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138136
}
139-
element_mix_config {
140-
mix_gain {
141-
param_definition {
142-
parameter_id: 998 # Non-existent; default will be used
143-
parameter_rate: 48000
144-
param_definition_mode: 1
145-
reserved: 0
146-
}
147-
default_mix_gain: -768
137+
element_mix_gain {
138+
param_definition {
139+
parameter_id: 998 # Non-existent; default will be used
140+
parameter_rate: 48000
141+
param_definition_mode: 1
142+
reserved: 0
148143
}
144+
default_mix_gain: -768
149145
}
150146
}
151147
]
152-
output_mix_config {
153-
output_mix_gain {
154-
param_definition {
155-
parameter_id: 997 # Non-existent; default will be used
156-
parameter_rate: 48000
157-
param_definition_mode: 1
158-
reserved: 0
159-
}
160-
default_mix_gain: 0
148+
output_mix_gain {
149+
param_definition {
150+
parameter_id: 997 # Non-existent; default will be used
151+
parameter_rate: 48000
152+
param_definition_mode: 1
153+
reserved: 0
161154
}
155+
default_mix_gain: 0
162156
}
163157
num_layouts: 2
164158
layouts {

tests/test_000603.textproto

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,14 @@ mix_presentation_metadata {
118118
rendering_config {
119119
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
120120
}
121-
element_mix_config {
122-
mix_gain {
123-
param_definition {
124-
parameter_id: 999 # Non-existent; default will be used
125-
parameter_rate: 48000
126-
param_definition_mode: 1
127-
reserved: 0
128-
}
129-
default_mix_gain: -768
121+
element_mix_gain {
122+
param_definition {
123+
parameter_id: 999 # Non-existent; default will be used
124+
parameter_rate: 48000
125+
param_definition_mode: 1
126+
reserved: 0
130127
}
128+
default_mix_gain: -768
131129
}
132130
},
133131
{
@@ -136,29 +134,25 @@ mix_presentation_metadata {
136134
rendering_config {
137135
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138136
}
139-
element_mix_config {
140-
mix_gain {
141-
param_definition {
142-
parameter_id: 998 # Non-existent; default will be used
143-
parameter_rate: 48000
144-
param_definition_mode: 1
145-
reserved: 0
146-
}
147-
default_mix_gain: -768
137+
element_mix_gain {
138+
param_definition {
139+
parameter_id: 998 # Non-existent; default will be used
140+
parameter_rate: 48000
141+
param_definition_mode: 1
142+
reserved: 0
148143
}
144+
default_mix_gain: -768
149145
}
150146
}
151147
]
152-
output_mix_config {
153-
output_mix_gain {
154-
param_definition {
155-
parameter_id: 997 # Non-existent; default will be used
156-
parameter_rate: 48000
157-
param_definition_mode: 1
158-
reserved: 0
159-
}
160-
default_mix_gain: 0
148+
output_mix_gain {
149+
param_definition {
150+
parameter_id: 997 # Non-existent; default will be used
151+
parameter_rate: 48000
152+
param_definition_mode: 1
153+
reserved: 0
161154
}
155+
default_mix_gain: 0
162156
}
163157
num_layouts: 2
164158
layouts {

tests/test_000604.textproto

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,14 @@ mix_presentation_metadata {
118118
rendering_config {
119119
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
120120
}
121-
element_mix_config {
122-
mix_gain {
123-
param_definition {
124-
parameter_id: 999 # Non-existent; default will be used
125-
parameter_rate: 48000
126-
param_definition_mode: 1
127-
reserved: 0
128-
}
129-
default_mix_gain: -768
121+
element_mix_gain {
122+
param_definition {
123+
parameter_id: 999 # Non-existent; default will be used
124+
parameter_rate: 48000
125+
param_definition_mode: 1
126+
reserved: 0
130127
}
128+
default_mix_gain: -768
131129
}
132130
},
133131
{
@@ -136,29 +134,25 @@ mix_presentation_metadata {
136134
rendering_config {
137135
headphones_rendering_mode: HEADPHONES_RENDERING_MODE_STEREO
138136
}
139-
element_mix_config {
140-
mix_gain {
141-
param_definition {
142-
parameter_id: 998 # Non-existent; default will be used
143-
parameter_rate: 48000
144-
param_definition_mode: 1
145-
reserved: 0
146-
}
147-
default_mix_gain: -768
137+
element_mix_gain {
138+
param_definition {
139+
parameter_id: 998 # Non-existent; default will be used
140+
parameter_rate: 48000
141+
param_definition_mode: 1
142+
reserved: 0
148143
}
144+
default_mix_gain: -768
149145
}
150146
}
151147
]
152-
output_mix_config {
153-
output_mix_gain {
154-
param_definition {
155-
parameter_id: 997 # Non-existent; default will be used
156-
parameter_rate: 48000
157-
param_definition_mode: 1
158-
reserved: 0
159-
}
160-
default_mix_gain: 0
148+
output_mix_gain {
149+
param_definition {
150+
parameter_id: 997 # Non-existent; default will be used
151+
parameter_rate: 48000
152+
param_definition_mode: 1
153+
reserved: 0
161154
}
155+
default_mix_gain: 0
162156
}
163157
num_layouts: 2
164158
layouts {

0 commit comments

Comments
 (0)