[FFmpeg-devel] [PATCH] adpcm: Store trellis nodes in a heap structure

Martin Storsjö martin
Fri Nov 12 10:59:19 CET 2010


On Thu, 11 Nov 2010, Michael Niedermayer wrote:

> On Thu, Nov 11, 2010 at 01:08:41AM +0200, Martin Storsj? wrote:
> > On Wed, 10 Nov 2010, Michael Niedermayer wrote:
> > 
> > > ok, testing with some music might make sense too
> > 
> > Good point. I tested with two different tracks, and it gave quite 
> > interesting results. The runtime difference became even larger, in favour 
> > for these patches. On one of the clips, patch #4 actually gave a slightly 
> > worse result (which is what should happen, theoretically), but the speed 
> > increase is so insanely large that I think it still is worth it.
> > 
> > > > For testing, I do e.g. this:
> > > > time ./ffmpeg -y -i adpcm-input.wav -acodec adpcm_ima_wav -trellis 7 adpcm.wav
> > > > ./ffmpeg -y -i adpcm.wav out.wav > /dev/null 2>&1
> > > > tests/tiny_psnr adpcm-input.wav out.wav 2
> > > > 
> > > > 
> > > > > > Also, for reference, the same input with different trellis sizes, after 
> > > > > > patch #4:
> > > > > 
> > > > > it would be interresting to also see this with pre #4 so one can compare it
> > > > 
> > > > Ok, here are even more numbers:
> > > 
> > > these would be easier to compare with gnuplot printing quality vs time
> > > 
> > > anyway, so far your patchset looks good and iam not insisting on more testing
> > > it just would be interresting as some of these patches reduce quality and
> > > improve speed so Time vs Distortion curves would more clearly show the
> > > improvment
> > 
> > Done, graphs available at http://albin.abo.fi/~mstorsjo/adpcm-graphs/.
> 
> no, we need graphs of log(runtime) as X and PSNR as Y, like rate-distortion
> graphs

Oh, ok. Updated graphs, this is in runtime_psnr.pdf for each of the three 
samples. I also did a little more benchmarks with even larger trellis 
sizes for patch #4.

// Martin



More information about the ffmpeg-devel mailing list