[FFmpeg-devel] FASTDIV macro
Michael Niedermayer
michaelni
Sun Nov 9 13:52:30 CET 2008
On Sat, Nov 08, 2008 at 09:49:24PM +0000, M?ns Rullg?rd wrote:
> libavutil/internal.h defines a macro, FASTDIV(), for fast 32/16-bit
> division my means of multiplying by a table value. If the
> architecture is not ARM or x86, which have asm versions, this macro is
> defined as a normal division if CONFIG_FASTDIV is not set. The odd
> thing is, nothing ever sets CONFIG_FASTDIV. Something is clearly not
> right here.
>
> I see these alternatives to fix it:
>
> 1. Always use the table multiplication.
> 2. Enable CONFIG_FASTDIV by default.
> 3. Disable CONFIG_FASTDIV by default, adding configure option to
> enable.
> 4. Always use plain division if no asm available.
>
> Opinions?
the variant that is faster should be used unless CONFIG_SMALL is enabled
in which case the table should be avoided except when the speed difference
is enourmious.
>
> There is also a question of where this macro belongs. It uses a table
> defined in lavc, and its only use outside lavc is in ff_sqrt(), which
> is only used in lavc. Would it make sense to move these to
> lavc/mathops.h, where other similar macros are defined?
> Alternatively, mathops.h could be moved to lavu. I'd like it to be
> consistent. The same goes for a number of other macros of this type.
i think that at least the table should be moved to lavu
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Opposition brings concord. Out of discord comes the fairest harmony.
-- Heraclitus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081109/011d49ee/attachment.pgp>
More information about the ffmpeg-devel
mailing list