Commit graph

29 commits

Author SHA1 Message Date
David Schleef
9bb91b32bb fft: s/M_PI/G_PI/ for MSVC 2011-05-31 20:18:23 -07:00
Tim-Philipp Müller
49e4173c84 fft: remove gst_init() for g-i scanner again
libgstfft doesn't actually use any symbols from libgstreamer, so when
compiling with -Wl,--as-needed it won't even link to it, which can
cause failures with older versions of g-i that ignore the --pkg
arguments.

Should fix PPA build failure on Ubuntu Maverick
2011-04-17 18:04:39 +01:00
Tim-Philipp Müller
1d05e81435 libs: gobject-introspection scanner doesn't need to scan or update plugin info
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Alessandro Decina
030f639a8e 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 07:23:21 +02:00
Tim-Philipp Müller
45b6bda76c libs: make sure gobject-introspection scanner calls gst_init()
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381 libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Tim-Philipp Müller
0ed757db33 gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00:00
Evan Nemerson
8fb2c27ed0 introspection: Add information on exported packages to GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Tim-Philipp Müller
e776699036 build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
(avoids trailing ':' in PKG_CONFIG_PATH used).
2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
b61b83376a introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.

https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +01:00
Sebastian Dröge
fdfb70e262 fft: Merge kissfft 1.2.8
This reduces memory footprint for the FFT and adds
OpenMP support (but we don't use it).
2010-05-24 11:27:36 +02:00
Vincent Untz
764c899215 libs: point gobject-introspection scanner to .la files
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration

Fixes #603710.
2010-04-03 14:03:45 +01:00
Tim-Philipp Müller
b37c993e4e gst-libs: more gobject-introspection fixes
Use right .pc file variable for compiler includes this time:
g-ir-compiler wants the girdirs not the typelibdirs as includes.
2010-03-30 23:46:10 +01:00
Tim-Philipp Müller
64cfa6bf73 gst-libs: fix up gobject-introspection some more
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.

Also add some missing includes/pkgs where needed.
2010-03-30 19:56:56 +01:00
Sebastian Dröge
d5a4ca9962 build: Make some more rules silent if requested 2010-03-09 21:01:38 +00:00
Sebastian Dröge
df9b8b57b3 introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
This way g-ir-scanner can find the gstreamer-*-0.10 pkg-config files.
2009-09-13 11:19:50 +02:00
Sebastian Dröge
445311bff4 fft: Mark one function as const and add notes that the structs should be private in 0.11 2009-09-11 07:22:15 +02:00
Sebastian Dröge
7e90e0846c introspection: Strip Gst prefix from all types/functions 2009-09-05 12:31:47 +02:00
Sebastian Dröge
7794caf9f8 introspection: Fix build if gir-repository is not installed 2009-09-05 11:49:41 +02:00
Sebastian Dröge
b357cb9d2a fft: Add gobject-introspection support 2009-09-05 11:09:45 +02:00
Tim-Philipp Müller
75acca2835 docs: fix hyperlink and move fft attribution to the right place 2009-04-15 00:19:19 +01:00
Tim-Philipp Müller
9f23b82b2c Give credit to Mark Borgerding (kissfft author)
and add myself to AUTHORS as well. Fixes #575638.
2009-04-14 17:11:19 +01:00
Sebastian Dröge
2e8f9921c9 Reduce the number of allocations for creating FFT contexts
Reduce the number of allocations from 2 to 1 for every FFT
context by allocating enough memory for the FFT context
and passing parts of it to the kissfft allocation functions.
2009-01-22 12:54:35 +01:00
Sebastian Dröge
4d3ff205be gst-libs/gst/fft/: Use correct struct alignment everywhere to prevent unaligned memory accesses, resulting in SIGBUS ...
Original commit message from CVS:
* gst-libs/gst/fft/_kiss_fft_guts_f32.h:
* gst-libs/gst/fft/_kiss_fft_guts_f64.h:
* gst-libs/gst/fft/_kiss_fft_guts_s16.h:
* gst-libs/gst/fft/_kiss_fft_guts_s32.h:
* gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc):
* gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc):
* gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc):
* gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc):
Use correct struct alignment everywhere to prevent unaligned
memory accesses, resulting in SIGBUS on sparc and probably others.
Fixes bug #500833.
2009-01-16 11:44:04 +00:00
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
Jan Schmidt
31f97ca497 gst-libs/gst/fft/: Don't include malloc.h which doesn't exist on Mac OSX.
Original commit message from CVS:
* gst-libs/gst/fft/kiss_fft_f32.h:
* gst-libs/gst/fft/kiss_fft_f64.h:
* gst-libs/gst/fft/kiss_fft_s16.h:
* gst-libs/gst/fft/kiss_fft_s32.h:
Don't include malloc.h which doesn't exist on Mac OSX.
Instead, pull in glib.h and use g_malloc/g_free for
consistency. Fixes: #496548
2007-11-14 11:08:48 +00:00
Sebastian Dröge
edb4a505d7 Remove the magnitude and phase calculation functions as these have very special use cases and can't even be used for ...
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/fft/gstfftf32.c:
* gst-libs/gst/fft/gstfftf32.h:
* gst-libs/gst/fft/gstfftf64.c:
* gst-libs/gst/fft/gstfftf64.h:
* gst-libs/gst/fft/gstffts16.c:
* gst-libs/gst/fft/gstffts16.h:
* gst-libs/gst/fft/gstffts32.c:
* gst-libs/gst/fft/gstffts32.h:
* tests/check/libs/fft.c: (GST_START_TEST):
Remove the magnitude and phase calculation functions as these have
very special use cases and can't even be used for the spectrum
element. Also adjust the docs to mention some properties of the used
FFT implemention, i.e. how the values are scaled. Fixes #492098.
2007-11-06 11:58:59 +00:00
Vincent Torri
be04e7c294 gst-libs/gst/fft/: Include our own _stdint.h instead of sys/types.h, makes MingW happy (#492306).
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry dot fr>
* gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC):
* gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC):
Include our own _stdint.h instead of sys/types.h, makes MingW happy
(#492306).
* gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create):
Use _pipe directly, GLib doesn't have a pipe() macro any longer
(it disappeared in GLib 2.14.0) (#492306).
* gst-libs/gst/sdp/Makefile.am:
* gst-libs/gst/sdp/gstsdpmessage.c:
Fix includes and LIBS for win32/Mingw (#492306).
* tests/examples/dynamic/addstream.c (pause_play_stream):
Use more portable g_usleep() instead of sleep() (#492306).
2007-11-01 13:28:59 +00:00
Sebastian Dröge
9022ca9d1b Add libgstfft, a FFT library based on Kiss FFT which is
Original commit message from CVS:
Reviewed by:  Stefan Kost  <ensonic@users.sf.net>
* configure.ac:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/fft/Makefile.am:
* gst-libs/gst/fft/_kiss_fft_guts_f32.h:
* gst-libs/gst/fft/_kiss_fft_guts_f64.h:
* gst-libs/gst/fft/_kiss_fft_guts_s16.h:
* gst-libs/gst/fft/_kiss_fft_guts_s32.h:
* gst-libs/gst/fft/gstfft.c: (gst_fft_next_fast_length):
* gst-libs/gst/fft/gstfft.h:
* gst-libs/gst/fft/gstfftf32.c: (gst_fft_f32_new),
(gst_fft_f32_fft), (gst_fft_f32_inverse_fft), (gst_fft_f32_free),
(gst_fft_f32_window), (gst_fft_f32_magnitude), (gst_fft_f32_phase):
* gst-libs/gst/fft/gstfftf32.h:
* gst-libs/gst/fft/gstfftf64.c: (gst_fft_f64_new),
(gst_fft_f64_fft), (gst_fft_f64_inverse_fft), (gst_fft_f64_free),
(gst_fft_f64_window), (gst_fft_f64_magnitude), (gst_fft_f64_phase):
* gst-libs/gst/fft/gstfftf64.h:
* gst-libs/gst/fft/gstffts16.c: (gst_fft_s16_new),
(gst_fft_s16_fft), (gst_fft_s16_inverse_fft), (gst_fft_s16_free),
(gst_fft_s16_window), (gst_fft_s16_magnitude), (gst_fft_s16_phase):
* gst-libs/gst/fft/gstffts16.h:
* gst-libs/gst/fft/gstffts32.c: (gst_fft_s32_new),
(gst_fft_s32_fft), (gst_fft_s32_inverse_fft), (gst_fft_s32_free),
(gst_fft_s32_window), (gst_fft_s32_magnitude), (gst_fft_s32_phase):
* gst-libs/gst/fft/gstffts32.h:
* gst-libs/gst/fft/kiss_fft_f32.c: (kf_bfly2), (kf_bfly4),
(kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
(kiss_fft_f32_alloc), (kiss_fft_f32_stride), (kiss_fft_f32),
(kiss_fft_f32_cleanup), (kiss_fft_f32_next_fast_size):
* gst-libs/gst/fft/kiss_fft_f32.h:
* gst-libs/gst/fft/kiss_fft_f64.c: (kf_bfly2), (kf_bfly4),
(kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
(kiss_fft_f64_alloc), (kiss_fft_f64_stride), (kiss_fft_f64),
(kiss_fft_f64_cleanup), (kiss_fft_f64_next_fast_size):
* gst-libs/gst/fft/kiss_fft_f64.h:
* gst-libs/gst/fft/kiss_fft_s16.c: (kf_bfly2), (kf_bfly4),
(kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
(kiss_fft_s16_alloc), (kiss_fft_s16_stride), (kiss_fft_s16),
(kiss_fft_s16_cleanup), (kiss_fft_s16_next_fast_size):
* gst-libs/gst/fft/kiss_fft_s16.h:
* gst-libs/gst/fft/kiss_fft_s32.c: (kf_bfly2), (kf_bfly4),
(kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
(kiss_fft_s32_alloc), (kiss_fft_s32_stride), (kiss_fft_s32),
(kiss_fft_s32_cleanup), (kiss_fft_s32_next_fast_size):
* gst-libs/gst/fft/kiss_fft_s32.h:
* gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc),
(kiss_fftr_f32), (kiss_fftri_f32):
* gst-libs/gst/fft/kiss_fftr_f32.h:
* gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc),
(kiss_fftr_f64), (kiss_fftri_f64):
* gst-libs/gst/fft/kiss_fftr_f64.h:
* gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc),
(kiss_fftr_s16), (kiss_fftri_s16):
* gst-libs/gst/fft/kiss_fftr_s16.h:
* gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc),
(kiss_fftr_s32), (kiss_fftri_s32):
* gst-libs/gst/fft/kiss_fftr_s32.h:
* gst-libs/gst/fft/kiss_version:
* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
* pkgconfig/gstreamer-plugins-base.pc.in:
Add libgstfft, a FFT library based on Kiss FFT which is
BSD licensed. Supported sample formats are int16, int32,
float and double. For those formats a real FFT and IFFT
can be done, different windowing functions can be applied
and functions for extracting the magnitude and phase exist.
Fixes #468619.
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
Integrate libgstfft into the docs.
* tests/check/Makefile.am:
* tests/check/libs/fft.c: (GST_START_TEST), (fft_suite), (main):
Add unit tests for libgstfft, currently only testing the FFT.
Unit tests for IFFT will follow soon.
2007-09-06 07:00:36 +00:00