History

aacdec: duplicate table initialization

Preparation to move all table init and support windowing functions.

Lynne committed 2 years ago

Commit a309aa41 parent e9fc7665 files · +57 −2Browse files

Showing the changes to libavcodec/aac/aacdec_float.c (1 of 5 files). Show all

Unified · Split

libavcodec/aac/aacdec_float.c+27−0
@@ -31,9 +31,36 @@ · 30 unmodified lines
3131
3232 #define USE_FIXED 0
3333
34+#include "libavutil/thread.h"
35+
3436 #include "libavcodec/aac_defines.h"
3537
3638 #include "libavcodec/aactab.h"
3739 #include "libavcodec/sinewin.h"
40+#include "libavcodec/kbdwin.h"
41+
42+DECLARE_ALIGNED(32, static float, sine_120)[120];
43+DECLARE_ALIGNED(32, static float, sine_960)[960];
44+DECLARE_ALIGNED(32, static float, aac_kbd_long_960)[960];
45+DECLARE_ALIGNED(32, static float, aac_kbd_short_120)[120];
46+
47+static void init_tables_float_fn(void)
48+{
49+ AAC_RENAME(ff_kbd_window_init)(AAC_RENAME2(aac_kbd_long_1024), 4.0, 1024);
50+ AAC_RENAME(ff_kbd_window_init)(AAC_RENAME2(aac_kbd_short_128), 6.0, 128);
51+
52+ AAC_RENAME(ff_kbd_window_init)(AAC_RENAME(aac_kbd_long_960), 4.0, 960);
53+ AAC_RENAME(ff_kbd_window_init)(AAC_RENAME(aac_kbd_short_120), 6.0, 120);
54+
55+ AAC_RENAME(ff_sine_window_init)(AAC_RENAME(sine_960), 960);
56+ AAC_RENAME(ff_sine_window_init)(AAC_RENAME(sine_120), 120);
57+ AAC_RENAME(ff_init_ff_sine_windows)(9);
58+}
59+
60+static void init_tables(void)
61+{
62+ static AVOnce init_float_once = AV_ONCE_INIT;
63+ ff_thread_once(&init_float_once, init_tables_float_fn);
64+}
3865
3966 #include "aacdec_dsp_template.c"

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t