summaryrefslogtreecommitdiff
path: root/libavcodec/sinewin.h
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-12-30 01:46:34 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-02-07 10:28:29 +0100
commit698a4b22d09daf592c68b1a044ad22d5a7daf884 (patch)
treef4d4623475a7fea5220bd15e59a036527f9995a4 /libavcodec/sinewin.h
parent3044d0efee9136c19dfdcf6dcdf957e910a73fd5 (diff)
downloadffmpeg-698a4b22d09daf592c68b1a044ad22d5a7daf884.tar.gz
avcodec/aacdec_fixed: Move fixed-point sinewin tables to its only user
The fixed-point AAC decoder is the only user of the fixed-point sinewin tables from sinewin; and it only uses a few of them (about 10% when counting by size). This means that guarding initializing these tables by an AVOnce (as done in 3719122065863f701026632f610175980d42b05a) is unnecessary for them. Furthermore the array of pointers to the individual arrays is also unneeded. Therefore this commit moves these tables directly into aacdec_fixed.c; this is done by ridding the original sinewin.h and sinewin_tablegen.h headers completely of any fixed-point code at the cost of a bit of duplicated code (the alternative is an ugly ifdef-mess). This saves about 58KB from the binary when using hardcoded tables (as these tables are hardcoded in this scenario); when not using hardcoded tables, most of these savings only affect the .bss segment, but the rest (< 1KB) contains relocations (i.e. savings in .data.rel.ro). Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/sinewin.h')
-rw-r--r--libavcodec/sinewin.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/libavcodec/sinewin.h b/libavcodec/sinewin.h
index e6de4dfe7b..fc4e69a58f 100644
--- a/libavcodec/sinewin.h
+++ b/libavcodec/sinewin.h
@@ -23,7 +23,6 @@
#include "config.h"
#include "libavutil/mem_internal.h"
-#include "libavcodec/aac_defines.h"
#if CONFIG_HARDCODED_TABLES
# define SINETABLE_CONST const
@@ -31,24 +30,20 @@
# define SINETABLE_CONST
#endif
-#ifndef USE_FIXED
-#define USE_FIXED 0
-#endif
-
#define SINETABLE(size) \
- SINETABLE_CONST DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size]
+ SINETABLE_CONST DECLARE_ALIGNED(32, float, ff_sine_##size)[size]
/**
* Generate a sine window.
* @param window pointer to half window
* @param n size of half window
*/
-void AAC_RENAME(ff_sine_window_init)(INTFLOAT *window, int n);
+void ff_sine_window_init(float *window, int n);
/**
* initialize the specified entry of ff_sine_windows
*/
-void AAC_RENAME(ff_init_ff_sine_windows)(int index);
+void ff_init_ff_sine_windows(int index);
extern SINETABLE( 32);
extern SINETABLE( 64);
@@ -60,6 +55,6 @@ extern SINETABLE(2048);
extern SINETABLE(4096);
extern SINETABLE(8192);
-extern SINETABLE_CONST INTFLOAT * const AAC_RENAME(ff_sine_windows)[];
+extern SINETABLE_CONST float *const ff_sine_windows[];
#endif /* AVCODEC_SINEWIN_H */