Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-20 Thread Lynne
Feb 20, 2023, 18:23 by an...@khirnov.net:

> Quoting Lynne (2023-02-20 18:18:40)
>
>> Feb 20, 2023, 16:34 by an...@khirnov.net:
>>
>> > Quoting Lynne (2023-02-18 15:53:32)
>> >
>> >> Feb 18, 2023, 14:58 by jamr...@gmail.com:
>> >> > vf_spp should be ported to tx, not the avdct functions silenced. You're 
>> >> > just scheduling a compilation failure as is.
>> >> There's enough time to port it, a whole year in fact.
>> >>
>> >
>> > Past experience shows that it never works like this. It's either ported
>> > now or you're forcing somebody else to do it before the next bump.
>> > I vastly prefer the former.
>> >
>>
>> You haven't even looked at the API, have you?
>> I'm going to be the one to fix it.
>> I still intend to push this before the release is made.
>>
>
> The release was branched already. No API changes can be made in the
> release branch.
>

It's a deprecation, not an API change, Michael already said it's fine.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-20 Thread Anton Khirnov
Quoting Lynne (2023-02-20 18:18:40)
> Feb 20, 2023, 16:34 by an...@khirnov.net:
> 
> > Quoting Lynne (2023-02-18 15:53:32)
> >
> >> Feb 18, 2023, 14:58 by jamr...@gmail.com:
> >> > vf_spp should be ported to tx, not the avdct functions silenced. You're 
> >> > just scheduling a compilation failure as is.
> >> There's enough time to port it, a whole year in fact.
> >>
> >
> > Past experience shows that it never works like this. It's either ported
> > now or you're forcing somebody else to do it before the next bump.
> > I vastly prefer the former.
> >
> 
> You haven't even looked at the API, have you?
> I'm going to be the one to fix it.
> I still intend to push this before the release is made.

The release was branched already. No API changes can be made in the
release branch.

-- 
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-20 Thread Lynne
Feb 20, 2023, 16:34 by an...@khirnov.net:

> Quoting Lynne (2023-02-18 15:53:32)
>
>> Feb 18, 2023, 14:58 by jamr...@gmail.com:
>> > vf_spp should be ported to tx, not the avdct functions silenced. You're 
>> > just scheduling a compilation failure as is.
>> There's enough time to port it, a whole year in fact.
>>
>
> Past experience shows that it never works like this. It's either ported
> now or you're forcing somebody else to do it before the next bump.
> I vastly prefer the former.
>

You haven't even looked at the API, have you?
I'm going to be the one to fix it.
I still intend to push this before the release is made.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-20 Thread Anton Khirnov
Quoting Lynne (2023-02-18 15:53:32)
> Feb 18, 2023, 14:58 by jamr...@gmail.com:
> > vf_spp should be ported to tx, not the avdct functions silenced. You're 
> > just scheduling a compilation failure as is.
> There's enough time to port it, a whole year in fact.

Past experience shows that it never works like this. It's either ported
now or you're forcing somebody else to do it before the next bump.
I vastly prefer the former.

-- 
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-19 Thread Lynne
Feb 18, 2023, 15:53 by d...@lynne.ee:

> Feb 18, 2023, 14:58 by jamr...@gmail.com:
>
>> On 2/18/2023 10:45 AM, Lynne wrote:
>>
>>> Feb 18, 2023, 14:32 by jamr...@gmail.com:
>>>
 On 2/18/2023 9:49 AM, Lynne wrote:

> Feb 17, 2023, 19:45 by d...@lynne.ee:
>
>> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>>
>>> On 2/17/2023 1:54 PM, Lynne wrote:
>>>
 This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

 All filters and all codecs (except wmavoice) have been ported for the
 lavu/tx API.

 The noise should be minimal.

>>>
>>> It isn't. I'm getting more than two thousand lines of warnings after 
>>> applying this patch from
>>>
>>> libavfilter/vf_spp.c
>>> libavfilter/x86/vf_spp.c
>>> libavcodec/asvenc.c
>>> libavcodec/avdct.c
>>> libavcodec/avfft.c
>>> libavcodec/dct.c
>>> libavcodec/fdctdsp.c
>>> libavcodec/fft_float.c
>>> libavcodec/fft_init_table.c
>>> libavcodec/idctdsp.c
>>> libavcodec/jfdctfst.c
>>> libavcodec/jfdctint.c
>>> libavcodec/jrevdct.c
>>> libavcodec/mpegaudiodsp.c
>>> libavcodec/mpegvideo_enc.c
>>> libavcodec/rdft.c
>>> libavcodec/wmavoice.c
>>> libavcodec/x86/dct_init.c
>>> libavcodec/x86/fft_init.c
>>> libavcodec/x86/mpegvideoenc.c
>>>
>>> It's not just wmavoice, there's also mpeg and jpeg stuff, and one 
>>> filter. For the actual fft/dct/rdft/mdct source files, you should use 
>>> the deprecation warning pragmas to silence them, but the other modules 
>>> need to be ported.
>>> This patch is also missing the schedule FF_API deprecation wrapper.
>>>
>>
>> Is the noise acceptable if I just deprecate the functions?
>> It wasn't before, but it should be much less now.
>>
>
> Version 2 attached.
> Deprecates only the init functions (which must always be used, therefore
> the entire API is deprecated).
>

 You should deprecate all the functions, not just the init ones, even if 
 the rest depend on them. And add a "@deprecated use AVTXContext from 
 libavutil/tx.h" line or similar in the doxy for at least the init or alloc 
 functions to point library users to the replacement API.

