avcodec/mpegaudio_tablegen: speed up dynamic table creation
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>
Wed, 25 Nov 2015 21:26:08 +0000 (16:26 -0500)
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>
Wed, 2 Dec 2015 00:05:19 +0000 (19:05 -0500)
commit16d4c28cbb9add358d4e6f30c412860638dc4f90
treec0cbf8772bd09b5e9903ba250f3ed9c528e3bb87
parent538e8ab512ab1bee5c313f6a2e040e3f7cc7fe87
avcodec/mpegaudio_tablegen: speed up dynamic table creation

This does some miscellaneous stuff mainly avoiding the usage of pow to
achieve significant speedups. This is not speed critical, but is
unnecessary latency and cycles wasted for a user.

All tables tested and are identical to the old ones
(bit-exact even in floating point case).

Sample benchmark (x86-64, Haswell, GNU/Linux):
old:
102329530 decicycles in mpegaudio_tableinit,       1 runs,      0 skips

new:
34111900 decicycles in mpegaudio_tableinit,       1 runs,      0 skips

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
libavcodec/mpegaudio_tablegen.c
libavcodec/mpegaudio_tablegen.h