From 04ea5491a83e7d123faae5f9aff054838d95bbcb Mon Sep 17 00:00:00 2001 From: Mathias Rauen Date: Sat, 5 Jan 2013 11:30:31 -0500 Subject: ac3dec: fix non-optimal dithering of zero bit mantissas Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5 Signed-off-by: Justin Ruggles --- libavcodec/ac3dec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavcodec/ac3dec.c') diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 3c5147229f..82ae61857d 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -442,8 +442,9 @@ static void ac3_decode_transform_coeffs_ch(AC3DecodeContext *s, int ch_index, ma int mantissa; switch (bap) { case 0: + /* random noise with approximate range of -0.707 to 0.707 */ if (dither) - mantissa = (av_lfg_get(&s->dith_state) & 0x7FFFFF) - 0x400000; + mantissa = (av_lfg_get(&s->dith_state) / 362) - 5932275; else mantissa = 0; break; -- cgit v1.2.3