>>>
>>> Fair enough, deprecated all functions, added disable/enable warnings to 
>>> tests
>>> and vf_spp, and added the doxy note.
>>> Attached v3.
>>>
>>
>> vf_spp should be ported to tx, not the avdct functions silenced. You're just 
>> scheduling a compilation failure as is.
>>
>
> There's enough time to port it, a whole year in fact.
>
>
>> What is the plan for the internal version of all this lavc code? Is it going 
>> to be removed and wmavoice/mpegaudiodsp/etc ported to tx? Because it depends 
>> on structs defined in the public headers you're scheduling to be removed.
>>
>
> Yes, all internals will be removed when I port wmavoice.
> I have a DST-I and a DCT-I ready, but they're naive.
> They're still fast enough for wmavoice, but I went down
> looking for a faster way...
>

Ping. This should go in before the bump.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread Lynne
Feb 18, 2023, 14:58 by jamr...@gmail.com:

> On 2/18/2023 10:45 AM, Lynne wrote:
>
>> Feb 18, 2023, 14:32 by jamr...@gmail.com:
>>
>>> On 2/18/2023 9:49 AM, Lynne wrote:
>>>
 Feb 17, 2023, 19:45 by d...@lynne.ee:

> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>
>> On 2/17/2023 1:54 PM, Lynne wrote:
>>
>>> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
>>>
>>> All filters and all codecs (except wmavoice) have been ported for the
>>> lavu/tx API.
>>>
>>> The noise should be minimal.
>>>
>>
>> It isn't. I'm getting more than two thousand lines of warnings after 
>> applying this patch from
>>
>> libavfilter/vf_spp.c
>> libavfilter/x86/vf_spp.c
>> libavcodec/asvenc.c
>> libavcodec/avdct.c
>> libavcodec/avfft.c
>> libavcodec/dct.c
>> libavcodec/fdctdsp.c
>> libavcodec/fft_float.c
>> libavcodec/fft_init_table.c
>> libavcodec/idctdsp.c
>> libavcodec/jfdctfst.c
>> libavcodec/jfdctint.c
>> libavcodec/jrevdct.c
>> libavcodec/mpegaudiodsp.c
>> libavcodec/mpegvideo_enc.c
>> libavcodec/rdft.c
>> libavcodec/wmavoice.c
>> libavcodec/x86/dct_init.c
>> libavcodec/x86/fft_init.c
>> libavcodec/x86/mpegvideoenc.c
>>
>> It's not just wmavoice, there's also mpeg and jpeg stuff, and one 
>> filter. For the actual fft/dct/rdft/mdct source files, you should use 
>> the deprecation warning pragmas to silence them, but the other modules 
>> need to be ported.
>> This patch is also missing the schedule FF_API deprecation wrapper.
>>
>
> Is the noise acceptable if I just deprecate the functions?
> It wasn't before, but it should be much less now.
>

 Version 2 attached.
 Deprecates only the init functions (which must always be used, therefore
 the entire API is deprecated).

>>>
>>> You should deprecate all the functions, not just the init ones, even if the 
>>> rest depend on them. And add a "@deprecated use AVTXContext from 
>>> libavutil/tx.h" line or similar in the doxy for at least the init or alloc 
>>> functions to point library users to the replacement API.
>>>
>>
>> Fair enough, deprecated all functions, added disable/enable warnings to tests
>> and vf_spp, and added the doxy note.
>> Attached v3.
>>
>
> vf_spp should be ported to tx, not the avdct functions silenced. You're just 
> scheduling a compilation failure as is.
>

There's enough time to port it, a whole year in fact.


> What is the plan for the internal version of all this lavc code? Is it going 
> to be removed and wmavoice/mpegaudiodsp/etc ported to tx? Because it depends 
> on structs defined in the public headers you're scheduling to be removed.
>

Yes, all internals will be removed when I port wmavoice.
I have a DST-I and a DCT-I ready, but they're naive.
They're still fast enough for wmavoice, but I went down
looking for a faster way...
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread James Almer

On 2/18/2023 10:45 AM, Lynne wrote:

Feb 18, 2023, 14:32 by jamr...@gmail.com:


On 2/18/2023 9:49 AM, Lynne wrote:


Feb 17, 2023, 19:45 by d...@lynne.ee:


Feb 17, 2023, 18:08 by jamr...@gmail.com:


On 2/17/2023 1:54 PM, Lynne wrote:


This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

All filters and all codecs (except wmavoice) have been ported for the
lavu/tx API.

The noise should be minimal.



It isn't. I'm getting more than two thousand lines of warnings after applying 
this patch from

libavfilter/vf_spp.c
libavfilter/x86/vf_spp.c
libavcodec/asvenc.c
libavcodec/avdct.c
libavcodec/avfft.c
libavcodec/dct.c
libavcodec/fdctdsp.c
libavcodec/fft_float.c
libavcodec/fft_init_table.c
libavcodec/idctdsp.c
libavcodec/jfdctfst.c
libavcodec/jfdctint.c
libavcodec/jrevdct.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegvideo_enc.c
libavcodec/rdft.c
libavcodec/wmavoice.c
libavcodec/x86/dct_init.c
libavcodec/x86/fft_init.c
libavcodec/x86/mpegvideoenc.c

It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. For 
the actual fft/dct/rdft/mdct source files, you should use the deprecation 
warning pragmas to silence them, but the other modules need to be ported.
This patch is also missing the schedule FF_API deprecation wrapper.



Is the noise acceptable if I just deprecate the functions?
It wasn't before, but it should be much less now.



Version 2 attached.
Deprecates only the init functions (which must always be used, therefore
the entire API is deprecated).



