Commit f157736e authored by Timothy B. Terriberry's avatar Timothy B. Terriberry

Ogg Opus updates from Ian Nartowicz.

These are the changes proposed in
 <http://www.ietf.org/mail-archive/web/codec/current/msg03058.html>,
 with some minor additions (see follow-up on the list).
parent dacfd28e
...@@ -688,9 +688,9 @@ sample *= pow(10, output_gain/(20.0*256)) , ...@@ -688,9 +688,9 @@ sample *= pow(10, output_gain/(20.0*256)) ,
<vspace blankLines="1"/> <vspace blankLines="1"/>
Virtually all players and media frameworks should apply it by default. Virtually all players and media frameworks should apply it by default.
If a player chooses to apply any volume adjustment or gain modification, such If a player chooses to apply any volume adjustment or gain modification, such
as the R128_TRACK_GAIN, R128_ALBUM_GAIN (see <xref target="comment_header"/>) as the R128_TRACK_GAIN (see <xref target="comment_header"/>), the adjustment
or a user-facing volume knob, the adjustment MUST be applied in addition MUST be applied in addition to this output gain in order to achieve playback
to this output gain in order to achieve playback at the desired volume. at the normalized volume.
<vspace blankLines="1"/> <vspace blankLines="1"/>
An encoder SHOULD set this field to zero, and instead apply any gain prior to An encoder SHOULD set this field to zero, and instead apply any gain prior to
encoding, when this is possible and does not conflict with the user's wishes. encoding, when this is possible and does not conflict with the user's wishes.
...@@ -1215,15 +1215,10 @@ If present, R128_TRACK_GAIN and R128_ALBUM_GAIN MUST correctly represent ...@@ -1215,15 +1215,10 @@ If present, R128_TRACK_GAIN and R128_ALBUM_GAIN MUST correctly represent
If a player chooses to make use of the R128_TRACK_GAIN tag or the If a player chooses to make use of the R128_TRACK_GAIN tag or the
R128_ALBUM_GAIN tag, it MUST apply those gains R128_ALBUM_GAIN tag, it MUST apply those gains
<spanx style="emph">in addition</spanx> to the 'output gain' value. <spanx style="emph">in addition</spanx> to the 'output gain' value.
</t>
<t>
If an encoder wishes to use R128 normalization, and the output gain is not
otherwise constrained or specified, the encoder SHOULD write the R128 gain
into the 'output gain' field and store a tag containing "R128_TRACK_GAIN=0".
That is, it should assume that by default tools will respect the 'output gain'
field, and not the comment tag.
If a tool modifies the ID header's 'output gain' field, it MUST also update or If a tool modifies the ID header's 'output gain' field, it MUST also update or
remove the R128_TRACK_GAIN and R128_ALBUM_GAIN comment tags if present. remove the R128_TRACK_GAIN and R128_ALBUM_GAIN comment tags if present.
An encoder should assume that by default tools will respect the 'output gain'
field, and not the comment tag.
</t> </t>
<t> <t>
To avoid confusion with multiple normalization schemes, an Opus comment header To avoid confusion with multiple normalization schemes, an Opus comment header
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment