]> git.sesse.net Git - ffmpeg/commit
avcodec/mpegaudio_tablegen: Make exponential LUT shared
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 18 Nov 2020 12:13:45 +0000 (13:13 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Tue, 8 Dec 2020 16:51:47 +0000 (17:51 +0100)
commitd5d1c697bd0844a676eeb7761b130b6dd951edee
treeb48866794f78373e136d839713a06dd0f8c39c82
parented33bbe678730ef1ffde77f20eb4c6afb7a6902c
avcodec/mpegaudio_tablegen: Make exponential LUT shared

Both the fixed as well as the floating point mpegaudio decoders use
LUTs of type int8_t and uint32_t with 32K entries each; these tables
are completely the same, yet they are not shared. This commit makes
them shared. When both fixed as well as floating point decoders are
enabled, this saves 160KiB from the bss segment for a normal build
(translating into 160KiB less memory usage if both a shared as well as
a floating point decoder have actually been used) and 160KiB from the
binary for a build with hardcoded tables.

It also means that the code to create said LUTs is no longer duplicated
(for a normal build).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/Makefile
libavcodec/mpegaudio_tablegen.c
libavcodec/mpegaudio_tablegen.h
libavcodec/mpegaudiodata.h
libavcodec/mpegaudiodec_common.c
libavcodec/mpegaudiodec_common_tablegen.c [new file with mode: 0644]
libavcodec/mpegaudiodec_common_tablegen.h [new file with mode: 0644]
libavcodec/mpegaudiodec_template.c