Commit dcafb28d authored by Michael Niedermayer's avatar Michael Niedermayer

do the -1 outside of the transform

Originally committed as revision 12852 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 6fab025d
...@@ -120,8 +120,8 @@ static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float * ...@@ -120,8 +120,8 @@ static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float *
top = NELLY_BUF_LEN-1; top = NELLY_BUF_LEN-1;
while (bot < NELLY_BUF_LEN/2) { while (bot < NELLY_BUF_LEN/2) {
audio[bot] = (- a_in[bot]*sine_window[bot]-state[bot]*sine_window[top])/s->scale_bias + s->add_bias; audio[bot] = ( a_in[bot]*sine_window[bot]+state[bot]*sine_window[top])/s->scale_bias + s->add_bias;
audio[top] = (-state[bot]*sine_window[bot]- a_in[top]*sine_window[top])/s->scale_bias + s->add_bias; audio[top] = (state[bot]*sine_window[bot]+ a_in[top]*sine_window[top])/s->scale_bias + s->add_bias;
state[bot] = a_in[bot + NELLY_BUF_LEN]; state[bot] = a_in[bot + NELLY_BUF_LEN];
bot++; bot++;
...@@ -299,11 +299,11 @@ void nelly_decode_block(NellyMoserDecodeContext *s, const unsigned char block[NE ...@@ -299,11 +299,11 @@ void nelly_decode_block(NellyMoserDecodeContext *s, const unsigned char block[NE
for (j = 0; j < NELLY_FILL_LEN; j++) { for (j = 0; j < NELLY_FILL_LEN; j++) {
if (bits[j] <= 0) { if (bits[j] <= 0) {
aptr[j] = M_SQRT1_2*pows[j]; aptr[j] = M_SQRT1_2*pows[j];
if (av_random(&s->random_state) & 1) if (!(av_random(&s->random_state) & 1))
aptr[j] *= -1.0; aptr[j] *= -1.0;
} else { } else {
v = get_bits(&s->gb, bits[j]); v = get_bits(&s->gb, bits[j]);
aptr[j] = dequantization_table[(1<<bits[j])-1+v]*pows[j]; aptr[j] = -dequantization_table[(1<<bits[j])-1+v]*pows[j];
} }
} }
memset(&aptr[NELLY_FILL_LEN], 0, memset(&aptr[NELLY_FILL_LEN], 0,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment