diff mbox series

[FFmpeg-devel,1/2] Revert "avcodec: Rename ff_kbd_window_init() as it will be needed from outside libavcodec"

Message ID AS8P250MB07448A987FA6B370DCDAF5CF8F7F2@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit bb81c60927d8ff53286ffe1b5d9607757180b8ae
Headers show
Series [FFmpeg-devel,1/2] Revert "avcodec: Rename ff_kbd_window_init() as it will be needed from outside libavcodec" | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt Jan. 28, 2024, 1:49 p.m. UTC
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>
---
 libavcodec/aacdec_template.c |  8 ++++----
 libavcodec/aactab.c          |  4 ++--
 libavcodec/ac3dec.c          |  2 +-
 libavcodec/ac3enc_fixed.c    |  2 +-
 libavcodec/ac3enc_float.c    |  2 +-
 libavcodec/dolby_e.c         |  4 ++--
 libavcodec/kbdwin.c          | 23 ++++++++---------------
 libavcodec/kbdwin.h          | 10 ++++------
 8 files changed, 23 insertions(+), 32 deletions(-)

Comments

Michael Niedermayer Jan. 28, 2024, 10:41 p.m. UTC | #1
On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
> 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>
> ---
>  libavcodec/aacdec_template.c |  8 ++++----
>  libavcodec/aactab.c          |  4 ++--
>  libavcodec/ac3dec.c          |  2 +-
>  libavcodec/ac3enc_fixed.c    |  2 +-
>  libavcodec/ac3enc_float.c    |  2 +-
>  libavcodec/dolby_e.c         |  4 ++--
>  libavcodec/kbdwin.c          | 23 ++++++++---------------
>  libavcodec/kbdwin.h          | 10 ++++------
>  8 files changed, 23 insertions(+), 32 deletions(-)

I still intend to work on SDR either within what people agreed to
(that is a separate library) or in form of a fork.

For both it is easier if the functions it needs are accessible

thx

[...]
James Almer Jan. 28, 2024, 11:52 p.m. UTC | #2
On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
> On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
>> 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>
>> ---
>>   libavcodec/aacdec_template.c |  8 ++++----
>>   libavcodec/aactab.c          |  4 ++--
>>   libavcodec/ac3dec.c          |  2 +-
>>   libavcodec/ac3enc_fixed.c    |  2 +-
>>   libavcodec/ac3enc_float.c    |  2 +-
>>   libavcodec/dolby_e.c         |  4 ++--
>>   libavcodec/kbdwin.c          | 23 ++++++++---------------
>>   libavcodec/kbdwin.h          | 10 ++++------
>>   8 files changed, 23 insertions(+), 32 deletions(-)
> 
> I still intend to work on SDR either within what people agreed to
> (that is a separate library) or in form of a fork.
> 
> For both it is easier if the functions it needs are accessible
> 
> thx

Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an 
avpriv_ symbol to ff_ can only happen during a bump. So this patch is 
IMO ok.
There's no warranty that whatever happens with SDR will happen before 
the next bump, so better remove as many exposed symbols as possible.
Michael Niedermayer Jan. 29, 2024, 2:31 a.m. UTC | #3
On Sun, Jan 28, 2024 at 08:52:20PM -0300, James Almer wrote:
> On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
> > On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
> > > 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>
> > > ---
> > >   libavcodec/aacdec_template.c |  8 ++++----
> > >   libavcodec/aactab.c          |  4 ++--
> > >   libavcodec/ac3dec.c          |  2 +-
> > >   libavcodec/ac3enc_fixed.c    |  2 +-
> > >   libavcodec/ac3enc_float.c    |  2 +-
> > >   libavcodec/dolby_e.c         |  4 ++--
> > >   libavcodec/kbdwin.c          | 23 ++++++++---------------
> > >   libavcodec/kbdwin.h          | 10 ++++------
> > >   8 files changed, 23 insertions(+), 32 deletions(-)
> > 
> > I still intend to work on SDR either within what people agreed to
> > (that is a separate library) or in form of a fork.
> > 
> > For both it is easier if the functions it needs are accessible
> > 
> > thx
> 
> Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an
> avpriv_ symbol to ff_ can only happen during a bump. So this patch is IMO
> ok.
> There's no warranty that whatever happens with SDR will happen before the
> next bump, so better remove as many exposed symbols as possible.

You are missing something here.

With the symbols, i can fork libavdevice and add SDR support.
Without the symbols, i cannot just do that. At least not cleanly
Because i need to replace libavcodec too and i need to extend its ABI
then.
This makes this more messy.

thx

