[FFmpeg-devel] Implementation of AC3 fixed point decoder

Nedeljko Babic nbabic at mips.com
Tue Sep 18 15:13:43 CEST 2012


Implementation of AC3 fixed point decoder is in the following patch.

I enabled it for all architectures as requested.

However, there is a problem. 

Our implementation doesn't work well with FFmpegs fixed point IFFT.
I am maybe wrong, but FFmpeg uses same function for FFT and IFFT. 
There is a macro in fft-internal.h called BF. For fixed point 
implementation it has shift right for one bit. It is ok for FFT, but 
it doesn't work correctly for IFFT in our implementation of AC3 fixed 
point decoder. When this shift is removed (as it is done in this patch) 
AC3 fixed point decoder implementation works correctly, but fate tests 
crash (FFT doesn't work ok ...).

So, I am open for suggestions... 

I can use our fixed point FFT/IFFT just for AC3 fixed point decoder 
for all architectures and leave FFmpeg FFT for the rest of the codecs.

On the other hand, the change can be made in FFmpegs FFT so it has IFFT function.

Third solution that I can currently see is to leave fixed point implementation 
of AC3 decoder enabled just for MIPS, but I suppose that it would not be very nice.

Also, I am thinking that maybe I am missing something...

As I said I am open for suggestions.


NOTE: patch breaks fate tests!

More information about the ffmpeg-devel mailing list