[FFmpeg-devel] Implementation of AC3 fixed point decoder
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