summaryrefslogtreecommitdiff
path: root/libavcodec/mpegaudiodec_common.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-18 13:13:45 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-12-08 17:51:47 +0100
commitd5d1c697bd0844a676eeb7761b130b6dd951edee (patch)
treeb48866794f78373e136d839713a06dd0f8c39c82 /libavcodec/mpegaudiodec_common.c
parented33bbe678730ef1ffde77f20eb4c6afb7a6902c (diff)
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>
Diffstat (limited to 'libavcodec/mpegaudiodec_common.c')
-rw-r--r--libavcodec/mpegaudiodec_common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodec_common.c b/libavcodec/mpegaudiodec_common.c
index 4333746e9a..a963f6683a 100644
--- a/libavcodec/mpegaudiodec_common.c
+++ b/libavcodec/mpegaudiodec_common.c
@@ -32,6 +32,8 @@
#include "mpegaudiodata.h"
+#include "mpegaudiodec_common_tablegen.h"
+
uint16_t ff_scale_factor_modshift[64];
static int16_t division_tab3[1 << 6 ];
@@ -469,6 +471,7 @@ static av_cold void mpegaudiodec_common_init_static(void)
}
}
}
+ mpegaudiodec_common_tableinit();
}
av_cold void ff_mpegaudiodec_common_init_static(void)