adpcm: Skip samples whose ssd calculation has wrapped around
authorMartin Storsjö <martin@martin.st>
Wed, 1 Dec 2010 08:57:45 +0000 (08:57 +0000)
committerMartin Storsjö <martin@martin.st>
Wed, 1 Dec 2010 08:57:45 +0000 (08:57 +0000)
commitcfff297d9890a43a51b2f3f0efbfcdd12964b5fe
tree1a227363a3d34fea4b8a1306f6e90d86ba41844d
parenta42bb9d624b6a08242d4227ed121dda5f98ecded
adpcm: Skip samples whose ssd calculation has wrapped around

Wraparound in ssd is mainly avoided by subtracting the ssd of the
best node from all the others once it has grown large enough.

If using very large trellis sizes (e.g. -trellis 15), the frontier
is so large that the difference between the best and the worst is
large enough to cause wraparound, even if the ssd of the best one
is subtracted regularly.

When using -trellis 10 on a 30 second sample, this causes only a slight
slowdown, from 61 to 64 seconds.

Originally committed as revision 25858 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavcodec/adpcm.c