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

Rich Felker dalias
Sun Mar 9 19:32:00 CET 2008


On Sun, Mar 09, 2008 at 02:17:16PM -0400, Justin Ruggles wrote:
> > My understanding of what you're doing now when the current frame
> > cannot be downmixed prior to IMDCT:
> > 
> > coefficients -> IMDCT -> mix with upsampled previous frame -> downmix
> > 
> > It works just as well do to:
> > 
> > coefficients -> IMDCT -> downmix -> mix with previous frame
> > 
> > Or do you have a good argument why this is not possible?
> 
> Hmm.  That does seem possible.  The IMDCT function would have to be
> reworked a bit since right now transformed output is saved to a temp
> buffer which holds only one channel of output, which is then windowed
> and combined with samples from the previous block.  Changing it as per
> your suggestion would definitely make things faster when switching.  My
> guess is that the handful of times this happens for typical audio won't
> make a huge difference, but it's worth a try, if only for simplicity.

By the way, the downmix and windowing could be combined into a common
operation to eliminate the extra store/load steps. Not sure if it's
worthwhile.

Rich




More information about the ffmpeg-cvslog mailing list