Add docs for lpwsinc and bpwsinc and integrate them into the build system. While...
authorSebastian Dröge <slomo@circular-chaos.org>
Mon, 13 Aug 2007 13:50:39 +0000 (13:50 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Mon, 13 Aug 2007 13:50:39 +0000 (13:50 +0000)
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.

gst/audiofx/audiowsincband.c
gst/audiofx/audiowsincband.h
gst/audiofx/audiowsinclimit.c
gst/audiofx/audiowsinclimit.h

index d9690b6..f86de8d 100644 (file)
  *          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);
index 537c2f6..7d9c06b 100644 (file)
@@ -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__ */
index 50d0c0f..c8b7beb 100644 (file)
  *          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
index 599bef8..8a8cd47 100644 (file)
@@ -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__ */