[FFmpeg-devel] [PATCH] adpcm: Use a hash table to improve chcking for duplicate samples

Martin Storsjö martin
Thu Nov 18 22:19:04 CET 2010


Hi,

With the attached patch #1, the runtime for -trellis 8 drops from 158 to 
21 seconds, for my 30 second sample, see 
http://albin.abo.fi/~mstorsjo/adpcm-graphs3/hash.pdf for details on that, 
compared to the current trunk and compared to the old original code. This 
speeds up things enough to actually be able to run all the way to -trellis 
15 within reasonable time (running into the issue with ssd wrapping 
around, as I sent a patch for earlier), and one notices that it exhausts 
all testable combinations at around -trellis 10, where the PSNR doesn't 
really increase any longer.

As discussed earlier, the skipping when a matching sample is found could 
also be done only if the ssd actually is worse than for that one. 
Curiously enough, it gives slightly worse results (and slows things down 
quite a bit), see 
http://albin.abo.fi/~mstorsjo/adpcm-graphs3/with_without_check.pdf.

The second patch gives a slight, 0.1 dB increase in PSNR.

// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-adpcm-Use-a-hash-table-to-improve-checking-for-dupli.patch
Type: text/x-diff
Size: 5548 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101118/96e90bd4/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-adpcm-Only-increment-heap_pos-after-finding-a-good-e.patch
Type: text/x-diff
Size: 1326 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101118/96e90bd4/attachment-0001.patch>



More information about the ffmpeg-devel mailing list