[FFmpeg-devel] [PATCH] avcodec/aacsbr_tablegen: always initialize tables at runtime

Ganesh Ajjanagadde gajjanagadde at gmail.com
Sat Dec 5 20:49:14 CET 2015


On Thu, Dec 3, 2015 at 8:13 PM, Ganesh Ajjanagadde
<gajjanagadde at gmail.com> wrote:
> On Sun, Nov 29, 2015 at 10:58 PM, Ganesh Ajjanagadde
> <gajjanagadde at gmail.com> wrote:
>> 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.
>>
>> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
>> ---
>>  libavcodec/Makefile                 |  8 ++-----
>>  libavcodec/aacsbr_fixed_tablegen.c  | 42 -------------------------------------
>>  libavcodec/aacsbr_fixed_tablegen.h  |  4 ----
>>  libavcodec/aacsbr_tablegen.c        | 42 -------------------------------------
>>  libavcodec/aacsbr_tablegen.h        |  4 ----
>>  libavcodec/aacsbr_tablegen_common.h |  4 ----
>>  6 files changed, 2 insertions(+), 102 deletions(-)
>>  delete mode 100644 libavcodec/aacsbr_fixed_tablegen.c
>>  delete mode 100644 libavcodec/aacsbr_tablegen.c
[...]
> ping for AAC people or anyone else interested.

rebased on master, posted v2 that is essentially identical.


More information about the ffmpeg-devel mailing list