You should deprecate all the functions, not just the init ones, even if the rest depend 
on them. And add a "@deprecated use AVTXContext from libavutil/tx.h" line or 
similar in the doxy for at least the init or alloc functions to point library users to 
the replacement API.



Fair enough, deprecated all functions, added disable/enable warnings to tests
and vf_spp, and added the doxy note.
Attached v3.


vf_spp should be ported to tx, not the avdct functions silenced. You're 
just scheduling a compilation failure as is.


What is the plan for the internal version of all this lavc code? Is it 
going to be removed and wmavoice/mpegaudiodsp/etc ported to tx? Because 
it depends on structs defined in the public headers you're scheduling to 
be removed.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread Lynne
Feb 18, 2023, 14:32 by jamr...@gmail.com:

> On 2/18/2023 9:49 AM, Lynne wrote:
>
>> Feb 17, 2023, 19:45 by d...@lynne.ee:
>>
>>> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>>>
 On 2/17/2023 1:54 PM, Lynne wrote:

> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
>
> All filters and all codecs (except wmavoice) have been ported for the
> lavu/tx API.
>
> The noise should be minimal.
>

 It isn't. I'm getting more than two thousand lines of warnings after 
 applying this patch from

 libavfilter/vf_spp.c
 libavfilter/x86/vf_spp.c
 libavcodec/asvenc.c
 libavcodec/avdct.c
 libavcodec/avfft.c
 libavcodec/dct.c
 libavcodec/fdctdsp.c
 libavcodec/fft_float.c
 libavcodec/fft_init_table.c
 libavcodec/idctdsp.c
 libavcodec/jfdctfst.c
 libavcodec/jfdctint.c
 libavcodec/jrevdct.c
 libavcodec/mpegaudiodsp.c
 libavcodec/mpegvideo_enc.c
 libavcodec/rdft.c
 libavcodec/wmavoice.c
 libavcodec/x86/dct_init.c
 libavcodec/x86/fft_init.c
 libavcodec/x86/mpegvideoenc.c

 It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. 
 For the actual fft/dct/rdft/mdct source files, you should use the 
 deprecation warning pragmas to silence them, but the other modules need to 
 be ported.
 This patch is also missing the schedule FF_API deprecation wrapper.

>>>
>>> Is the noise acceptable if I just deprecate the functions?
>>> It wasn't before, but it should be much less now.
>>>
>>
>> Version 2 attached.
>> Deprecates only the init functions (which must always be used, therefore
>> the entire API is deprecated).
>>
>
> You should deprecate all the functions, not just the init ones, even if the 
> rest depend on them. And add a "@deprecated use AVTXContext from 
> libavutil/tx.h" line or similar in the doxy for at least the init or alloc 
> functions to point library users to the replacement API.
>

Fair enough, deprecated all functions, added disable/enable warnings to tests
and vf_spp, and added the doxy note.
Attached v3.

>From b0fd5e0a67f884c1259c1aee5dd38e457c6ad3fc Mon Sep 17 00:00:00 2001
From: Lynne 
Date: Sat, 18 Feb 2023 13:43:39 +0100
Subject: [PATCH v3] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct,
 av_rdft and av_mdct

This effectively reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
---
 doc/APIchanges |  4 
 libavcodec/avdct.h |  9 +
 libavcodec/avfft.h | 25 +
 libavcodec/tests/fft.c |  4 
 libavcodec/version.h   |  2 +-
 libavcodec/version_major.h |  2 ++
 libavfilter/vf_spp.c   |  6 ++
 7 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 29161e30bf..7e3e3767d2 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
 
 API changes, most recent first:
 
+2023-02-17 - xx - lavc 60.3.100 - avdct.h avfft.h
+  Deprecate avcodec_dct, av_dct, av_rdft, av_fft and av_mdct.
+  Replaced by libavutil/tx.h
+
 2023-02-16 - xx - lavf 60.2.100 - avformat.h
   Deprecate AVFormatContext io_close callback.
   The superior io_close2 callback should be used instead.
diff --git a/libavcodec/avdct.h b/libavcodec/avdct.h
index 6411fab6f6..fb3ae3a273 100644
--- a/libavcodec/avdct.h
+++ b/libavcodec/avdct.h
@@ -19,6 +19,10 @@
 #ifndef AVCODEC_AVDCT_H
 #define AVCODEC_AVDCT_H
 
+#include "libavutil/attributes.h"
+#include "version_major.h"
+#if FF_API_AVDCT
+
 #include "libavutil/opt.h"
 
 /**
@@ -79,10 +83,15 @@ typedef struct AVDCT {
  * configuring it with AVOptions.
  *
  * To free it use av_free()
+ * @deprecated use AVTXContext from libavutil/tx.h
  */
+attribute_deprecated
 AVDCT *avcodec_dct_alloc(void);
+attribute_deprecated
 int avcodec_dct_init(AVDCT *);
 
+attribute_deprecated
 const AVClass *avcodec_dct_get_class(void);
 
+#endif /* FF_API_AVDCT */
 #endif /* AVCODEC_AVDCT_H */
diff --git a/libavcodec/avfft.h b/libavcodec/avfft.h
index 0c0f9b8d8d..6401833089 100644
--- a/libavcodec/avfft.h
+++ b/libavcodec/avfft.h
@@ -19,6 +19,10 @@
 #ifndef AVCODEC_AVFFT_H
 #define AVCODEC_AVFFT_H
 
