[FFmpeg-devel] [RFC] remove table_4_3_value with CONFIG_SMALL

Reimar Döffinger Reimar.Doeffinger
Thu Oct 15 11:12:41 CEST 2009

On Thu, Oct 15, 2009 at 09:59:33AM +0100, M?ns Rullg?rd wrote:
> Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> > On Tue, Oct 13, 2009 at 01:53:06PM +0200, Reimar D?ffinger wrote:
> >> On Tue, Oct 13, 2009 at 01:18:02PM +0200, Michael Niedermayer wrote:
> >> > > Either way, should the code that generates the tables be updated to use
> >> > > the same formula?
> >> > 
> >> > as you prefer ...
> >> 
> >> Ok, I propose then this patch, to be applied in two parts.
> >> It generally replaces "pow(2," by "exp2f(" and "pow(.., 4.0/3.0)" by
> >> ".. * cbrtf(..)".
> >> make test passes on x86_64 at least, with and without --enable-small.
> >
> > Hm... It didn't play any files right though, attached version plays the
> > files ok, though the CRC is not the same with and without
> > --enable-small.
> > Speed is probably about 4 times slower, though on a regular desktop
> > system the overall speed difference for mp3 decoding is not measurable
> > (the usual caveat about benchmarks by me apply).
> It will totally murder performance on anything without an FPU.  Those
> are also the systems most likely to need CONFIG_SMALL, so this is not
> acceptable.

Actually the only system that currently _needs_ CONFIG_SMALL is IA64.
Also, this is nearly the largest table in all of FFmpeg, so I very much
think it should be under CONFIG_SMALL.
However it is true that CONFIG_SMALL alone is not at all useful to
capture huge amount of performance vs. size considerations that a proper
implementation would need.
And I guess there are quite a few algorithms that could benefit from
knowing if an FPU is available or not.

More information about the ffmpeg-devel mailing list