[FFmpeg-devel] [PATCH 0/4] dynamic table generation improvements

Ganesh Ajjanagadde gajjanagadde at gmail.com
Sat Nov 28 18:02:59 CET 2015


This is a patch set that significantly speeds up dynamic table initialization
(the default) on all platforms. The degree of speedup may vary; best results
are obtained on a fully C99 compliant libm. In particular, benchmarks refer to
the GNU/Linux platform.

Patches tested with FATE with and without --enable-hardcoded-tables.

The topic of deciding whether to:
1. Always use dynamic init
2. Always use static init
3. Leave as is

for each of these two (cbrt_tablegen, mpegaudio_tablegen) is outside the scope of
this patchset, as it is a far more subjective issue.

Here, the benefits go to all users and packagers who do not use --enable-hardcoded-tables
(the default configure line). Such users include among many others vlc, mpv, chromium,
and the Arch Linux distribution.

Ganesh Ajjanagadde (4):
  avutil/tablegen: add tablegen libm compatibility shims
  avcodec/mpegaudio_tablegen: speed up dynamic table creation
  avcodec/mpegaudio_tablegen: more dynamic table creation speedups
  avcodec/cbrt_tablegen: speed up dynamic table creation

 libavcodec/cbrt_tablegen.h                         |  5 ++-
 libavcodec/cbrt_tablegen_template.c                |  1 +
 libavcodec/mpegaudio_tablegen.c                    |  1 +
 libavcodec/mpegaudio_tablegen.h                    | 31 +++++++++++-----
 .../tablegen.h                                     | 42 +++++++++++++++-------
 5 files changed, 56 insertions(+), 24 deletions(-)
 copy libavcodec/cbrt_tablegen_template.c => libavutil/tablegen.h (51%)

-- 
2.6.2



More information about the ffmpeg-devel mailing list