+#include "libavutil/attributes.h"
+#include "version_major.h"
+#if FF_API_AVFFT
+
 /**
  * @file
  * @ingroup lavc_fft
@@ -44,26 +48,38 @@ typedef struct FFTContext FFTContext;
  * Set up a complex FFT.
  * @param nbits   log2 of the length of the input array
  * @param inverse if 0 perform the forward transform, if 1 perform the inverse
+ * @deprecated use AVTXContext from libavutil/tx.h
  */
+attribute_deprecated
 FFTContext *av_fft_init(int nbits, int inverse);
 
 /**
  * Do the permutation needed BEFORE calling ff_fft_calc().
+ * @deprecated use AVTXContext from libavutil/tx.h
  */
+attribute_deprecated
 void av_fft_permute(FFTContext *s, FFTComplex *z);
 
 /**
  * Do a complex FFT with the parameters defined in 

Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread James Almer

On 2/18/2023 9:49 AM, Lynne wrote:

Feb 17, 2023, 19:45 by d...@lynne.ee:


Feb 17, 2023, 18:08 by jamr...@gmail.com:


On 2/17/2023 1:54 PM, Lynne wrote:


This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

All filters and all codecs (except wmavoice) have been ported for the
lavu/tx API.

The noise should be minimal.



It isn't. I'm getting more than two thousand lines of warnings after applying 
this patch from

libavfilter/vf_spp.c
libavfilter/x86/vf_spp.c
libavcodec/asvenc.c
libavcodec/avdct.c
libavcodec/avfft.c
libavcodec/dct.c
libavcodec/fdctdsp.c
libavcodec/fft_float.c
libavcodec/fft_init_table.c
libavcodec/idctdsp.c
libavcodec/jfdctfst.c
libavcodec/jfdctint.c
libavcodec/jrevdct.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegvideo_enc.c
libavcodec/rdft.c
libavcodec/wmavoice.c
libavcodec/x86/dct_init.c
libavcodec/x86/fft_init.c
libavcodec/x86/mpegvideoenc.c

It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. For 
the actual fft/dct/rdft/mdct source files, you should use the deprecation 
warning pragmas to silence them, but the other modules need to be ported.
This patch is also missing the schedule FF_API deprecation wrapper.



Is the noise acceptable if I just deprecate the functions?
It wasn't before, but it should be much less now.



Version 2 attached.
Deprecates only the init functions (which must always be used, therefore
the entire API is deprecated).


You should deprecate all the functions, not just the init ones, even if 
the rest depend on them. And add a "@deprecated use AVTXContext from 
libavutil/tx.h" line or similar in the doxy for at least the init or 
alloc functions to point library users to the replacement API.



Included FF_API defines, and bumped minor.


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread James Almer

On 2/18/2023 8:52 AM, Lynne wrote:

Feb 18, 2023, 01:00 by h.lepp...@gmail.com:


On Fri, Feb 17, 2023 at 7:45 PM Lynne  wrote:



Feb 17, 2023, 18:08 by jamr...@gmail.com:


On 2/17/2023 1:54 PM, Lynne wrote:


This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

All filters and all codecs (except wmavoice) have been ported for the
lavu/tx API.

The noise should be minimal.



It isn't. I'm getting more than two thousand lines of warnings after applying 
this patch from

libavfilter/vf_spp.c
libavfilter/x86/vf_spp.c
libavcodec/asvenc.c
libavcodec/avdct.c
libavcodec/avfft.c
libavcodec/dct.c
libavcodec/fdctdsp.c
libavcodec/fft_float.c
libavcodec/fft_init_table.c
libavcodec/idctdsp.c
libavcodec/jfdctfst.c
libavcodec/jfdctint.c
libavcodec/jrevdct.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegvideo_enc.c
libavcodec/rdft.c
libavcodec/wmavoice.c
libavcodec/x86/dct_init.c
libavcodec/x86/fft_init.c
libavcodec/x86/mpegvideoenc.c

It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. For 
the actual fft/dct/rdft/mdct source files, you should use the deprecation 
warning pragmas to silence them, but the other modules need to be ported.
This patch is also missing the schedule FF_API deprecation wrapper.



Is the noise acceptable if I just deprecate the functions?
It wasn't before, but it should be much less now.



An API we still use internally doesn't seem very deprecated to me.
Should get rid of it, then there won't be any warnings.



git grep av_fft_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_dct_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_rdft_init | cut -d ':' -f 1 | uniq
fftools/ffplay.c
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_mdct_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_tx_init | cut -d ':' -f 1 | uniq
libavcodec/aacdec_template.c
libavcodec/aacenc.c
libavcodec/aacsbr_template.c
libavcodec/ac3dec.c
libavcodec/ac3enc_fixed.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/atrac9dec.c
libavcodec/binkaudio.c
libavcodec/cook.c
libavcodec/dca_core.c
libavcodec/dca_lbr.c
libavcodec/dcaenc.c
libavcodec/dolby_e.c
libavcodec/hcadec.c
libavcodec/imc.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/on2avc.c
libavcodec/opusdec_celt.c
libavcodec/opusenc.c
libavcodec/opusenc_psy.c
libavcodec/qdm2.c
libavcodec/qdmc.c
libavcodec/siren.c
libavcodec/twinvq.c
libavcodec/vorbisdec.c
libavcodec/vorbisenc.c
libavcodec/wmadec.c
libavcodec/wmaenc.c
libavcodec/wmaprodec.c
libavfilter/af_adrc.c
libavfilter/af_afftdn.c
libavfilter/af_afftfilt.c
libavfilter/af_afir.c
libavfilter/af_apsyclip.c
libavfilter/af_arnndn.c
libavfilter/af_aspectralstats.c
libavfilter/af_atempo.c
libavfilter/af_dialoguenhance.c
libavfilter/af_firequalizer.c
libavfilter/af_headphone.c
libavfilter/af_sofalizer.c
libavfilter/af_superequalizer.c
libavfilter/af_surround.c
libavfilter/afir_template.c
libavfilter/asrc_afirsrc.c
libavfilter/asrc_sinc.c
libavfilter/avf_showcqt.c
libavfilter/avf_showcwt.c
libavfilter/avf_showfreqs.c
libavfilter/avf_showspatial.c
libavfilter/avf_showspectrum.c
libavfilter/vaf_spectrumsynth.c
libavfilter/vf_bm3d.c
libavfilter/vf_convolve.c
libavfilter/vf_fftdnoiz.c
libavfilter/vf_fftfilt.c
libavutil/tx.c
libavutil/tx.h
tests/checkasm/av_tx.c
tests/checkasm/synth_filter.c

...I rest my case. This is getting deprecated as soon as we reach a consensus
on what to mark as deprecated.


git grep avcodec_dct_init | cut -d ':' -f 1 | uniq
doc/APIchanges
libavcodec/avdct.c
libavcodec/avdct.h
libavfilter/vf_spp.c

Also, just deprecate the functions, not the structs. Said structs are 
being used in places like wmavoice and mpegaudiodsp using the internal 
versions of this API. so if you intention is to remove the entire 
fft/dct/rdft/mdct code from lavc, not just the public interface, then 
they need to be ported to lavu tx eventually.
You also need to silence the warnings in the tests with the 
FF_{ENA,DISA}BLE_DEPRECATION_WARNINGS pragmas, and add a new FF_API_ 
deprecation wrapper where corresponds.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread Lynne
Feb 17, 2023, 19:45 by d...@lynne.ee:

> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>
>> On 2/17/2023 1:54 PM, Lynne wrote:
>>
>>> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
>>>
>>> All filters and all codecs (except wmavoice) have been ported for the
>>> lavu/tx API.
>>>
>>> The noise should be minimal.
>>>
>>
>> It isn't. I'm getting more than two thousand lines of warnings after 
>> applying this patch from
>>
>> libavfilter/vf_spp.c
>> libavfilter/x86/vf_spp.c
>> libavcodec/asvenc.c
>> libavcodec/avdct.c
>> libavcodec/avfft.c
>> libavcodec/dct.c
>> libavcodec/fdctdsp.c
>> libavcodec/fft_float.c
>> libavcodec/fft_init_table.c
>> libavcodec/idctdsp.c
>> libavcodec/jfdctfst.c
>> libavcodec/jfdctint.c
>> libavcodec/jrevdct.c
>> libavcodec/mpegaudiodsp.c
>> libavcodec/mpegvideo_enc.c
>> libavcodec/rdft.c
>> libavcodec/wmavoice.c
>> libavcodec/x86/dct_init.c
>> libavcodec/x86/fft_init.c
>> libavcodec/x86/mpegvideoenc.c
>>
>> It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. 
>> For the actual fft/dct/rdft/mdct source files, you should use the 
>> deprecation warning pragmas to silence them, but the other modules need to 
>> be ported.
>> This patch is also missing the schedule FF_API deprecation wrapper.
>>
>
> Is the noise acceptable if I just deprecate the functions?
> It wasn't before, but it should be much less now.
>

Version 2 attached.
Deprecates only the init functions (which must always be used, therefore
the entire API is deprecated).
Included FF_API defines, and bumped minor.

>From 3d6e89ba864622855468ea1874511acaf094ef97 Mon Sep 17 00:00:00 2001
From: Lynne 
Date: Sat, 18 Feb 2023 13:43:39 +0100
Subject: [PATCH v2] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct,
 av_rdft and av_mdct

This effectively reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
---
 doc/APIchanges | 4 
 libavcodec/avdct.h | 6 ++
 libavcodec/avfft.h | 9 +
 libavcodec/version.h   | 2 +-
 libavcodec/version_major.h | 2 ++
 5 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 29161e30bf..7e3e3767d2 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
 
 API changes, most recent first:
 
+2023-02-17 - xx - lavc 60.3.100 - avdct.h avfft.h
+  Deprecate avcodec_dct, av_dct, av_rdft, av_fft and av_mdct.
+  Replaced by libavutil/tx.h
+
 2023-02-16 - xx - lavf 60.2.100 - avformat.h
   Deprecate AVFormatContext io_close callback.
   The superior io_close2 callback should be used instead.
diff --git a/libavcodec/avdct.h b/libavcodec/avdct.h
index 6411fab6f6..582019f646 100644
--- a/libavcodec/avdct.h
+++ b/libavcodec/avdct.h
@@ -19,6 +19,10 @@
 #ifndef AVCODEC_AVDCT_H
 #define AVCODEC_AVDCT_H
 
+#include "libavutil/attributes.h"
+#include "version_major.h"
+#if FF_API_AVDCT
+
 #include "libavutil/opt.h"
 
 /**
@@ -80,9 +84,11 @@ typedef struct AVDCT {
  *
  * To free it use av_free()
  */
