[FFmpeg-devel] [PATCH] adpcm: Reset the ssd back to zero more often

Michael Niedermayer michaelni
Sun Nov 21 15:55:13 CET 2010


On Sun, Nov 21, 2010 at 01:11:12AM +0200, Martin Storsj? wrote:
> On Sat, 20 Nov 2010, Michael Niedermayer wrote:
> 
> > On Sat, Nov 20, 2010 at 08:59:25AM +0200, Martin Storsj? wrote:
> > > On Sat, 20 Nov 2010, Michael Niedermayer wrote:
> > > 
> > > > On Thu, Nov 18, 2010 at 04:01:31PM +0200, Martin Storsjo wrote:
> > > > > If using very large trellis sizes (e.g. -trellis 15), the frontier
> > > > > is so large that the difference between the best and the worst
> > > > > trellis node in the frontier is large enough to cause wraparound.
> > > > > 
> > > > 
> > > > > Resetting at (1<<20) is enough to avoid the issue at -trellis 16
> > > > 
> > > > have you come to this conclusion by proof or by simply changing the
> > > > threshold and seeing no problems?
> > > 
> > > By changing the threshold until there were no more problems with that 
> > > particular sample - sorry, I should have mentioned that.
> > > 
> > > I think it can't be proven how often it needs to be reset. In the worst 
> > > pathological case, the best trellis node has ssd 0 while the worst one has 
> > > a ssd of 65535*65535 added in each generation, overflowing even if we'd 
> > > subtract the best node's ssd each round.
> > > 
> > > The attached patch should avoid the issue properly regardless of how 
> > > pathologically bad case it is, giving a small but tolerable slowdown. Do 
> > > you think that is enough, or should that one be combined with this 
> > > previous patch, resetting it to 0 more often (or perhaps even every round) 
> > > to avoid this issue happening at all?
> > 
> > have you tried to change ssd to 64bit ?
> > maybe its faster
> 
> In 64 bit mode, changing ssd to 64 bit is a bit faster (current code 61 
> sec, adding the wraparound check 64 sec, 64 bit ssd 62 sec), but in 32 bit 
> mode, it's quite a bit slower (current code 69.6 sec, with wraparound 
> check 69.8 sec, 64 bit ssd 79.6 sec), so I wouldn't suggest that solution.

70->80sec hmm, did you look at the generated code?

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101121/091ee4b7/attachment.pgp>



More information about the ffmpeg-devel mailing list