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

Lynne dev at lynne.ee
Sat Feb 18 13:52:23 EET 2023


Feb 18, 2023, 01:00 by h.leppkes at gmail.com:

> On Fri, Feb 17, 2023 at 7:45 PM Lynne <dev at lynne.ee> wrote:
>
>>
>> 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.
>>
>
> 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.


More information about the ffmpeg-devel mailing list