+attribute_deprecated
 AVDCT *avcodec_dct_alloc(void);
 int avcodec_dct_init(AVDCT *);
 
 const AVClass *avcodec_dct_get_class(void);
 
+#endif /* FF_API_AVDCT */
 #endif /* AVCODEC_AVDCT_H */
diff --git a/libavcodec/avfft.h b/libavcodec/avfft.h
index 0c0f9b8d8d..a1548ff474 100644
--- a/libavcodec/avfft.h
+++ b/libavcodec/avfft.h
@@ -19,6 +19,10 @@
 #ifndef AVCODEC_AVFFT_H
 #define AVCODEC_AVFFT_H
 
+#include "libavutil/attributes.h"
+#include "version_major.h"
+#if FF_API_AVFFT
+
 /**
  * @file
  * @ingroup lavc_fft
@@ -45,6 +49,7 @@ typedef struct FFTContext FFTContext;
  * @param nbits   log2 of the length of the input array
  * @param inverse if 0 perform the forward transform, if 1 perform the inverse
  */
+attribute_deprecated
 FFTContext *av_fft_init(int nbits, int inverse);
 
 /**
@@ -60,6 +65,7 @@ void av_fft_calc(FFTContext *s, FFTComplex *z);
 
 void av_fft_end(FFTContext *s);
 
+attribute_deprecated
 FFTContext *av_mdct_init(int nbits, int inverse, double scale);
 void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
 void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input);
@@ -82,6 +88,7 @@ typedef struct RDFTContext RDFTContext;
  * @param nbits   log2 of the length of the input array
  * @param trans   the type of transform
  */
