[FFmpeg-cvslog] r12284 - trunk/libavcodec/ac3dec.c

Justin Ruggles justinruggles
Sun Mar 2 01:30:13 CET 2008


Rich Felker wrote:
> On Sat, Mar 01, 2008 at 09:30:11AM -0500, Justin Ruggles wrote:
>> So obviously the biggest area for improvement is in the downmixing.
>> Today, I am planning on trying to move the conversion to int16 to before
>> downmixing and doing the downmix in fixed-point.  I'm not sure if it
>> will be faster though until I test it out.
> 
> Does the downmix take place before or after IMDCT? It should take
> place before so that the unnecessary DCT steps are skipped.

The downmix is currently after the IMDCT.  The problem with downmixing
before the IMDCT is that it only works if all channels within the block
use the same transform length.  There are ways to convert between the
512-point and 256-point coefficients, but I have not delved into the
math on this.

Another solution could be to check if all the block switch flags are the
same for all channels, and order the downmix and IMDCT accordingly.
I'll try it.

-Justin





More information about the ffmpeg-cvslog mailing list