aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-01-28 14:49:26 +0100
committerJames Almer <jamrial@gmail.com>2024-03-07 08:53:31 -0300
commitbb81c60927d8ff53286ffe1b5d9607757180b8ae (patch)
tree0e8a18af8a4195cc930dfc74bc9d329b82c1dd7e
parent7b11fd585f256301188857cbac13e74a90c83a17 (diff)
downloadffmpeg-bb81c60927d8ff53286ffe1b5d9607757180b8ae.tar.gz
Revert "avcodec: Rename ff_kbd_window_init() as it will be needed from outside libavcodec"
This reverts commits fd5aa93a37b3fa21195c6d7b22ef655124020e09 and cf00f60bab1f79213c274a6cd4357b32bd5c0101 ("avcodec/kbdwin: Support arbitrary sized windows"). The change in question has only been made for libavradio. in anticipation of merging it into the main tree. This has not happened, so this commit reverts the changes to kbdwin that are not used for anything else. In particular, these functions are no longer exported (as avpriv functions); notice that the fixed-point function has been exported despite having never been used outside of lavc. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/aacdec_template.c8
-rw-r--r--libavcodec/aactab.c4
-rw-r--r--libavcodec/ac3dec.c2
-rw-r--r--libavcodec/ac3enc_fixed.c2
-rw-r--r--libavcodec/ac3enc_float.c2
-rw-r--r--libavcodec/dolby_e.c4
-rw-r--r--libavcodec/kbdwin.c23
-rw-r--r--libavcodec/kbdwin.h10
8 files changed, 23 insertions, 32 deletions
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<n/2));
}
@@ -53,17 +49,14 @@ av_cold static int kbd_window_init(float *float_window, int *int_window, float a
if (float_window) float_window[i] = sqrt(sum * scale);
else int_window[i] = lrint(2147483647 * sqrt(sum * scale));
}
- if (temp != temp_small)
- av_free(temp);
- return 0;
}
-av_cold int avpriv_kbd_window_init(float *window, float alpha, int n)
+av_cold void ff_kbd_window_init(float *window, float alpha, int n)
{
- return kbd_window_init(window, NULL, alpha, n);
+ kbd_window_init(window, NULL, alpha, n);
}
-av_cold int avpriv_kbd_window_init_fixed(int32_t *window, float alpha, int n)
+av_cold void ff_kbd_window_init_fixed(int32_t *window, float alpha, int n)
{
- return kbd_window_init(NULL, window, alpha, n);
+ kbd_window_init(NULL, window, alpha, n);
}
diff --git a/libavcodec/kbdwin.h b/libavcodec/kbdwin.h
index 0cb2073c5f..4185c4206f 100644
--- a/libavcodec/kbdwin.h
+++ b/libavcodec/kbdwin.h
@@ -22,7 +22,7 @@
#include <stdint.h>
/**
- * 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 */