+attribute_deprecated
 RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans);
 void av_rdft_calc(RDFTContext *s, FFTSample *data);
 void av_rdft_end(RDFTContext *s);
@@ -107,6 +114,7 @@ enum DCTTransformType {
  *
  * @note the first element of the input of DST-I is ignored
  */
+attribute_deprecated
 DCTContext *av_dct_init(int nbits, enum DCTTransformType type);
 void av_dct_calc(DCTContext *s, FFTSample *data);
 void av_dct_end (DCTContext *s);
@@ -115,4 +123,5 @@ void av_dct_end (DCTContext *s);
  * @}
  */
 
+#endif /* FF_API_AVFFT */
 #endif /* AVCODEC_AVFFT_H */
diff --git 

Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-18 Thread Lynne
Feb 18, 2023, 01:00 by h.lepp...@gmail.com:

> On Fri, Feb 17, 2023 at 7:45 PM Lynne  wrote:
>
>>
>> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>>
>> > On 2/17/2023 1:54 PM, Lynne wrote:
>> >
>> >> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
>> >>
>> >> All filters and all codecs (except wmavoice) have been ported for the
>> >> lavu/tx API.
>> >>
>> >> The noise should be minimal.
>> >>
>> >
>> > It isn't. I'm getting more than two thousand lines of warnings after 
>> > applying this patch from
>> >
>> > libavfilter/vf_spp.c
>> > libavfilter/x86/vf_spp.c
>> > libavcodec/asvenc.c
>> > libavcodec/avdct.c
>> > libavcodec/avfft.c
>> > libavcodec/dct.c
>> > libavcodec/fdctdsp.c
>> > libavcodec/fft_float.c
>> > libavcodec/fft_init_table.c
>> > libavcodec/idctdsp.c
>> > libavcodec/jfdctfst.c
>> > libavcodec/jfdctint.c
>> > libavcodec/jrevdct.c
>> > libavcodec/mpegaudiodsp.c
>> > libavcodec/mpegvideo_enc.c
>> > libavcodec/rdft.c
>> > libavcodec/wmavoice.c
>> > libavcodec/x86/dct_init.c
>> > libavcodec/x86/fft_init.c
>> > libavcodec/x86/mpegvideoenc.c
>> >
>> > It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. 
>> > For the actual fft/dct/rdft/mdct source files, you should use the 
>> > deprecation warning pragmas to silence them, but the other modules need to 
>> > be ported.
>> > This patch is also missing the schedule FF_API deprecation wrapper.
>> >
>>
>> Is the noise acceptable if I just deprecate the functions?
>> It wasn't before, but it should be much less now.
>>
>
> An API we still use internally doesn't seem very deprecated to me.
> Should get rid of it, then there won't be any warnings.
>

git grep av_fft_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_dct_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_rdft_init | cut -d ':' -f 1 | uniq
fftools/ffplay.c
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_mdct_init | cut -d ':' -f 1 | uniq
libavcodec/avfft.c
libavcodec/avfft.h
libavcodec/tests/fft.c

git grep av_tx_init | cut -d ':' -f 1 | uniq
libavcodec/aacdec_template.c
libavcodec/aacenc.c
libavcodec/aacsbr_template.c
libavcodec/ac3dec.c
libavcodec/ac3enc_fixed.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/atrac9dec.c
libavcodec/binkaudio.c
libavcodec/cook.c
libavcodec/dca_core.c
libavcodec/dca_lbr.c
libavcodec/dcaenc.c
libavcodec/dolby_e.c
libavcodec/hcadec.c
libavcodec/imc.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/on2avc.c
libavcodec/opusdec_celt.c
libavcodec/opusenc.c
libavcodec/opusenc_psy.c
libavcodec/qdm2.c
libavcodec/qdmc.c
libavcodec/siren.c
libavcodec/twinvq.c
libavcodec/vorbisdec.c
libavcodec/vorbisenc.c
libavcodec/wmadec.c
libavcodec/wmaenc.c
libavcodec/wmaprodec.c
libavfilter/af_adrc.c
libavfilter/af_afftdn.c
libavfilter/af_afftfilt.c
libavfilter/af_afir.c
libavfilter/af_apsyclip.c
libavfilter/af_arnndn.c
libavfilter/af_aspectralstats.c
libavfilter/af_atempo.c
libavfilter/af_dialoguenhance.c
libavfilter/af_firequalizer.c
libavfilter/af_headphone.c
libavfilter/af_sofalizer.c
libavfilter/af_superequalizer.c
libavfilter/af_surround.c
libavfilter/afir_template.c
libavfilter/asrc_afirsrc.c
libavfilter/asrc_sinc.c
libavfilter/avf_showcqt.c
libavfilter/avf_showcwt.c
libavfilter/avf_showfreqs.c
libavfilter/avf_showspatial.c
libavfilter/avf_showspectrum.c
libavfilter/vaf_spectrumsynth.c
libavfilter/vf_bm3d.c
libavfilter/vf_convolve.c
libavfilter/vf_fftdnoiz.c
libavfilter/vf_fftfilt.c
libavutil/tx.c
libavutil/tx.h
tests/checkasm/av_tx.c
tests/checkasm/synth_filter.c

