Ticket #6569: mythtv_ac3gainfix.patch.v2

File mythtv_ac3gainfix.patch.v2, 845 bytes (added by Bill Meek <keemllib@…>, 15 years ago)

Works with trunk at 27015

Line 
1Index: 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 {