Andre schrieb:
Tim Dylla tim.dylla@gmx.net wrote:
MAD in contrast introduces a perceivable error right on the first half wave of the sine sweep. I think, it's an overflow in the requantization or the IMDCT (when I remember right, the huffman decoder produces very high output at this moment).
Just a hunch, but if you are able to build MAD from source, maybe you could try the follow patch posted to the list a few years back... perhaps it helps ??
diff -ruN mad-0.14.2b_orig/libmad/layer3.c mad-0.14.2b/libmad/layer3.c --- mad-0.14.2b_orig/libmad/layer3.c Thu Nov 8 15:28:02 2001 +++ mad-0.14.2b/libmad/layer3.c Tue Mar 25 15:21:12 2003 @@ -910,7 +910,7 @@ fprintf(stderr, "requantize overflow (%f * 2^%d)\n", mad_f_todouble(requantized), exp); # endif
requantized = MAD_F_MAX;
} else requantized <<= exp;requantized = MAD_F_MAX / 2;
Nope, same Result. I'm sorry, I'm still sticking with my diploma, so I don't have the time for extensive tests right now. Maybe someone can confirm the problem and have a look at? Feel free to contact me for the Bitstream in Question and the correct decoder output.
Best,
Tim Dylla
Andre
Hi list again,
there is a bug in madplay 0.15.2b, which skips some frames in certain conditions. Rob Leslie seems to have a patch already in the pipeline. libmad is not affected at all.
Best, Tim Dylla
Tim Dylla schrieb:
Andre schrieb:
Tim Dylla tim.dylla@gmx.net wrote:
MAD in contrast introduces a perceivable error right on the first half wave of the sine sweep. I think, it's an overflow in the requantization or the IMDCT (when I remember right, the huffman decoder produces very high output at this moment).
Just a hunch, but if you are able to build MAD from source, maybe you could try the follow patch posted to the list a few years back... perhaps it helps ??
diff -ruN mad-0.14.2b_orig/libmad/layer3.c mad-0.14.2b/libmad/layer3.c --- mad-0.14.2b_orig/libmad/layer3.c Thu Nov 8 15:28:02 2001 +++ mad-0.14.2b/libmad/layer3.c Tue Mar 25 15:21:12 2003 @@ -910,7 +910,7 @@ fprintf(stderr, "requantize overflow (%f * 2^%d)\n", mad_f_todouble(requantized), exp); # endif
requantized = MAD_F_MAX;
} else requantized <<= exp;requantized = MAD_F_MAX / 2;
Nope, same Result. I'm sorry, I'm still sticking with my diploma, so I don't have the time for extensive tests right now. Maybe someone can confirm the problem and have a look at? Feel free to contact me for the Bitstream in Question and the correct decoder output.
Best,
Tim Dylla
Andre