...I rest my case. This is getting deprecated as soon as we reach a consensus
on what to mark as deprecated.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-17 Thread Hendrik Leppkes
On Fri, Feb 17, 2023 at 7:45 PM Lynne  wrote:
>
> Feb 17, 2023, 18:08 by jamr...@gmail.com:
>
> > On 2/17/2023 1:54 PM, Lynne wrote:
> >
> >> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
> >>
> >> All filters and all codecs (except wmavoice) have been ported for the
> >> lavu/tx API.
> >>
> >> The noise should be minimal.
> >>
> >
> > It isn't. I'm getting more than two thousand lines of warnings after 
> > applying this patch from
> >
> > libavfilter/vf_spp.c
> > libavfilter/x86/vf_spp.c
> > libavcodec/asvenc.c
> > libavcodec/avdct.c
> > libavcodec/avfft.c
> > libavcodec/dct.c
> > libavcodec/fdctdsp.c
> > libavcodec/fft_float.c
> > libavcodec/fft_init_table.c
> > libavcodec/idctdsp.c
> > libavcodec/jfdctfst.c
> > libavcodec/jfdctint.c
> > libavcodec/jrevdct.c
> > libavcodec/mpegaudiodsp.c
> > libavcodec/mpegvideo_enc.c
> > libavcodec/rdft.c
> > libavcodec/wmavoice.c
> > libavcodec/x86/dct_init.c
> > libavcodec/x86/fft_init.c
> > libavcodec/x86/mpegvideoenc.c
> >
> > It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. 
> > For the actual fft/dct/rdft/mdct source files, you should use the 
> > deprecation warning pragmas to silence them, but the other modules need to 
> > be ported.
> > This patch is also missing the schedule FF_API deprecation wrapper.
> >
>
> Is the noise acceptable if I just deprecate the functions?
> It wasn't before, but it should be much less now.

An API we still use internally doesn't seem very deprecated to me.
Should get rid of it, then there won't be any warnings.

- Hendrik
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-17 Thread Lynne
Feb 17, 2023, 18:08 by jamr...@gmail.com:

> On 2/17/2023 1:54 PM, Lynne wrote:
>
>> This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
>>
>> All filters and all codecs (except wmavoice) have been ported for the
>> lavu/tx API.
>>
>> The noise should be minimal.
>>
>
> It isn't. I'm getting more than two thousand lines of warnings after applying 
> this patch from
>
> libavfilter/vf_spp.c
> libavfilter/x86/vf_spp.c
> libavcodec/asvenc.c
> libavcodec/avdct.c
> libavcodec/avfft.c
> libavcodec/dct.c
> libavcodec/fdctdsp.c
> libavcodec/fft_float.c
> libavcodec/fft_init_table.c
> libavcodec/idctdsp.c
> libavcodec/jfdctfst.c
> libavcodec/jfdctint.c
> libavcodec/jrevdct.c
> libavcodec/mpegaudiodsp.c
> libavcodec/mpegvideo_enc.c
> libavcodec/rdft.c
> libavcodec/wmavoice.c
> libavcodec/x86/dct_init.c
> libavcodec/x86/fft_init.c
> libavcodec/x86/mpegvideoenc.c
>
> It's not just wmavoice, there's also mpeg and jpeg stuff, and one filter. For 
> the actual fft/dct/rdft/mdct source files, you should use the deprecation 
> warning pragmas to silence them, but the other modules need to be ported.
> This patch is also missing the schedule FF_API deprecation wrapper.
>

Is the noise acceptable if I just deprecate the functions?
It wasn't before, but it should be much less now.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-17 Thread James Almer

On 2/17/2023 1:54 PM, Lynne wrote:

This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

All filters and all codecs (except wmavoice) have been ported for the
lavu/tx API.

The noise should be minimal.


It isn't. I'm getting more than two thousand lines of warnings after 
applying this patch from


libavfilter/vf_spp.c
libavfilter/x86/vf_spp.c
libavcodec/asvenc.c
libavcodec/avdct.c
libavcodec/avfft.c
libavcodec/dct.c
libavcodec/fdctdsp.c
libavcodec/fft_float.c
libavcodec/fft_init_table.c
libavcodec/idctdsp.c
libavcodec/jfdctfst.c
libavcodec/jfdctint.c
libavcodec/jrevdct.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegvideo_enc.c
libavcodec/rdft.c
libavcodec/wmavoice.c
libavcodec/x86/dct_init.c
libavcodec/x86/fft_init.c
libavcodec/x86/mpegvideoenc.c

It's not just wmavoice, there's also mpeg and jpeg stuff, and one 
filter. For the actual fft/dct/rdft/mdct source files, you should use 
the deprecation warning pragmas to silence them, but the other modules 
need to be ported.

This patch is also missing the schedule FF_API deprecation wrapper.



