Mans Rullgard
dba9852935
ARM: NEON fixed-point FFT
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 22:39:52 +01:00
Mans Rullgard
bc154882e1
Fixed-point MDCT with 32-bit unscaled output
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-02 21:06:07 +01:00
Mans Rullgard
41327cca61
FFT: simplify fft8()
...
Part of the fft8() function corresponds to the BUTTERFLIES macro,
so use it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 17:50:59 +01:00
Mans Rullgard
7087ce08c8
Fixed-point FFT and MDCT
2011-03-31 12:01:27 +01:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Loren Merritt
e6b1ed693a
FFT: factor a shuffle out of the inner loop and merge it into fft_permute.
...
6% faster SSE FFT on Conroe, 2.5% on Penryn.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-13 15:36:39 +01:00
Diego Elio Pettenò
7767d8d361
Mark C base versions of FFT functions static to fft.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 15:32:08 +00:00
Måns Rullgård
fe20bdf9db
Indent
...
Originally committed as revision 23958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:46 +00:00
Måns Rullgård
588d28ac08
Remove vestiges of radix-2 FFT
...
Patch (mostly) by Loren Merritt
Originally committed as revision 23957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:42 +00:00
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Måns Rullgård
2ed6f39944
Replace many includes of libavutil/common.h with what is actually needed
...
This reduces the number of false dependencies on header files and
speeds up compilation.
Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Måns Rullgård
1429224b04
Move FFT parts from dsputil.h to fft.h
...
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Måns Rullgård
b5ab9b59e0
Fix build with --disable-mdct
...
Originally committed as revision 21764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:40:45 +00:00
Reimar Döffinger
1ffc6e8327
Add ff_init_ff_cos_tabs function and use it in rdft.c to ensure that the
...
necessary ff_cos_tabs tables are initialized.
Fixes issue 1507 (QDM2 broken since r20237 without hardcoded tables).
Originally committed as revision 20464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 18:29:06 +00:00
Reimar Döffinger
223217746c
Pad ff_cos_tabs and ff_sin_tabs so that index n points to the table for n bits.
...
While this "wastes" up to 2x32 bytes it makes the code slightly simpler and
less confusing.
Originally committed as revision 20449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 17:30:23 +00:00
Reimar Döffinger
4ee726b670
Move/add COSTABLE/SINTABLE macros to dsputil to add extern definitions
...
for ff_cos_* and ff_sin_* without introducing too much code duplication.
Originally committed as revision 20243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:55:51 +00:00
Reimar Döffinger
16aec74761
Use hardcoded instead of runtime-calculated ff_cos_* tables if
...
--enable-hardcoded-tables was used.
Due to the size, the code for the tables is generated at compile time.
Originally committed as revision 20232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-14 21:41:24 +00:00
Reimar Döffinger
5bd1fc6fbd
fft_dispatch array should be const
...
Originally committed as revision 20223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 10:30:10 +00:00
Måns Rullgård
f486321395
Move per-arch fft init bits into the corresponding subdirs
...
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Måns Rullgård
9ecc414195
ARM: 10l: fix large FFTs
...
Originally committed as revision 19846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 21:37:41 +00:00
Måns Rullgård
edc0f5dcba
ARM: NEON optimised MDCT
...
Originally committed as revision 19819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:22 +00:00
Måns Rullgård
46c32e2654
Prepare for optimised forward MDCT implementations
...
This adds a function pointer for forward MDCT to FFTContext and
initialises it with the existing C function. ff_calc_mdct() is
changed to an inline function calling the selected version as
done for other fft/mdct functions.
Originally committed as revision 19818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:19 +00:00
Måns Rullgård
648d792042
ARM: NEON optimised FFT and MDCT
...
Vorbis and AC3 ~3x faster.
Parts by Naotoshi Nojiri, naonoj gmail
Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:50:03 +00:00
Reimar Döffinger
faca56191c
The ff_cos_tabs table itself is constant, too, so mark it as such.
...
Originally committed as revision 19784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:53:14 +00:00
David Conrad
170e6b14f7
Remove long unused ALTIVEC_USE_REFERENCE_C_CODE ifdef; all other references
...
to it were removed in r6606
Originally committed as revision 17997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 03:56:42 +00:00
Diego Biurrun
e10252483e
Only enable SSE/3DNOW optimizations when they have been enabled at compilation.
...
Fixes shared build with SSE/3DNOW disabled but MMX and yasm enabled.
Originally committed as revision 17451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 00:54:59 +00:00
Diego Biurrun
b3183ad034
prettyprinting whitespace cosmetics
...
Originally committed as revision 17443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 00:06:17 +00:00
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Alex Converse
6860254044
Add the rdft family of transforms (fft/ifft of an all real sequence) to dsputil.
...
Originally committed as revision 16864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 20:15:48 +00:00
Alex Converse
eea325645c
Mark ff_fft_end av_cold.
...
Originally committed as revision 16851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-29 17:08:51 +00:00
Alex Converse
3c4ea6d5ab
Mark ff_fft_init with av_cold.
...
Originally committed as revision 16722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 19:48:10 +00:00
Alex Converse
8f05c995fd
Clean up FFT related comments.
...
Originally committed as revision 16721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 19:46:23 +00:00
Diego Biurrun
406792e7b0
cosmetics: Remove pointless period after copyright statement non-sentences.
...
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Aurelien Jacobs
b250f9c66d
Change semantic of CONFIG_*, HAVE_* and ARCH_*.
...
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Dominik Mierzejewski
82d1605fe7
Remove duplicated MM_* macros for CPU capabilities from dsputil.h.
...
Add missing one for FF_MM_ALTIVEC to avcodec.h.
Rename all the occurences of MM_* to the corresponding FF_MM_*.
Originally committed as revision 15770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-03 18:08:00 +00:00
Loren Merritt
d46ac5bfde
mdct wrapper function to match fft
...
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt
46803f4f67
optimize imdct_half:
...
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.
Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:33:34 +00:00
Loren Merritt
49c0dd754c
indent
...
Originally committed as revision 14699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:27:21 +00:00
Loren Merritt
5d0ddd1a9f
split-radix FFT
...
c is 1.9x faster than previous c (on various x86 cpus), sse is 1.6x faster than previous sse.
Originally committed as revision 14698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:26:58 +00:00
Loren Merritt
b9fa32082c
exploit mdct symmetry
...
2% faster vorbis on conroe, k8. 7% on celeron.
Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 15:03:58 +00:00
Måns Rullgård
4f54a3b8b4
indentation
...
Originally committed as revision 12478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-17 19:22:31 +00:00
Måns Rullgård
844ea46aeb
clean up FFT SIMD selection
...
Originally committed as revision 12477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-17 19:22:28 +00:00
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Loren Merritt
ebbafcb454
sse implementation of imdct.
...
patch mostly by Zuxy Meng (zuxy dot meng at gmail dot com)
Originally committed as revision 6311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 16:37:39 +00:00
Loren Merritt
652c59b967
use ff_fft_calc_3dn2 instead of sse on a K8.
...
1.5% faster vorbis.
Originally committed as revision 6024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-19 02:42:20 +00:00
Loren Merritt
1e4ecf26f5
ff_fft_calc_3dn/3dn2/sse: convert intrinsics to inline asm.
...
2.5% faster fft, 0.5% faster vorbis.
Originally committed as revision 6023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-18 23:53:49 +00:00
Loren Merritt
60ae06e77e
r5954 broke fft on cpus with 3dnow but without mm3dnow.h
...
Originally committed as revision 5974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-10 18:49:47 +00:00
Loren Merritt
bcfa3e58ee
3dnow2 implementation of imdct.
...
6% faster vorbis and wma.
Originally committed as revision 5954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 04:01:04 +00:00
Benjamin Larsson
7943355485
ff_fft_init now double checks that the system has mm3dnow.h before
...
checking if the cpu can do 3dnow at all. This bug caused amd cpu's
without sse to not have a working fft function. Ie no wma, cook or
vorbis decoder.
Originally committed as revision 5570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-02 02:05:35 +00:00
Zuxy Meng
82eb4b0f1b
3DNow! & Extended 3DNow! versions of FFT
...
Patch by Zuxy Meng, zuxy <<dot>> meng >>at<< gmail <<dot>> com
Minor non-functional diff-related fixes by me.
Originally committed as revision 5125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-08 04:13:55 +00:00