Commit graph

155 commits

Author SHA1 Message Date
Wim Taymans 6190312214 add parent to query function 2011-11-16 17:27:13 +01:00
Stefan Sauer 9ce6c731c3 various: add missing includes 2011-11-10 23:09:23 +02:00
Wim Taymans 49658dd5b5 remove query types 2011-11-09 11:53:01 +01:00
Stefan Sauer fb162c8eb4 controller: port to new controller location and api 2011-11-04 20:15:48 +01:00
René Stadler 3b6de2bacd audiopanorama: simplify get_unit_size 2011-10-28 21:26:33 +02:00
René Stadler 8809965204 audioecho: fix internal buffer size calculation 2011-10-28 21:22:38 +02:00
René Stadler 42f401a7eb audiofx: fix crash in process() 2011-10-28 13:08:48 +02:00
René Stadler 9b94fc3102 audiodynamic: don't set process function too early
GstAudioInfo and GstAudioFilter have been changed so that this code doesn't
crash anymore when a property is set in NULL state.
2011-10-28 11:25:37 +02:00
René Stadler 7dba29cbd3 audiopanorama: fix get_unit_size 2011-10-28 11:25:37 +02:00
Wim Taymans e204c5934c -good: port to new audio caps 2011-09-06 13:16:27 +02:00
Wim Taymans 445bf71bd1 port to more audio api changes 2011-08-19 16:09:48 +02:00
Wim Taymans 90f5b31b4b port to new audio API and caps 2011-08-19 11:49:44 +02:00
Wim Taymans 984a0b54eb fixes for event handler changes 2011-07-22 21:19:45 +02:00
Wim Taymans 7ef7157986 Merge branch 'master' into 0.11 2011-06-17 18:12:50 +02:00
Stefan Kost 6c3e77964a audioecho: fix param flags
If the parameter cannot be changed in paused&playing, it is not controlable. Set
the appropriate mutability flag instead.
2011-06-17 03:07:09 +03:00
Wim Taymans 409f29700d -good: port some more plugins 2011-06-13 17:51:40 +02:00
Edward Hervey 8c83978d56 audiofxbasefirfilter: Buffers no longer have caps 2011-06-07 11:22:35 +02:00
Wim Taymans b121bb0ae9 audiofx: fix pad_alloc 2011-04-29 15:46:21 +02:00
Wim Taymans 237ca1631f port some more elements to 0.11 2011-04-25 12:49:36 +02:00
Wim Taymans 4aa6ca5578 port more plugins to 0.11 2011-04-18 10:54:43 +02:00
Sebastian Dröge 6f480ad0ed audiowsinc{band,limit}: Fix check for divison by zero 2011-04-13 18:11:34 +02:00
Sebastian Dröge de7a976531 audiowsincband: Fix range of kernel elements (lim -> lim-1) 2011-04-13 18:01:01 +02:00
Sebastian Dröge 4fd5fea2b2 audiowsinclimit: Add some more braces to make the code more readable 2011-04-13 18:00:44 +02:00
Jordi Burguet-Castell 766e437af1 audiowsinclimit: Fix range of kernel elements (lim -> lim-1) in high/low-pass filters 2011-04-13 17:57:06 +02:00
Sebastian Dröge 2575cfc4a6 audiowsincband: Add new windowing functions: gaussian, cos and hann 2011-04-13 17:52:30 +02:00
Jordi Burguet-Castell 782d6af83d audiowsinclimimt: Add new windows to high/low-pass filters: gaussian, cosine, hann 2011-04-13 17:52:30 +02:00
Thibault Saunier b541208b77 android: Make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
David Schleef 7b8981766b Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
Stefan Kost d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Sebastian Dröge 711e0cc90b audioiirfilter: Fix possible NULL pointer dereference 2010-06-16 19:24:54 +02:00
Stefan Kost 43ebe8235f docs: fix xml
The title tag belongs into the refsect2.
2010-04-08 10:30:06 +03:00
Benjamin Otte cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Stefan Kost f405f9c775 audiopanorama: move invariant check out of the inner loop
Improves performance for simple method.
2010-03-11 10:35:05 +02:00
Sebastian Dröge 79e720052a audiofx: Sync properties to the stream time 2010-03-09 21:03:18 +00:00
Kipp Cannon d009678bc5 audioamplify: Allow negative amplifications
Fixes bug #606807.
2010-01-13 09:22:20 +01:00
Sebastian Dröge a9a5e0c7e1 audiofxbasefirfilter: Add property for not draining the history on kernel changes
Currently this only works if the kernel size doesn't change, in the future
it will be possible to change the kernel size too without draining
the complete history and without loosing anything.

