• Ganesh Ajjanagadde's avatar
    avcodec/aacsbr_tablegen: always initialize tables at runtime · cb93df0d
    Ganesh Ajjanagadde authored
    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: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
    Signed-off-by: 's avatarGanesh Ajjanagadde <gajjanagadde@gmail.com>
    cb93df0d
aacsbr_fixed_tablegen.h 1.02 KB