diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index ea4a218..539c3b3 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -442,7 +442,7 @@ static void ac3_decode_transform_coeffs_ch(AC3DecodeContext *s, int ch_index, ma
         switch (bap) {
         case 0:
             if (dither)
-                mantissa = (av_lfg_get(&s->dith_state) & 0x7FFFFF) - 0x400000;
+                mantissa = (av_lfg_get(&s->dith_state) / 362) - 5932275;
             else
                 mantissa = 0;
             break;
@@ -746,6 +746,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
 
     /* dynamic range */
     i = !s->channel_mode;
+    s->drc_scale = 0.0;
     do {
         if (get_bits1(gbc)) {
             s->dynamic_range[i] = ((dynamic_range_tab[get_bits(gbc, 8)] - 1.0) *