Partially based on a patch by
Thiago Santos <thiago.sousa.santos@collabora.co.uk>
2010-01-07 17:28:43 +01:00
Thiago Santos 173be1422c audiofxbasefirfilter: do not try to alloc really large buffers
When nsamples_out is larger than nsamples_in, using unsigned
ints lead to a overflow and the resulting value is wrong and
way too large for allocating a buffer. Use signed integers
and returning immediatelly when that happens.
2009-12-26 16:59:14 -03:00
Sebastian Dröge c26ccb9722 audiowsincband: Use the same upper length limit as audiowsinclimit 2009-12-15 18:18:54 +01:00
Sebastian Dröge 7fec6843c0 audiowsinc{limit,band}: Allow much larger filter lengths now 2009-12-15 18:12:47 +01:00
Sebastian Dröge 119a6ce637 audiofxbasefirfilter: Fix frequency response calculation 2009-12-15 18:12:47 +01:00
Sebastian Dröge 8695581751 audiofxbasefirfilter: Remove dead assignments 2009-12-15 18:12:46 +01:00
Sebastian Dröge cd2b1c1b58 audiofxbasefirfilter: Add special processing functions for Mono/Stereo
This provides another 7% speedup for the time domain convolution and 1.5%
speedup for the FFT convolution on Mono input.

This optimization assumes that the compiler simplifies calculations
and conditions on constant numbers and unrolls loops with a constant
number of repeats.
2009-12-15 18:12:46 +01:00
Sebastian Dröge a3d7321c50 audiofxbasefirfilter: Add a "low-latency" mode
This will always use time-domain convolution, which lowers the latency.
With FFT convolution it's always a multiple of the kernel length,
with time domain convolution it's only the pre-latency of the filter kernel.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ca568ff079 audiofxbasefirfilter: Remove obsolete TODO comments 2009-12-15 18:12:46 +01:00
Sebastian Dröge 45edc1bbd8 audiofxbasefirfilter: Use samples everywhere instead of samples*channels sometimes 2009-12-15 18:12:46 +01:00
Sebastian Dröge 02960383c1 audiofxbasefirfilter: FFT convolution implementation
This provides a great speedup, especially the relationship between kernel
length and processing size is now logarithmic instead of linear. Below a
kernel size of 32 it's a bit slower, afterwards it's much faster:

17     0.788000 -> 0.950000
33     1.208000 -> 1.146000
65     2.166000 -> 1.146000
...
4097 107.444000 -> 1.508000

For sizes smaller 32 the normal time-domain convolution is chosen,
for larger sizes the FFT convolution is automatically used.

Fixes bug #594381.
2009-12-15 18:12:46 +01:00
Sebastian Dröge ddafc20b28 audiofxbasefirfilter: Make most code parts independent of the processing functions and used convolution algorithm
Only remaining part is the residue pushing, which will be fixed later.
2009-12-15 18:12:46 +01:00
Sebastian Dröge 43576fb0cf audiofxbasefirfilter: Optimize time-domain convolution
Remove some redundant calculations, move comparisions out of
inner loops, etc.

This makes the convolution about 3 (!) times faster but
processing time is of course still proportional to the
filter size.
2009-12-15 18:12:46 +01:00
Sebastian Dröge c5f955a3b6 audiofxbasefirfilter: Use _CAST macros in some places and do some calculations only once 2009-12-15 18:12:46 +01:00
Sebastian Dröge abb437454e audiofxbasefirfilter: Rewrite timestamp tracking
It's much simpler now and doesn't introduce accumulating rounding
errors.
2009-12-15 18:12:46 +01:00