[...]
Andreas Rheinhardt Jan. 29, 2024, 7:59 a.m. UTC | #4
Michael Niedermayer:
> On Sun, Jan 28, 2024 at 08:52:20PM -0300, James Almer wrote:
>> On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
>>> On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
>>>> 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>
>>>> ---
>>>>   libavcodec/aacdec_template.c |  8 ++++----
>>>>   libavcodec/aactab.c          |  4 ++--
>>>>   libavcodec/ac3dec.c          |  2 +-
>>>>   libavcodec/ac3enc_fixed.c    |  2 +-
>>>>   libavcodec/ac3enc_float.c    |  2 +-
>>>>   libavcodec/dolby_e.c         |  4 ++--
>>>>   libavcodec/kbdwin.c          | 23 ++++++++---------------
>>>>   libavcodec/kbdwin.h          | 10 ++++------
>>>>   8 files changed, 23 insertions(+), 32 deletions(-)
>>>
>>> I still intend to work on SDR either within what people agreed to
>>> (that is a separate library) or in form of a fork.
>>>
>>> For both it is easier if the functions it needs are accessible
>>>
>>> thx
>>
>> Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an
>> avpriv_ symbol to ff_ can only happen during a bump. So this patch is IMO
>> ok.
>> There's no warranty that whatever happens with SDR will happen before the
>> next bump, so better remove as many exposed symbols as possible.
> 
> You are missing something here.
> 
> With the symbols, i can fork libavdevice and add SDR support.
> Without the symbols, i cannot just do that. At least not cleanly
> Because i need to replace libavcodec too and i need to extend its ABI
> then.
> This makes this more messy.
> 

I would rather have you just copy the needed code into your fork of
libavradio/libavdevice than add avpriv symbols (one of which was always
unnecessary) for this.

- Andreas
Vittorio Giovara Jan. 29, 2024, 9:09 a.m. UTC | #5
On Mon, Jan 29, 2024 at 8:58 AM Andreas Rheinhardt <
andreas.rheinhardt@outlook.com> wrote:

> Michael Niedermayer:
> > On Sun, Jan 28, 2024 at 08:52:20PM -0300, James Almer wrote:
> >> On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
> >>> On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
> >>>> 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>
> >>>> ---
> >>>>   libavcodec/aacdec_template.c |  8 ++++----
> >>>>   libavcodec/aactab.c          |  4 ++--
> >>>>   libavcodec/ac3dec.c          |  2 +-
> >>>>   libavcodec/ac3enc_fixed.c    |  2 +-
> >>>>   libavcodec/ac3enc_float.c    |  2 +-
> >>>>   libavcodec/dolby_e.c         |  4 ++--
> >>>>   libavcodec/kbdwin.c          | 23 ++++++++---------------
> >>>>   libavcodec/kbdwin.h          | 10 ++++------
> >>>>   8 files changed, 23 insertions(+), 32 deletions(-)
> >>>
> >>> I still intend to work on SDR either within what people agreed to
> >>> (that is a separate library) or in form of a fork.
> >>>
> >>> For both it is easier if the functions it needs are accessible
> >>>
> >>> thx
> >>
> >> Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an
> >> avpriv_ symbol to ff_ can only happen during a bump. So this patch is
> IMO
> >> ok.
> >> There's no warranty that whatever happens with SDR will happen before
> the
> >> next bump, so better remove as many exposed symbols as possible.
> >
> > You are missing something here.
> >
> > With the symbols, i can fork libavdevice and add SDR support.
> > Without the symbols, i cannot just do that. At least not cleanly
> > Because i need to replace libavcodec too and i need to extend its ABI
> > then.
> > This makes this more messy.
> >
>
> I would rather have you just copy the needed code into your fork of
> libavradio/libavdevice than add avpriv symbols (one of which was always
> unnecessary) for this.
>

Agreed, Michael is there any blocker for this to be done in your fork?
Michael Niedermayer Jan. 29, 2024, 7:24 p.m. UTC | #6
On Mon, Jan 29, 2024 at 10:09:52AM +0100, Vittorio Giovara wrote:
> On Mon, Jan 29, 2024 at 8:58 AM Andreas Rheinhardt <
> andreas.rheinhardt@outlook.com> wrote:
> 
> > Michael Niedermayer:
> > > On Sun, Jan 28, 2024 at 08:52:20PM -0300, James Almer wrote:
> > >> On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
> > >>> On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
> > >>>> 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>
> > >>>> ---
> > >>>>   libavcodec/aacdec_template.c |  8 ++++----
> > >>>>   libavcodec/aactab.c          |  4 ++--
> > >>>>   libavcodec/ac3dec.c          |  2 +-
> > >>>>   libavcodec/ac3enc_fixed.c    |  2 +-
> > >>>>   libavcodec/ac3enc_float.c    |  2 +-
> > >>>>   libavcodec/dolby_e.c         |  4 ++--
> > >>>>   libavcodec/kbdwin.c          | 23 ++++++++---------------
> > >>>>   libavcodec/kbdwin.h          | 10 ++++------
> > >>>>   8 files changed, 23 insertions(+), 32 deletions(-)
> > >>>
> > >>> I still intend to work on SDR either within what people agreed to
> > >>> (that is a separate library) or in form of a fork.
> > >>>
> > >>> For both it is easier if the functions it needs are accessible
> > >>>
> > >>> thx
> > >>
> > >> Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an
> > >> avpriv_ symbol to ff_ can only happen during a bump. So this patch is
> > IMO
> > >> ok.
> > >> There's no warranty that whatever happens with SDR will happen before
> > the
> > >> next bump, so better remove as many exposed symbols as possible.
> > >
> > > You are missing something here.
> > >
> > > With the symbols, i can fork libavdevice and add SDR support.
> > > Without the symbols, i cannot just do that. At least not cleanly
> > > Because i need to replace libavcodec too and i need to extend its ABI
> > > then.
> > > This makes this more messy.
> > >
> >
> > I would rather have you just copy the needed code into your fork of
> > libavradio/libavdevice than add avpriv symbols (one of which was always
> > unnecessary) for this.
> >
> 
> Agreed, Michael is there any blocker for this to be done in your fork?

