Commit Graph

49 Commits

Author SHA1 Message Date
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
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Gildas Bazin
68951ecf0c fft_*() renamed into ff_fft_*() patch by (Gildas Bazin <gbazin at altern dot org>)
Originally committed as revision 2882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-13 21:43:24 +00:00
Michael Niedermayer
983e3246b7 per file doxy
Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 11:32:04 +00:00
Michael Niedermayer
db40a39aba AltiVec perf (take 2), plus a couple AltiVec functions by (Romain Dolbeau <dolbeau at irisa dot fr>)
Originally committed as revision 1464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-16 21:54:55 +00:00
Romain Dolbeau
e629ab68a7 altivec jumbo patch by (Romain Dolbeau <dolbeaur at club-internet dot fr>)
Originally committed as revision 1448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-11 20:51:03 +00:00
Fabrice Bellard
8d268a7d4c fft altivec by Romain Dolbeau - simplified patch, test it on PPC with fft-test and wma decoding
Originally committed as revision 1417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 18:15:48 +00:00
Fabrice Bellard
bbbb6d6fc3 enabled SSE fft on x86
Originally committed as revision 1413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 17:45:24 +00:00
Fabrice Bellard
bb6f569072 new generic FFT/MDCT code for audio codecs
Originally committed as revision 1088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-28 00:34:08 +00:00