Ticket #6569: mythtv_ac3gainfix.patch

File mythtv_ac3gainfix.patch, 812 bytes (added by Mark Spieth, 16 years ago)
  • libs/libavcodec/ac3dec.c

     
    9191    LEVEL_MINUS_9DB
    9292};
    9393
     94static const float gain_tweek[7] = {
     95    LEVEL_ONE,
     96    LEVEL_ONE,
     97    LEVEL_ONE,
     98    LEVEL_ONE,
     99    2,
     100    3.16,
     101    3.16
     102};
     103
    94104/**
    95105 * Table for center mix levels
    96106 * reference: Section 5.4.2.4 cmixlev
     
    11111121
    11121122    /* apply scaling to coefficients (headroom, dynrng) */
    11131123    for(ch=1; ch<=s->channels; ch++) {
    1114         float gain = s->mul_bias / 4194304.0f;
     1124        float gain = s->mul_bias * gain_tweek[s->channels] / 4194304.0f;
    11151125        if(s->channel_mode == AC3_CHMODE_DUALMONO) {
    11161126            gain *= s->dynamic_range[ch-1];
    11171127        } else {