]> git.sesse.net Git - ffmpeg/commit
avcodec/aacsbr_tablegen: always initialize tables at runtime
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>
Mon, 30 Nov 2015 03:35:00 +0000 (22:35 -0500)
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>
Wed, 9 Dec 2015 12:36:58 +0000 (07:36 -0500)
commitcb93df0dcbd34107c64ec053504fa294b728a9c9
treef94671e6973eb17f41d3ffe1f6dbeedacfb42e90
parente74f1a121e94587d0df8a7f5a12f2d48a974695c
avcodec/aacsbr_tablegen: always initialize tables at runtime

This gets rid of virtually useless hardcoded tables hackery. The reason
it is useless is that a 320 element lut is anyway placed regardless of
--enable-hardcoded-tables, from which all necessary tables are trivially
derived at runtime at very low cost:

sample benchmark (x86-64, Haswell, GNU/Linux, single run is really
what is relevant here since looping drastically changes the bench). Fluctuations
are on the order of 10% for the single run test:
39400 decicycles in aacsbr_tableinit,       1 runs,      0 skips
25325 decicycles in aacsbr_tableinit,       2 runs,      0 skips
18475 decicycles in aacsbr_tableinit,       4 runs,      0 skips
15008 decicycles in aacsbr_tableinit,       8 runs,      0 skips
13016 decicycles in aacsbr_tableinit,      16 runs,      0 skips
12005 decicycles in aacsbr_tableinit,      32 runs,      0 skips
11546 decicycles in aacsbr_tableinit,      64 runs,      0 skips
11506 decicycles in aacsbr_tableinit,     128 runs,      0 skips
11500 decicycles in aacsbr_tableinit,     256 runs,      0 skips
11183 decicycles in aacsbr_tableinit,     509 runs,      3 skips

Tested with FATE with/without --enable-hardcoded-tables.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
libavcodec/Makefile
libavcodec/aacsbr_fixed_tablegen.c [deleted file]
libavcodec/aacsbr_fixed_tablegen.h
libavcodec/aacsbr_tablegen.c [deleted file]
libavcodec/aacsbr_tablegen.h
libavcodec/aacsbr_tablegen_common.h