diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 7172e6378d469b840a95943a65fe644455d96483..e1c696269e7f73012b84622dc02c05a062f6e4f0 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -756,8 +756,8 @@ static int decode_audio_block(AC3DecodeContext *s, int blk) i = !s->channel_mode; do { if (get_bits1(gbc)) { - s->dynamic_range[i] = ((dynamic_range_tab[get_bits(gbc, 8)] - 1.0) * - s->drc_scale) + 1.0; + s->dynamic_range[i] = powf(dynamic_range_tab[get_bits(gbc, 8)], + s->drc_scale); } else if (blk == 0) { s->dynamic_range[i] = 1.0f; }