[MPlayer-dev-eng] Another likely bug: libac3/imdct.c line 585 or so, etc...

Stephen Davies steve at daviesfam.org
Mon Nov 26 16:12:44 CET 2001


On Mon, 26 Nov 2001, Felix Buenemann wrote:

> could you send a sepearte patch for this? I would like to check if it fixes 
> strange high noise with some dvd content (eg The 6th Sense Trailer).
> 
> And is this code always used or only by non-asm optmized code?

When constructing an AC3 frame, and encoder always has the choice, for
each channel independently, of building one 512 point fft or two 256 point
ones.

The libac3 decoder in mplayer does an optimized "downmix in frequency
domain and then imdct" strategy when all the channels are using the same
kind (512 or 256).  You see this in the "if (do_imdct)" part of the code
in imdct in libac3/imdct.c.  This is the code that has had the ASM
optimizations.

Where some channels are 256 and some 512, the code does the imdct on each
channel separately, and then downmixes.  This code is where the bug is.

So the bug would only be tickled occasionally - purely depending on how
the channels are encoded.  The sound corruption will affect both channels
(the right because the delayed centre isn't added, the left because the
delay1_center pointer isn't incremented).

Steve






More information about the MPlayer-dev-eng mailing list