From 8d4cd51e5952cfe74fde9f3b07e5e8949d6fa753 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 28 Oct 2015 11:32:57 +0100 Subject: audioquantize: fix 8-pole noise shaping Fix the 8-pole noise shaping error update. We were mixing errors from different channels. --- gst/audioconvert/gstaudioquantize.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gst') diff --git a/gst/audioconvert/gstaudioquantize.c b/gst/audioconvert/gstaudioquantize.c index b61860ea0..175925002 100644 --- a/gst/audioconvert/gstaudioquantize.c +++ b/gst/audioconvert/gstaudioquantize.c @@ -286,14 +286,14 @@ static const gdouble ns_high_coeffs[] = { #define ADD_NS_HIGH() \ cur_error = 0.0; \ for (j = 0; j < 8; j++) \ - cur_error += errors[chan_pos + j] * ns_high_coeffs[j]; \ + cur_error += errors[chan_pos*8 + j] * ns_high_coeffs[j]; \ tmp -= cur_error; \ orig = tmp; #define UPDATE_ERROR_HIGH() \ for (j = 7; j > 0; j--) \ - errors[chan_pos + j] = errors[chan_pos + j-1]; \ - errors[chan_pos] = (d)/factor - orig; + errors[chan_pos*8 + j] = errors[chan_pos*8 + j-1]; \ + errors[chan_pos*8] = (d)/factor - orig; MAKE_QUANTIZE_FUNC_I (int_none_none, NONE_FUNC, NONE_FUNC, ROUND); -- cgit v1.2.3