1 | Index: external/FFmpeg/libavcodec/ac3dec.c
|
---|
2 | ===================================================================
|
---|
3 | --- external/FFmpeg/libavcodec/ac3dec.c (revision 27015)
|
---|
4 | +++ external/FFmpeg/libavcodec/ac3dec.c (working copy)
|
---|
5 | @@ -88,6 +88,16 @@
|
---|
6 | LEVEL_MINUS_9DB
|
---|
7 | };
|
---|
8 |
|
---|
9 | +static const float gain_tweek[7] = {
|
---|
10 | + LEVEL_ONE,
|
---|
11 | + LEVEL_ONE,
|
---|
12 | + LEVEL_ONE,
|
---|
13 | + LEVEL_ONE,
|
---|
14 | + 2,
|
---|
15 | + 3.16,
|
---|
16 | + 3.16
|
---|
17 | +};
|
---|
18 | +
|
---|
19 | /**
|
---|
20 | * Table for center mix levels
|
---|
21 | * reference: Section 5.4.2.4 cmixlev
|
---|
22 | @@ -1258,7 +1268,7 @@
|
---|
23 |
|
---|
24 | /* apply scaling to coefficients (headroom, dynrng) */
|
---|
25 | for(ch=1; ch<=s->channels; ch++) {
|
---|
26 | - float gain = s->mul_bias / 4194304.0f;
|
---|
27 | + float gain = s->mul_bias * gain_tweek[s->channels] / 4194304.0f;
|
---|
28 | if(s->channel_mode == AC3_CHMODE_DUALMONO) {
|
---|
29 | gain *= s->dynamic_range[2-ch];
|
---|
30 | } else {
|
---|