diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index 7e2798787d..aa856d7fe1 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -1126,8 +1126,8 @@ static av_cold void aac_static_table_init(void) ff_aacdec_common_init_once(); // window initialization - AAC_RENAME(avpriv_kbd_window_init)(AAC_RENAME(aac_kbd_long_960), 4.0, 960); - AAC_RENAME(avpriv_kbd_window_init)(AAC_RENAME(aac_kbd_short_120), 6.0, 120); + AAC_RENAME(ff_kbd_window_init)(AAC_RENAME(aac_kbd_long_960), 4.0, 960); + AAC_RENAME(ff_kbd_window_init)(AAC_RENAME(aac_kbd_short_120), 6.0, 120); #if !USE_FIXED AAC_RENAME(ff_sine_window_init)(AAC_RENAME(sine_960), 960); @@ -1135,8 +1135,8 @@ static av_cold void aac_static_table_init(void) AAC_RENAME(ff_init_ff_sine_windows)(9); ff_aac_float_common_init(); #else - AAC_RENAME(avpriv_kbd_window_init)(AAC_RENAME2(aac_kbd_long_1024), 4.0, 1024); - AAC_RENAME(avpriv_kbd_window_init)(AAC_RENAME2(aac_kbd_short_128), 6.0, 128); + AAC_RENAME(ff_kbd_window_init)(AAC_RENAME2(aac_kbd_long_1024), 4.0, 1024); + AAC_RENAME(ff_kbd_window_init)(AAC_RENAME2(aac_kbd_short_128), 6.0, 128); init_sine_windows_fixed(); #endif diff --git a/libavcodec/aactab.c b/libavcodec/aactab.c index 020267f389..3cef9c5d2b 100644 --- a/libavcodec/aactab.c +++ b/libavcodec/aactab.c @@ -94,8 +94,8 @@ static av_cold void aac_float_common_init(void) { aac_tableinit(); - avpriv_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024); - avpriv_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128); + ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024); + ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128); ff_init_ff_sine_windows(10); ff_init_ff_sine_windows(7); } diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index eb67efda62..504c75cdd4 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -220,7 +220,7 @@ static av_cold int ac3_decode_init(AVCodecContext *avctx) if ((ret = av_tx_init(&s->tx_256, &s->tx_fn_256, IMDCT_TYPE, 1, 256, &scale, 0))) return ret; - AC3_RENAME(avpriv_kbd_window_init)(s->window, 5.0, 256); + AC3_RENAME(ff_kbd_window_init)(s->window, 5.0, 256); ff_bswapdsp_init(&s->bdsp); #if (USE_FIXED) diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index 7fd6084aaf..a9bbb0a04e 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -82,7 +82,7 @@ static av_cold int ac3_fixed_mdct_init(AC3EncodeContext *s) if (!iwin) return AVERROR(ENOMEM); - avpriv_kbd_window_init(fwin, 5.0, AC3_BLOCK_SIZE); + ff_kbd_window_init(fwin, 5.0, AC3_BLOCK_SIZE); for (int i = 0; i < AC3_BLOCK_SIZE; i++) iwin[i] = lrintf(fwin[i] * (1 << 22)); diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c index 27a89e79df..3462c5f474 100644 --- a/libavcodec/ac3enc_float.c +++ b/libavcodec/ac3enc_float.c @@ -92,7 +92,7 @@ static av_cold int ac3_float_mdct_init(AC3EncodeContext *s) return AVERROR(ENOMEM); } - avpriv_kbd_window_init(window, 5.0, AC3_BLOCK_SIZE); + ff_kbd_window_init(window, 5.0, AC3_BLOCK_SIZE); s->mdct_window = window; return av_tx_init(&s->tx, &s->tx_fn, AV_TX_FLOAT_MDCT, 0, diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c index f9332b78a6..9c3f6006c2 100644 --- a/libavcodec/dolby_e.c +++ b/libavcodec/dolby_e.c @@ -1200,7 +1200,7 @@ static av_cold void init_tables(void) gain_tab[i] = exp2f((i - 960) / 64.0f); // short 1 - avpriv_kbd_window_init(window, 3.0f, 128); + ff_kbd_window_init(window, 3.0f, 128); for (i = 0; i < 128; i++) window[128 + i] = window[127 - i]; @@ -1227,7 +1227,7 @@ static av_cold void init_tables(void) window[1088 + i] = 1.0f; // long - avpriv_kbd_window_init(window + 1408, 3.0f, 256); + ff_kbd_window_init(window + 1408, 3.0f, 256); for (i = 0; i < 640; i++) window[1664 + i] = 1.0f; for (i = 0; i < 256; i++) diff --git a/libavcodec/kbdwin.c b/libavcodec/kbdwin.c index ff7a7d614e..cb73ceb160 100644 --- a/libavcodec/kbdwin.c +++ b/libavcodec/kbdwin.c @@ -17,27 +17,23 @@ */ #include "libavutil/avassert.h" -#include "libavutil/error.h" #include "libavutil/libm.h" #include "libavutil/mathematics.h" #include "libavutil/attributes.h" -#include "libavutil/mem.h" #include "kbdwin.h" -av_cold static int kbd_window_init(float *float_window, int *int_window, float alpha, int n) +av_cold static void kbd_window_init(float *float_window, int *int_window, float alpha, int n) { int i; double sum = 0.0, tmp; double scale = 0.0; - double temp_small[FF_KBD_WINDOW_MAX / 2 + 1]; - double *temp= n<=FF_KBD_WINDOW_MAX ? temp_small : av_malloc((n/2+1) * sizeof(*temp)); + double temp[FF_KBD_WINDOW_MAX / 2 + 1]; double alpha2 = 4 * (alpha * M_PI / n) * (alpha * M_PI / n); - if (!temp) - return AVERROR(ENOMEM); + av_assert0(n <= FF_KBD_WINDOW_MAX); for (i = 0; i <= n / 2; i++) { - tmp = alpha2 * i * (n - i); + tmp = i * (n - i) * alpha2; temp[i] = av_bessel_i0(sqrt(tmp)); scale += temp[i] * (1 + (i && i /** - * Maximum window size for avpriv_kbd_window_init. + * Maximum window size for ff_kbd_window_init. */ #define FF_KBD_WINDOW_MAX 1024 @@ -30,11 +30,9 @@ * Generate a Kaiser-Bessel Derived Window. * @param window pointer to half window * @param alpha determines window shape - * @param n size of half window - * - * @return if n is larger than FF_KBD_WINDOW_MAX then AVERROR(ENOMEM) is possible + * @param n size of half window, max FF_KBD_WINDOW_MAX */ -int avpriv_kbd_window_init(float *window, float alpha, int n); -int avpriv_kbd_window_init_fixed(int32_t *window, float alpha, int n); +void ff_kbd_window_init(float *window, float alpha, int n); +void ff_kbd_window_init_fixed(int32_t *window, float alpha, int n); #endif /* AVCODEC_KBDWIN_H */