summaryrefslogtreecommitdiff
path: root/libavcodec/fft_template.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/fft_template: improve performance of the ff_fft_init in fft_templateSteven Liu2019-01-041-11/+35
| | | | | | | | | | Before patch: init nbits = 17, get 10000 samples, average cost: 16175 us After patch: init nbits = 17, get 10000 samples, average cost: 14989 us Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavc/fft_template: Do not define unneded functions with --enable-small.Carl Eugen Hoyos2018-07-211-0/+2
| | | | | | | | | | | | | | | | | | | Fixes the following warnings: In file included from libavcodec/fft_fixed.c:21:0: libavcodec/fft_template.c:528:6: warning: ‘pass_big’ defined but not used [-Wunused-function] PASS(pass_big) ^ libavcodec/fft_template.c:505:13: note: in definition of macro ‘PASS’ static void name(FFTComplex *z, const FFTSample *wre, unsigned int n)\ ^~~~ CC libavcodec/ffv1.o In file included from libavcodec/fft_float.c:21:0: libavcodec/fft_template.c:528:6: warning: ‘pass_big’ defined but not used [-Wunused-function] PASS(pass_big) ^ libavcodec/fft_template.c:505:13: note: in definition of macro ‘PASS’ static void name(FFTComplex *z, const FFTSample *wre, unsigned int n)\ ^~~~
* avcodec/fft_template: use ff_thread_once on costable initializationMuhammad Faiz2017-07-071-10/+71
| | | | | | | | Make it thread-safe and avoid redundant initialization. Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* avcodec/fft_template: Fix multiple runtime error: signed integer overflow: ↵Michael Niedermayer2017-06-111-25/+25
| | | | | | | | | | | | -1943918714 - 1935113003 cannot be represented in type 'int' Fixes: 1735/clusterfuzz-testcase-minimized-5350472347025408 This uses unsigned instead of SUINT because the later was rejected by multiple developers See: [FFmpeg-devel] [PATCH] avcodec/fft_template: Fix multiple runtime error: signed integer overflow: -1943918714 - 1935113003 cannot be represented in type 'int' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/fft: Add revtab32 for FFTs with more than 65536 samplesMichael Niedermayer2016-03-041-5/+26
| | | | | | x86 optimizations are used only for the cases they support (<=65536 samples) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: Extend fft to size 2^17Michael Niedermayer2016-03-041-3/+6
| | | | | | Asked-for-by: durandal_1707 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fft_template: Move variables to where they are used.Reimar Döffinger2014-08-311-7/+4
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* fft: add ff_ prefix to some global arrays.Reimar Döffinger2014-08-311-6/+6
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* fft: add missing const.Reimar Döffinger2014-08-301-1/+1
| | | | | | | This table was the largest object in FFmpeg's .data, and really should be in .rodata. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Merge commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62'Michael Niedermayer2014-04-221-0/+1
|\ | | | | | | | | | | | | * commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62': aarch64: NEON float FFT Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aarch64: NEON float FFTJanne Grunau2014-04-221-0/+1
| | | | | | | | Approximately as fast as the ARM NEON version on Apple's A7.
* | rename CONFIG_FFT_FIXED_32 -> FFT_FIXED_32Michael Niedermayer2014-01-071-10/+10
| | | | | | | | | | | | This matches FFT_FLOAT Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '794fcf79a89eca2d4e889803b2c804a0b1defbb3'Michael Niedermayer2014-01-071-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '794fcf79a89eca2d4e889803b2c804a0b1defbb3': Rename CONFIG_FFT_FLOAT ---> FFT_FLOAT Conflicts: libavcodec/fft-internal.h libavcodec/fft-test.c libavcodec/fft_fixed.c libavcodec/fft_float.c libavcodec/fft_template.c libavcodec/mdct_fixed.c libavcodec/mdct_float.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Rename CONFIG_FFT_FLOAT ---> FFT_FLOATDiego Biurrun2014-01-061-1/+1
| | | | | | | | | | The define does not originate from configure, so it should not have a name that is CONFIG_-prefixed.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-11-211-7/+185
|/ | | | | | | | | | | | | * qatar/master: dct/fft: Give consistent names to fixed/float template files Conflicts: libavcodec/fft_fixed.c libavcodec/fft_float.c libavcodec/mdct_fixed.c libavcodec/mdct_float.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* dct/fft: Give consistent names to fixed/float template filesDiego Biurrun2013-11-211-0/+352