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

Lynne dev at lynne.ee
Sun Feb 19 20:47:35 EET 2023


Feb 18, 2023, 15:53 by dev at lynne.ee:

> Feb 18, 2023, 14:58 by jamrial at gmail.com:
>
>> On 2/18/2023 10:45 AM, Lynne wrote:
>>
>>> Feb 18, 2023, 14:32 by jamrial at gmail.com:
>>>
>>>> On 2/18/2023 9:49 AM, Lynne wrote:
>>>>
>>>>> Feb 17, 2023, 19:45 by dev at lynne.ee:
>>>>>
>>>>>> Feb 17, 2023, 18:08 by jamrial at 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.


More information about the ffmpeg-devel mailing list