diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2007-08-13 13:50:39 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2007-08-13 13:50:39 +0000 |
commit | addc96d983b84ed7257e462dc344b8474bc15d7a (patch) | |
tree | cffd6fcbbfc63a83f54556b5c364fa4503e085c9 /gst | |
parent | 9f3dd69cfd2bd4f017fd22ecca71016a47107198 (diff) | |
download | gst-plugins-bad-addc96d983b84ed7257e462dc344b8474bc15d7a.tar.gz gst-plugins-bad-addc96d983b84ed7257e462dc344b8474bc15d7a.tar.bz2 gst-plugins-bad-addc96d983b84ed7257e462dc344b8474bc15d7a.zip |
Add docs for lpwsinc and bpwsinc and integrate them into the build system. While doing that also update all other doc...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-xingheader.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstbpwsinc.h:
* gst/filter/gstlpwsinc.c:
* gst/filter/gstlpwsinc.h:
Add docs for lpwsinc and bpwsinc and integrate them
into the build system. While doing that also update
all other docs via make update in docs/plugins.
Diffstat (limited to 'gst')
-rw-r--r-- | gst/filter/gstbpwsinc.c | 28 | ||||
-rw-r--r-- | gst/filter/gstbpwsinc.h | 3 | ||||
-rw-r--r-- | gst/filter/gstlpwsinc.c | 26 | ||||
-rw-r--r-- | gst/filter/gstlpwsinc.h | 3 |
4 files changed, 57 insertions, 3 deletions
diff --git a/gst/filter/gstbpwsinc.c b/gst/filter/gstbpwsinc.c index d9690b6c..f86de8d0 100644 --- a/gst/filter/gstbpwsinc.c +++ b/gst/filter/gstbpwsinc.c @@ -31,6 +31,30 @@ * is probably the bottleneck * - Maybe allow cascading the filter to get a better stopband attenuation. * Can be done by convolving a filter kernel with itself + * - Drop the first kernel_length/2 samples and append the same number of + * samples on EOS as the first few samples are essentialy zero. + */ + +/** + * SECTION:element-bpwsinc + * @short_description: Windowed Sinc band pass and band reject filter + * + * <refsect2> + * <para> + * Attenuates all frequencies outside (bandpass) or inside (bandreject) of a frequency + * band. The length parameter controls the rolloff, the window parameter + * controls rolloff and stopband attenuation. The Hamming window provides a faster rolloff but a bit + * worse stopband attenuation, the other way around for the Blackman window. + * </para> + * <title>Example launch line</title> + * <para> + * <programlisting> + * gst-launch audiotestsrc freq=1500 ! audioconvert ! bpwsinc mode=band-pass lower-frequency=3000 upper-frequency=10000 length=501 window=blackman ! audioconvert ! alsasink + * gst-launch filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! bpwsinc mode=band-reject lower-frequency=59 upper-frequency=61 length=10001 window=hamming ! audioconvert ! alsasink + * gst-launch audiotestsrc wave=white-noise ! audioconvert ! bpwsinc mode=band-pass lower-frequency=1000 upper-frequency=2000 length=31 ! audioconvert ! alsasink + * </programlisting> + * </para> + * </refsect2> */ #ifdef HAVE_CONFIG_H @@ -49,7 +73,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); static const GstElementDetails bpwsinc_details = -GST_ELEMENT_DETAILS ("Band-pass Windowed sinc filter", +GST_ELEMENT_DETAILS ("Band-pass and Band-reject Windowed sinc filter", "Filter/Effect/Audio", "Band-pass Windowed sinc filter", "Thomas <thomas@apestaart.org>, " @@ -134,7 +158,7 @@ gst_bpwsinc_window_get_type (void) " channels = (int) [ 1, MAX ] " #define DEBUG_INIT(bla) \ - GST_DEBUG_CATEGORY_INIT (gst_bpwsinc_debug, "bpwsinc", 0, "Band-pass Windowed sinc filter plugin"); + GST_DEBUG_CATEGORY_INIT (gst_bpwsinc_debug, "bpwsinc", 0, "Band-pass and Band-reject Windowed sinc filter plugin"); GST_BOILERPLATE_FULL (GstBPWSinc, gst_bpwsinc, GstAudioFilter, GST_TYPE_AUDIO_FILTER, DEBUG_INIT); diff --git a/gst/filter/gstbpwsinc.h b/gst/filter/gstbpwsinc.h index 537c2f6d..7d9c06ba 100644 --- a/gst/filter/gstbpwsinc.h +++ b/gst/filter/gstbpwsinc.h @@ -60,6 +60,7 @@ typedef void (*GstBPWSincProcessFunc) (GstBPWSinc *, guint8 *, guint8 *, guint); struct _GstBPWSinc { GstAudioFilter element; + /* < private > */ GstBPWSincProcessFunc process; gint mode; @@ -76,6 +77,8 @@ struct _GstBPWSincClass { GstAudioFilterClass parent_class; }; +GType gst_bpwsinc_get_type (void); + G_END_DECLS #endif /* __GST_BPWSINC_H__ */ diff --git a/gst/filter/gstlpwsinc.c b/gst/filter/gstlpwsinc.c index 50d0c0f9..c8b7beb2 100644 --- a/gst/filter/gstlpwsinc.c +++ b/gst/filter/gstlpwsinc.c @@ -30,7 +30,31 @@ * when using FFT convolution as currently the convolution itself * is probably the bottleneck * - Maybe allow cascading the filter to get a better stopband attenuation. - * Can be done by convolving a filter kernel with itself. + * Can be done by convolving a filter kernel with itself + * - Drop the first kernel_length/2 samples and append the same number of + * samples on EOS as the first few samples are essentialy zero. + */ + +/** + * SECTION:element-lpwsinc + * @short_description: Windows Sinc low pass and high pass filter + * + * <refsect2> + * <para> + * Attenuates all frequencies above the cutoff frequency (low-pass) or all frequencies below the + * cutoff frequency (high-pass). The length parameter controls the rolloff, the window parameter + * controls rolloff and stopband attenuation. The Hamming window provides a faster rolloff but a bit + * worse stopband attenuation, the other way around for the Blackman window. + * </para> + * <title>Example launch line</title> + * <para> + * <programlisting> + * gst-launch audiotestsrc freq=1500 ! audioconvert ! lpwsinc mode=low-pass frequency=1000 length=501 ! audioconvert ! alsasink + * gst-launch filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! lpwsinc mode=high-pass frequency=15000 length=501 ! audioconvert ! alsasink + * gst-launch audiotestsrc wave=white-noise ! audioconvert ! lpwsinc mode=low-pass frequency=1000 length=10001 window=blackman ! audioconvert ! alsasink + * </programlisting> + * </para> + * </refsect2> */ #ifdef HAVE_CONFIG_H diff --git a/gst/filter/gstlpwsinc.h b/gst/filter/gstlpwsinc.h index 599bef84..8a8cd475 100644 --- a/gst/filter/gstlpwsinc.h +++ b/gst/filter/gstlpwsinc.h @@ -60,6 +60,7 @@ typedef void (*GstLPWSincProcessFunc) (GstLPWSinc *, guint8 *, guint8 *, guint); struct _GstLPWSinc { GstAudioFilter element; + /* < private > */ GstLPWSincProcessFunc process; gint mode; @@ -76,6 +77,8 @@ struct _GstLPWSincClass { GstAudioFilterClass parent_class; }; +GType gst_lpwsinc_get_type (void); + G_END_DECLS #endif /* __GST_LPWSINC_H__ */ |