Mans Rullgard
7087ce08c8
Fixed-point FFT and MDCT
2011-03-31 12:01:27 +01:00
Mans Rullgard
4538729afe
Move sine windows to a separate file
...
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 13:25:19 +00:00
Mans Rullgard
a45fbda994
Move ff_kbd_window_init() to a separate file
...
This function is not tightly coupled to mdct, and it's in the way
of making a fixed-point mdct implementation.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:27 +00:00
Mans Rullgard
26f548bb59
fft: remove inline wrappers for function pointers
...
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +00: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
Young Han Lee
979395bbbb
mdct: remove unnecessary multiplication
...
3*n4 was already calculated in n3.
2011-02-17 11:59:28 +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
Måns Rullgård
dd93649b71
Remove VLA in ff_kbd_window_init, limit window size to 1024
...
Originally committed as revision 23755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 09:42:34 +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
Reimar Döffinger
14b8607065
Add support for hard-coded MDCT-related ff_sine_windows tables.
...
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +00:00
Måns Rullgård
94274b82f6
Allow arch-specific mdct code to request interleaving of cos/sin tables
...
Originally committed as revision 19939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:06 +00:00
Måns Rullgård
01b2214758
Merge FFTContext and MDCTContext
...
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Vitor Sessak
6776061b04
Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
...
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.
Fix issue 1384.
Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +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
Reimar Döffinger
c55e5b5fee
ff_sine_windows table contains only constant data, too.
...
Originally committed as revision 19785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:56:10 +00:00
Siarhei Siamashka
7d485f165f
Support for getting (i)MDCT output multiplied by a constant scaling factor.
...
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.
Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Michael Niedermayer
b278a1ed1c
Remove useless += from ff_imdct_half_c() found by CSA.
...
Originally committed as revision 18578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:12:00 +00:00
Diego Biurrun
f0d5437275
Remove documentation of non-existing function parameters.
...
Originally committed as revision 16994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-04 20:43:17 +00:00
Alex Converse
5363c43ea8
Add av_cold attributes to *_init and *_end functions.
...
Originally committed as revision 16980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-03 23:09:00 +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
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
Benjamin Larsson
336c2ca585
Add size that is needed for the wmapro codec
...
Originally committed as revision 16533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:40:05 +00:00
Michael Niedermayer
71375e0500
Try to fix wma regression.
...
Originally committed as revision 15261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 13:37:12 +00:00
Aurelien Jacobs
67f718bd11
Add a temp variable to ff_sine_window_init() to match the way wma.c computed
...
window before r14757. This fixes a regression introduced by r14757 on amd64.
Originally committed as revision 14982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-26 19:40:53 +00:00
Robert Swain
47698b83fd
The ff_sine_#[] should be aligned as they will commonly be used in dsputil
...
functions
Originally committed as revision 14767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 22:12:19 +00:00
Robert Swain
69fc4da360
Add declarations for the sine tables used in wma.c (half window sizes: 128,
...
256, 512, 1024 and 2048) to mdct.c. Make them accessible via dsputil.h. Make
wma.c use these shared tables.
Originally committed as revision 14758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 14:40:16 +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
0a570e826d
remove mdct tmp buffer
...
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Loren Merritt
e8dd7b0c9a
remove a float->double->float conversion.
...
1.8x faster imdct_c with fpmath=sse, no change with x87
Originally committed as revision 14701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:34:08 +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
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
Robert Swain
9146e4d61c
Add generic ff_sine_window_init function and implement in codecs appropriately
...
Originally committed as revision 13888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:12:27 +00:00
Måns Rullgård
77f11d8a4c
improve precision in mdct.c using double for some temporaries
...
Originally committed as revision 12457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-16 13:15:42 +00:00
Robert Swain
3ed546fe52
Add variable alpha and size of half window for Kaiser-Bessel Derived window
...
generation. Hard code Bessel I0 approximation iterations to 50.
See thread for discussion:
[FFmpeg-devel] [PATCH] Move Kaiser-Bessel Derived window to mdct.c
Started on the 2008/01/10
Originally committed as revision 11520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 11:02:08 +00:00
Robert Swain
4eb7a735cb
Make the Kaiser-Bessel window generator a common function
...
Patch by Robert Swain, robert d swain a gmail d com
Originally committed as revision 11514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 11:11:19 +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
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
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
Fabrice Bellard
d9823692f5
use av_malloc instead of malloc
...
Originally committed as revision 1412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 17:44:21 +00:00
Fabrice Bellard
82696beed3
avoid name clash
...
Originally committed as revision 1104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-29 22:26:01 +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