Patch attached.


___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-devel] [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

2023-02-17 Thread Lynne
This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.

All filters and all codecs (except wmavoice) have been ported for the
lavu/tx API.

The noise should be minimal.

Patch attached.

>From 5459ae39a729c69939de65392373d4f9cdf47246 Mon Sep 17 00:00:00 2001
From: Lynne 
Date: Fri, 17 Feb 2023 17:51:51 +0100
Subject: [PATCH] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and
 av_mdct

This reverts commit 26cb36f35746fe6ef53688b119852bfa6d555f62.
---
 doc/APIchanges |  4 
 libavcodec/avdct.h |  7 ++-
 libavcodec/avfft.h | 39 ---
 3 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 29161e30bf..6536315fc2 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
 
 API changes, most recent first:
 
+2023-02-17 - xx - lavc 60.2.100 - avdct.h avfft.h
+  Deprecate avcodec_dct, av_dct, av_rdft, av_fft and av_mdct.
+  Replaced by libavutil/tx.h
+
 2023-02-16 - xx - lavf 60.2.100 - avformat.h
   Deprecate AVFormatContext io_close callback.
   The superior io_close2 callback should be used instead.
diff --git a/libavcodec/avdct.h b/libavcodec/avdct.h
index 6411fab6f6..06da0e80d4 100644
--- a/libavcodec/avdct.h
+++ b/libavcodec/avdct.h
@@ -19,6 +19,7 @@
 #ifndef AVCODEC_AVDCT_H
 #define AVCODEC_AVDCT_H
 
+#include "libavutil/attributes.h"
 #include "libavutil/opt.h"
 
 /**
@@ -26,7 +27,7 @@
  * @note function pointers can be NULL if the specific features have been
  *   disabled at build time.
  */
-typedef struct AVDCT {
+typedef struct attribute_deprecated AVDCT {
 const AVClass *av_class;
 
 void (*idct)(int16_t *block /* align 16 */);
@@ -80,9 +81,13 @@ typedef struct AVDCT {
  *
  * To free it use av_free()
  */
+attribute_deprecated
 AVDCT *avcodec_dct_alloc(void);
+
+attribute_deprecated
 int avcodec_dct_init(AVDCT *);
 
+attribute_deprecated
 const AVClass *avcodec_dct_get_class(void);
 
 #endif /* AVCODEC_AVDCT_H */
diff --git a/libavcodec/avfft.h b/libavcodec/avfft.h
index 0c0f9b8d8d..d49bc98a29 100644
--- a/libavcodec/avfft.h
+++ b/libavcodec/avfft.h
@@ -19,6 +19,8 @@
 #ifndef AVCODEC_AVFFT_H
 #define AVCODEC_AVFFT_H
 
+#include "libavutil/attributes.h"
+
 /**
  * @file
  * @ingroup lavc_fft
@@ -32,65 +34,83 @@
  * @{
  */
 
-typedef float FFTSample;
+typedef float attribute_deprecated FFTSample;
 
-typedef struct FFTComplex {
+typedef struct attribute_deprecated FFTComplex {
 FFTSample re, im;
 } FFTComplex;
 
-typedef struct FFTContext FFTContext;
+typedef struct attribute_deprecated FFTContext FFTContext;
 
 /**
  * Set up a complex FFT.
  * @param nbits   log2 of the length of the input array
  * @param inverse if 0 perform the forward transform, if 1 perform the inverse
  */
+attribute_deprecated
 FFTContext *av_fft_init(int nbits, int inverse);
 
 /**
  * Do the permutation needed BEFORE calling ff_fft_calc().
  */
+attribute_deprecated
 void av_fft_permute(FFTContext *s, FFTComplex *z);
 
 /**
  * Do a complex FFT with the parameters defined in av_fft_init(). The
  * input data must be permuted before. No 1.0/sqrt(n) normalization is done.
  */
+attribute_deprecated
 void av_fft_calc(FFTContext *s, FFTComplex *z);
 
+attribute_deprecated
 void av_fft_end(FFTContext *s);
 
+attribute_deprecated
 FFTContext *av_mdct_init(int nbits, int inverse, double scale);
+
+attribute_deprecated
 void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_mdct_end(FFTContext *s);
 
 /* Real Discrete Fourier Transform */
 
-enum RDFTransformType {
+enum attribute_deprecated RDFTransformType {
 DFT_R2C,
 IDFT_C2R,
 IDFT_R2C,
 DFT_C2R,
 };
 
-typedef struct RDFTContext RDFTContext;
+typedef struct attribute_deprecated RDFTContext RDFTContext;
 
 /**
  * Set up a real FFT.
  * @param nbits   log2 of the length of the input array
  * @param trans   the type of transform
  */
+attribute_deprecated
 RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans);
+
+attribute_deprecated
 void av_rdft_calc(RDFTContext *s, FFTSample *data);
+
+attribute_deprecated
 void av_rdft_end(RDFTContext *s);
 
 /* Discrete Cosine Transform */
 
-typedef struct DCTContext DCTContext;
+typedef struct attribute_deprecated DCTContext DCTContext;
 
-enum DCTTransformType {
+enum attribute_deprecated DCTTransformType {
 DCT_II = 0,
 DCT_III,
 DCT_I,
@@ -107,8 +127,13 @@ enum DCTTransformType {
  *
  * @note the first element of the input of DST-I is ignored
  */
+attribute_deprecated
 DCTContext *av_dct_init(int nbits, enum DCTTransformType type);
+
+attribute_deprecated
 void av_dct_calc(DCTContext *s, FFTSample