Vittorio, Andreas

I think you are correct, I will do that

thx

[...]
Michael Niedermayer Jan. 29, 2024, 7:31 p.m. UTC | #7
On Mon, Jan 29, 2024 at 08:24:21PM +0100, Michael Niedermayer wrote:
> On Mon, Jan 29, 2024 at 10:09:52AM +0100, Vittorio Giovara wrote:
> > On Mon, Jan 29, 2024 at 8:58 AM Andreas Rheinhardt <
> > andreas.rheinhardt@outlook.com> wrote:
> > 
> > > Michael Niedermayer:
> > > > On Sun, Jan 28, 2024 at 08:52:20PM -0300, James Almer wrote:
> > > >> On 1/28/2024 7:41 PM, Michael Niedermayer wrote:
> > > >>> On Sun, Jan 28, 2024 at 02:49:26PM +0100, Andreas Rheinhardt wrote:
> > > >>>> 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>
> > > >>>> ---
> > > >>>>   libavcodec/aacdec_template.c |  8 ++++----
> > > >>>>   libavcodec/aactab.c          |  4 ++--
> > > >>>>   libavcodec/ac3dec.c          |  2 +-
> > > >>>>   libavcodec/ac3enc_fixed.c    |  2 +-
> > > >>>>   libavcodec/ac3enc_float.c    |  2 +-
> > > >>>>   libavcodec/dolby_e.c         |  4 ++--
> > > >>>>   libavcodec/kbdwin.c          | 23 ++++++++---------------
> > > >>>>   libavcodec/kbdwin.h          | 10 ++++------
> > > >>>>   8 files changed, 23 insertions(+), 32 deletions(-)
> > > >>>
> > > >>> I still intend to work on SDR either within what people agreed to
> > > >>> (that is a separate library) or in form of a fork.
> > > >>>
> > > >>> For both it is easier if the functions it needs are accessible
> > > >>>
> > > >>> thx
> > > >>
> > > >> Renaming an ff_ symbol into avpriv_ can happen at any time. Renaming an
> > > >> avpriv_ symbol to ff_ can only happen during a bump. So this patch is
> > > IMO
> > > >> ok.
> > > >> There's no warranty that whatever happens with SDR will happen before
> > > the
> > > >> next bump, so better remove as many exposed symbols as possible.
> > > >
> > > > You are missing something here.
> > > >
> > > > With the symbols, i can fork libavdevice and add SDR support.
> > > > Without the symbols, i cannot just do that. At least not cleanly
> > > > Because i need to replace libavcodec too and i need to extend its ABI
> > > > then.
> > > > This makes this more messy.
> > > >
> > >
> > > I would rather have you just copy the needed code into your fork of
> > > libavradio/libavdevice than add avpriv symbols (one of which was always
> > > unnecessary) for this.
> > >
> > 
> > Agreed, Michael is there any blocker for this to be done in your fork?
> 
> Vittorio, Andreas
> 
> I think you are correct, I will do that

I mean i will implement KBD inside teh SDR code so you can remove this
just stating that again so its not misunderstood. ALot of things seeem to
be misunderstod lately

thx


[...]
diff mbox series

Patch

diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
index 2b3509c85f..28f4b8110b 100644
--- a/libavcodec/aacdec_template.c
+++ b/libavcodec/aacdec_template.c
@@ -1130,8 +1130,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);
@@ -1139,8 +1139,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 63a478f33f..f34c1ac69e 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 ee50138605..3db71fed39 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -228,7 +228,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 079a43dc39..88dfd66b91 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 9664adbf63..ae351a535e 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 b8dac0fa3f..921c33f3ba 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 */