diff --git a/docs/Makefile.am b/docs/Makefile.am
index 5c20418990..fbe0b50847 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1,9 +1,9 @@
SUBDIRS = manual
if HAVE_GTK_DOC
- SUBDIRS += gst
+ SUBDIRS += gst libs
endif
-DIST_SUBDIRS = gst manual
+DIST_SUBDIRS = gst manual libs
EXTRA_DIST = random slides
diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
index 4245d87bb7..3cb58f3f71 100644
--- a/docs/gst/Makefile.am
+++ b/docs/gst/Makefile.am
@@ -27,6 +27,7 @@ tmpl_sources = \
tmpl/gstaudiosrc.sgml \
tmpl/gstbin.sgml \
tmpl/gstbuffer.sgml \
+ tmpl/gstbufferpool.sgml \
tmpl/gstconnection.sgml \
tmpl/gstdisksrc.sgml \
tmpl/gstelement.sgml \
@@ -88,12 +89,12 @@ gstreamer-decl.txt:
$(MAKE) scan
scanobj: $(srcdir)/$(DOC_MODULE).types
- env CC="$(LIBTOOL) --mode=link $(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
- gtkdoc-scanobj --module=$(DOC_MODULE) \
- --types=$(srcdir)/$(DOC_MODULE).types
+ -CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) gtkdoc-scanobj --module=$(DOC_MODULE)
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+
scan:
- gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="gsttypefind.h"
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers=""
tmpl: scanobj scan
gtkdoc-mktmpl --module=$(DOC_MODULE)
diff --git a/docs/gst/gstreamer-decl.txt b/docs/gst/gstreamer-decl.txt
index ac1fda3830..f39ed4f5dc 100644
--- a/docs/gst/gstreamer-decl.txt
+++ b/docs/gst/gstreamer-decl.txt
@@ -41,8 +41,9 @@ struct cothread_state {
int flags;
int *sp;
+ int *top_sp;
int *pc;
- jmp_buf jmp;
+ sigjmp_buf jmp;
};
@@ -154,25 +155,6 @@ struct GstBin {
gboolean use_cothreads;
};
-
-GstBinClass
-struct GstBinClass {
- GstElementClass parent_class;
-
- void (*object_added) (GstObject *object,GstObject *child);
-
- /* change the state of elements of the given type */
- gboolean (*change_state_type) (GstBin *bin,
- GstElementState state,
- GtkType type);
-
- /* create a plan for the execution of the bin */
- void (*create_plan) (GstBin *bin);
-
- /* run a full iteration of operation */
- void (*iterate) (GstBin *bin);
-};
-
gst_bin_get_type
GtkType
@@ -489,7 +471,7 @@ GstClock *clock, GstClockTime time
GST_IS_CONNECTION_CLASS
#define GST_IS_CONNECTION_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION))
GstConnection
@@ -503,15 +485,6 @@ struct GstConnection {
GstElement element;
};
-
-GstConnectionClass
-struct GstConnectionClass {
- GstElementClass parent_class;
-
- /* push function */
- void (*push) (GstConnection *connection);
-};
-
gst_connection_get_type
GtkType
@@ -581,13 +554,18 @@ typedef enum {
GstElementFlags
typedef enum {
- GST_ELEMENT_MULTI_IN = (1 << 0),
+ GST_ELEMENT_MULTI_IN = (1 << 4),
+ GST_ELEMENT_THREAD_SUGGESTED = (1 << 5),
} GstElementFlags;
GST_ELEMENT_IS_MULTI_IN
#define GST_ELEMENT_IS_MULTI_IN(obj) (GST_FLAGS(obj) & GST_ELEMENT_MULTI_IN)
+
+GST_ELEMENT_IS_THREAD_SUGGESTED
+#define GST_ELEMENT_IS_THREAD_SUGGESTED(obj) (GST_FLAGS(obj) & GST_ELEMENT_THREAD_SUGGESTED)
+
GstElement
@@ -625,32 +603,6 @@ struct GstElement {
};
-GstElementClass
-struct GstElementClass {
- GstObjectClass parent_class;
-
- /* the elementfactory that created us */
- GstElementFactory *elementfactory;
-
- /* signal callbacks */
- void (*state_change) (GstElement *element,GstElementState state);
- void (*new_pad) (GstElement *element,GstPad *pad);
- void (*new_ghost_pad) (GstElement *element,GstPad *pad);
- void (*error) (GstElement *element,gchar *error);
-
- /* events */
-// gboolean (*start) (GstElement *element,GstElementState state);
-// gboolean (*stop) (GstElement *element);
-
- /* change the element state */
- GstElementStateReturn (*change_state) (GstElement *element);
-
- /* create or read XML representation of self */
- xmlNodePtr (*save_thyself)(GstElement *element,xmlNodePtr parent);
- void (*restore_thyself)(GstElement *element,xmlNodePtr *self);
-};
-
-
GstElementDetails
struct GstElementDetails {
gchar *longname; /* long, english name */
@@ -758,6 +710,11 @@ GstElement *element
GstElement *element,xmlNodePtr parent
+gst_element_load_thyself
+GstElement *
+xmlNodePtr parent, GHashTable *elements
+
+
gst_elementfactory_new
GstElementFactory *
gchar *name,GtkType type,GstElementDetails *details
@@ -849,12 +806,6 @@ struct GstFilter {
GstElement element;
};
-
-GstFilterClass
-struct GstFilterClass {
- GstElementClass parent_class;
-};
-
gst_filter_get_type
GtkType
@@ -883,8 +834,8 @@ gchar *name
GST_META_FLAGS
-#define GST_META_FLAGS(buf) \
- (GST_META(buf)->flags)
+#define GST_META_FLAGS(meta) \
+ (GST_META(meta)->flags)
GST_META_FLAG_IS_SET
@@ -999,17 +950,6 @@ struct GstObject {
GstObject *parent;
};
-
-GstObjectClass
-struct GstObjectClass {
- GtkObjectClass parent_class;
-
- /* signals */
- void (*parent_set) (GstObject *object,GstObject *parent);
-
- /* functions go here */
-};
-
GST_FLAGS
#define GST_FLAGS(obj) GTK_OBJECT_FLAGS(obj)
@@ -1101,11 +1041,11 @@ GstObject *object
GST_PAD_CONNECTED
-#define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL)
+#define GST_PAD_CONNECTED(pad) (pad && (pad)->peer != NULL)
GST_PAD_CAN_PULL
-#define GST_PAD_CAN_PULL(pad) ((pad)->pullfunc != NULL)
+#define GST_PAD_CAN_PULL(pad) (pad && (pad)->pullfunc != NULL)
GstPad
@@ -1164,12 +1104,6 @@ struct GstPad {
GList *ghostparents;
};
-
-GstPadClass
-struct GstPadClass {
- GstObjectClass parent_class;
-};
-
gst_pad_get_type
GtkType
@@ -1289,6 +1223,11 @@ GstPad *pad, glong qos_message
xmlNodePtr
GstPad *pad,xmlNodePtr parent
+
+gst_pad_load_and_connect
+void
+xmlNodePtr parent, GstObject *element, GHashTable *elements
+
gst_pipeline_details
extern GstElementDetails gst_pipeline_details;
@@ -1333,12 +1272,6 @@ struct GstPipeline {
GList *sinks; // and multiple sinks
};
-
-GstPipelineClass
-struct GstPipelineClass {
- GstBinClass parent_class;
-};
-
gst_pipeline_get_type
GtkType
@@ -1509,12 +1442,6 @@ struct GstSink {
GstElement element;
};
-
-GstSinkClass
-struct GstSinkClass {
- GstElementClass parent_class;
-};
-
gst_sink_get_type
GtkType
@@ -1579,19 +1506,6 @@ struct GstSrc {
gint32 flags;
};
-
-GstSrcClass
-struct GstSrcClass {
- GstElementClass parent_class;
-
- /* subclass functions */
- void (*push) (GstSrc *src);
- void (*push_region) (GstSrc *src,gulong offset,gulong size);
-
- /* signals */
- void (*eos) (GstSrc *src);
-};
-
GST_SRC_SET_FLAGS
#define GST_SRC_SET_FLAGS(src,flag) \
@@ -1645,7 +1559,7 @@ GstSrc *src,gulong offset,gulong size
GST_IS_TEE_CLASS
#define GST_IS_TEE_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE))
GstTee
@@ -1664,12 +1578,6 @@ struct GstTee {
GSList *srcpads;
};
-
-GstTeeClass
-struct GstTeeClass {
- GstFilterClass parent_class;
-};
-
gst_tee_get_type
GtkType
@@ -1725,7 +1633,7 @@ typedef enum {
GST_IS_THREAD_CLASS
#define GST_IS_THREAD_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD))
GstThread
@@ -1743,12 +1651,6 @@ struct GstThread {
GCond *cond; /* used to control the thread */
};
-
-GstThreadClass
-struct GstThreadClass {
- GstBinClass parent_class;
-};
-
gst_thread_get_type
GtkType
@@ -1760,16 +1662,6 @@ void
guchar *name
-gst_thread_main_loop
-void *
-void *arg
-
-
-gst_thread_iterate
-void
-GstThread *thread
-
-
gst_trace_read_tsc
void
guint64 *dst
@@ -2001,11 +1893,65 @@ GtkObject *object,guchar *argname
void
guchar *mem, guint size
+
+GST_TYPE_XML
+#define GST_TYPE_XML \
+ (gst_object_get_type())
+
+
+GST_XML
+#define GST_XML(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_XML,GstXML))
+
+
+GST_XML_CLASS
+#define GST_XML_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_XML,GstXMLClass))
+
+
+GST_IS_XML
+#define GST_IS_XML(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_XML))
+
+
+GST_IS_XML_CLASS
+#define GST_IS_XML_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_XML))
+
+
+GstXML
+
+
+GstXMLClass
+
+
+GstXML
+struct GstXML {
+ GtkObject object;
+
+ GHashTable *elements;
+};
+
+
+gst_xml_get_type
+GtkType
+void
+
gst_xml_write
xmlDocPtr
GstElement *element
+
+gst_xml_new
+GstXML *
+const guchar *fname, const guchar *root
+
+
+gst_xml_get_element
+GstElement *
+GstXML *xml, const guchar *name
+
GST_BUFFER_POOL
#define GST_BUFFER_POOL(buf) \
@@ -2066,17 +2012,16 @@ GstBufferPool *pool, GstBufferPoolDestroyFunction destroy, gpointer user_data
void
GstBufferPool *pool
-
-GST_CPU_FLAG_MMX
-#define GST_CPU_FLAG_MMX (1 << 0)
-
-
-GST_CPU_FLAG_SSE
-#define GST_CPU_FLAG_SSE (1 << 1)
-
+
+GstCPUFlags
+typedef enum {
+ GST_CPU_FLAG_MMX = (1<<0),
+ GST_CPU_FLAG_SSE = (1<<1),
+} GstCPUFlags;
+
gst_cpu_get_flags
-guint32
+GstCPUFlags
@@ -2095,14 +2040,18 @@ GstBufferPool *pool
__asm__("jmp " SYMBOL_NAME_STR(cothread_stub))
+SETUP_STACK
+#define SETUP_STACK(sp) do ; while(0)
+
+
GET_SP
#define GET_SP(target) \
- __asm__("stw 1,%0" : "=m"(target) : : "r1");
+ __asm__("stw 1,%0" : "=m"(target) : : "r1");
SET_SP
#define SET_SP(source) \
- __asm__("lwz 1,%0" : "=m"(source))
+ __asm__("lwz 1,%0" : "=m"(source))
JUMP
@@ -2110,6 +2059,21 @@ GstBufferPool *pool
__asm__("b " SYMBOL_NAME_STR(cothread_stub))
+SETUP_STACK
+#define SETUP_STACK(sp) \
+ sp = ((unsigned long *)(sp)) - 4; \
+ ((struct minimal_ppc_stackframe *)sp)->back_chain = 0;
+
+
+GST_TYPE_FILENAME
+#define GST_TYPE_FILENAME (gst_extra_get_filename_type())
+
+
+gst_extra_get_filename_type
+GtkType
+void
+
+
GST_TYPE_ASYNCDISKSRC
#define GST_TYPE_ASYNCDISKSRC \
(gst_asyncdisksrc_get_type())
@@ -2169,12 +2133,6 @@ struct GstAsyncDiskSrc {
gulong seq; /* buffer sequence number */
};
-
-GstAsyncDiskSrcClass
-struct GstAsyncDiskSrcClass {
- GstSrcClass parent_class;
-};
-
gst_asyncdisksrc_get_type
GtkType
@@ -2235,15 +2193,6 @@ struct GstAudioSink {
gboolean mute;
};
-
-GstAudioSinkClass
-struct GstAudioSinkClass {
- GstSinkClass parent_class;
-
- /* signals */
- void (*handoff) (GstElement *element,GstPad *pad);
-};
-
gst_audiosink_get_type
GtkType
@@ -2316,12 +2265,6 @@ struct GstAudioSrc {
MetaAudioRaw *meta;
};
-
-GstAudioSrcClass
-struct GstAudioSrcClass {
- GstSrcClass parent_class;
-};
-
gst_audiosrc_get_type
GtkType
@@ -2387,12 +2330,6 @@ struct GstDiskSrc {
gulong size;
};
-
-GstDiskSrcClass
-struct GstDiskSrcClass {
- GstSrcClass parent_class;
-};
-
gst_disksrc_get_type
GtkType
@@ -2444,15 +2381,6 @@ struct GstEsdSink {
gint frequency;
};
-
-GstEsdSinkClass
-struct GstEsdSinkClass {
- GstFilterClass parent_class;
-
- /* signals */
- void (*handoff) (GstElement *element,GstPad *pad);
-};
-
gst_esdsink_get_type
GtkType
@@ -2497,12 +2425,6 @@ struct GstFakeSink {
GstPad *sinkpad;
};
-
-GstFakeSinkClass
-struct GstFakeSinkClass {
- GstSinkClass parent_class;
-};
-
gst_fakesink_get_type
GtkType
@@ -2547,12 +2469,6 @@ struct GstFakeSrc {
GstPad *srcpad;
};
-
-GstFakeSrcClass
-struct GstFakeSrcClass {
- GstSrcClass parent_class;
-};
-
gst_fakesrc_get_type
GtkType
@@ -2599,12 +2515,6 @@ struct GstFdSink {
int fd;
};
-
-GstFdSinkClass
-struct GstFdSinkClass {
- GstSinkClass parent_class;
-};
-
gst_fdsink_get_type
GtkType
@@ -2657,12 +2567,6 @@ struct GstFdSrc {
gulong seq; /* buffer sequence number */
};
-
-GstFdSrcClass
-struct GstFdSrcClass {
- GstSrcClass parent_class;
-};
-
gst_fdsrc_get_type
GtkType
@@ -2720,12 +2624,6 @@ struct GstHttpSrc {
gulong bytes_per_read; /* bytes per read */
};
-
-GstHttpSrcClass
-struct GstHttpSrcClass {
- GstSrcClass parent_class;
-};
-
gst_httpsrc_get_type
GtkType
@@ -2773,12 +2671,6 @@ struct GstIdentity {
gint control;
};
-
-GstIdentityClass
-struct GstIdentityClass {
- GstFilterClass parent_class;
-};
-
gst_identity_get_type
GtkType
@@ -2824,8 +2716,7 @@ struct GstQueue {
GstPad *srcpad;
/* the queue of buffers we're keeping our grubby hands on */
- GList *queue;
- GList *tail; /* have to keep track of this myself */
+ GSList *queue;
gint level_buffers; /* number of buffers queued here */
gint max_buffers; /* maximum number of buffers queued here */
@@ -2839,12 +2730,6 @@ struct GstQueue {
GCond *fullcond;
};
-
-GstQueueClass
-struct GstQueueClass {
- GstConnectionClass parent_class;
-};
-
gst_queue_get_type
GtkType
@@ -2904,14 +2789,54 @@ struct GstSineSrc {
gboolean sentmeta;
};
+
+gst_sinesrc_get_type
+GtkType
+void
+
+
+GST_TYPE_TYPEFIND
+#define GST_TYPE_TYPEFIND \
+ (gst_typefind_get_type())
+
+
+GST_TYPEFIND
+#define GST_TYPEFIND(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_TYPEFIND,GstTypeFind))
+
+
+GST_TYPEFIND_CLASS
+#define GST_TYPEFIND_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TYPEFIND,GstTypeFindClass))
+
+
+GST_IS_TYPEFIND
+#define GST_IS_TYPEFIND(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_TYPEFIND))
+
+
+GST_IS_TYPEFIND_CLASS
+#define GST_IS_TYPEFIND_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TYPEFIND))
+
-GstSineSrcClass
-struct GstSineSrcClass {
- GstSrcClass parent_class;
+GstTypeFind
+
+
+GstTypeFindClass
+
+
+GstTypeFind
+struct GstTypeFind {
+ GstSink sink;
+
+ GstPad *sinkpad;
+
+ gint16 type;
};
-gst_sinesrc_get_type
+gst_typefind_get_type
GtkType
void
@@ -2974,12 +2899,6 @@ struct GstPipefilter {
gulong seq; /* buffer sequence number */
};
-
-GstPipefilterClass
-struct GstPipefilterClass {
- GstFilterClass parent_class;
-};
-
gst_pipefilter_get_type
GtkType
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index beb04aa1a4..4c1bece993 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -4,6 +4,7 @@
+
@@ -25,21 +26,19 @@
-
-
-
+
@@ -51,7 +50,7 @@
- GStreamer Library Reference Manual
+ GStreamer Library Reference Manual (Core)
GStreamer Core Library
@@ -70,6 +69,7 @@ with some more specialized elements.
&GstSink;
&GstSrc;
&GstBuffer;
+ &GstBufferPool;
&GstPad;
&GstConnection;
&GstPlugin;
@@ -123,16 +123,20 @@ with some more specialized elements.
&GstDiskSrc;
&GstAsyncDiskSrc;
&GstHttpSrc;
- &GstFdSrc;
+
&GstAudioSrc;
+ &GstAudioSink;
+
&GstSineSrc;
- &GstAudioSink;
+ &GstFdSrc;
&GstFdSink;
&GstPipefilter;
&GstIdentity;
&GstQueue;
+
+ &GstTypeFind;
@@ -145,14 +149,6 @@ with some more specialized elements.
&videoraw;
-
- GStreamer Multimedia Plugins
-
- GStreamer has some advanced multimedia plugins.
-
-
-
-
Index
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 801a75abb7..525ec02431 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -29,6 +29,15 @@ gst_main
gst_main_quit
DEBUG
+SETUP_STACK
+
+
+
+gstextratypes
+GstExtraTypes
+GST_TYPE_FILENAME
+gst_extra_get_filename_type
+
@@ -92,7 +101,6 @@ GST_BUFFER
gstbufferpool
-GST_BUFFER_POOL
GstBufferPool
GstBufferPoolCreateFunction
GstBufferPoolDestroyFunction
@@ -102,6 +110,8 @@ gst_buffer_pool_destroy_buffer
gst_buffer_pool_set_create_function
gst_buffer_pool_set_destroy_function
gst_buffer_pool_destroy
+
+GST_BUFFER_POOL
@@ -129,6 +139,7 @@ GST_STATE
GST_STATE_PENDING
GstElementFlags
GST_ELEMENT_IS_MULTI_IN
+GST_ELEMENT_IS_THREAD_SUGGESTED
GstElement
GstElementDetails
GstElementFactory
@@ -149,6 +160,7 @@ gst_element_error
gst_element_get_factory
gst_element_destroy
gst_element_save_thyself
+gst_element_load_thyself
gst_elementfactory_new
gst_elementfactory_register
gst_elementfactory_add_sink
@@ -285,6 +297,7 @@ gst_pad_pull
gst_pad_set_qos_function
gst_pad_handle_qos
gst_pad_save_thyself
+gst_pad_load_and_connect
GstPadClass
GST_TYPE_PAD
@@ -400,8 +413,6 @@ GST_IS_TEE_CLASS
GstThreadState
GstThread
gst_thread_new
-gst_thread_main_loop
-gst_thread_iterate
GstThreadClass
gst_thread_get_type
@@ -472,14 +483,24 @@ gst_util_dump_mem
gstxml
GstXml
+GstXML
+gst_xml_new
gst_xml_write
+gst_xml_get_element
+
+gst_xml_get_type
+GST_XML
+GST_IS_XML
+GST_IS_XML_CLASS
+GST_TYPE_XML
+GST_XML_CLASS
+GstXMLClass
gstcpu
GstCpu
-GST_CPU_FLAG_MMX
-GST_CPU_FLAG_SSE
+GstCPUFlags
gst_cpu_get_flags
@@ -688,11 +709,27 @@ gst_pipefilter_get_type
+gsttypefind
+GstTypeFind
+
+GstTypeFind
+GstTypeFindClass
+gst_typefind_get_type
+GST_TYPE_TYPEFIND
+GST_TYPEFIND
+GST_TYPEFIND_CLASS
+GST_IS_TYPEFIND
+GST_IS_TYPEFIND_CLASS
+
+
+
+gst/meta/audioraw.h
audioraw
MetaAudioRaw
+gst/meta/spectrum.h
spectrum
MetaAudioSpectrum
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
index 3d635d39b2..ae16d48b06 100644
--- a/docs/gst/gstreamer.hierarchy
+++ b/docs/gst/gstreamer.hierarchy
@@ -1,7 +1,4 @@
GtkObject
- GtkWidget
- GtkRange
- GtkContainer
GstObject
GstElement
GstBin
@@ -15,6 +12,7 @@ GtkObject
GstFakeSink
GstAudioSink
GstFdSink
+ GstTypeFind
GstSrc
GstFakeSrc
GstDiskSrc
diff --git a/docs/gst/gstreamer.types.in b/docs/gst/gstreamer.types.in
index 7b7102c684..c83eae66c4 100644
--- a/docs/gst/gstreamer.types.in
+++ b/docs/gst/gstreamer.types.in
@@ -1,5 +1,8 @@
#include
#include
+
+#include
+
gst_object_get_type
gst_element_get_type
gst_bin_get_type
@@ -29,4 +32,5 @@ gst_pipefilter_get_type
gst_identity_get_type
gst_queue_get_type
+gst_typefind_get_type
diff --git a/docs/libs/.gitignore b/docs/libs/.gitignore
new file mode 100644
index 0000000000..b5548ac928
--- /dev/null
+++ b/docs/libs/.gitignore
@@ -0,0 +1,7 @@
+Makefile
+Makefile.in
+html
+sgml
+gstreamer-libs-unused.txt
+gstreamer-libs-decl.txt
+gstreamer-libs-decl-list.txt
diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am
new file mode 100644
index 0000000000..1a2764d9e0
--- /dev/null
+++ b/docs/libs/Makefile.am
@@ -0,0 +1,85 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE=gstreamer-libs
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code (if it contains documentation).
+DOC_SOURCE_DIR=$(top_srcdir)/libs
+
+HTML_DIR=$(datadir)/gstreamer/html
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+tmpl_sources = \
+ tmpl/videoraw.sgml
+
+gstreamer_docdir = $(HTML_DIR)
+gstreamer_doc_DATA = \
+ $(DOC_MODULE).html \
+ $(DOC_MODULE)-decl.txt \
+ $(DOC_MODULE)-sections.txt
+
+if HAVE_GTK_DOC
+gstreamer.html: html/book1.html
+ -cd $(srcdir) && cp html/book1.html gstreamer.html
+else
+gstreamer.html:
+endif
+
+html/book1.html: sgml/gstreamer-doc.bottom
+ $(MAKE) html
+
+sgml/gstreamer-doc.bottom: $(tmpl_sources)
+ $(MAKE) sgml
+
+gstreamer-decl.txt:
+ $(MAKE) scan
+
+scan:
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers=""
+
+tmpl: scan
+ gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+sgml: tmpl
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+
+html:
+ if ! test -d html ; then mkdir html ; fi
+ -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+
+clean-local:
+ rm -f *~ *.bak *.signals *-unused.txt *.args
+
+maintainer-clean-local: clean
+ rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+ (installfiles=`echo $(srcdir)/html/*.html`; \
+ if test "$$installfiles" = '$(srcdir)/html/*.html'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
+ echo '-- Fixing Crossreferences' ; \
+ gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)|| true; \
+ fi)
+
+dist-hook:
+ mkdir $(distdir)/html
+ mkdir $(distdir)/sgml
+ mkdir $(distdir)/tmpl
+ -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+ -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
+ -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
+
+.PHONY : html sgml templates scan
diff --git a/docs/libs/gstreamer-libs-docs.sgml b/docs/libs/gstreamer-libs-docs.sgml
new file mode 100644
index 0000000000..767425e07f
--- /dev/null
+++ b/docs/libs/gstreamer-libs-docs.sgml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+ GStreamer Library Reference Manual (Libraries)
+
+
+ GStreamer Libraries
+
+
+ To ease the creation of plugins, a library system was created. The most common
+ functions for a plugin can be found in a library.
+
+
+ GStreamer provides some standard libraries you can use to create plugins.
+
+ &GstColorSpace;
+ &GstGetbits;
+ &GstIDCT;
+ &GstPutbits;
+ &GstVideoScale;
+ &GstRiff;
+
+
+
+
diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt
new file mode 100644
index 0000000000..48c48934a1
--- /dev/null
+++ b/docs/libs/gstreamer-libs-sections.txt
@@ -0,0 +1,445 @@
+
+gstcolorspace
+libs/colorspace/gstcolorspace.h
+GstColorSpaceType
+GstColorSpaceConverter
+GstColorSpaceConvertFunction
+GST_COLORSPACE_RGB_FIRST
+GST_COLORSPACE_YUV_FIRST
+GST_COLORSPACE_YUV_LAST
+GST_COLORSPACE_RGB_LAST
+GST_COLORSPACE_IS_YUV_TYPE
+GST_COLORSPACE_IS_RGB_TYPE
+gst_colorspace_converter_new
+gst_colorspace_convert
+gst_colorspace_destroy
+
+
+
+
+gstriff
+libs/riff/gstriff.h
+GstRiffReturn
+GstRiffParserState
+GST_RIFF_OK
+GST_RIFF_ENOTRIFF
+GST_RIFF_EINVAL
+GST_RIFF_ENOMEM
+GST_RIFF_STATE_INITIAL
+GST_RIFF_STATE_HASAVIH
+GST_RIFF_STATE_HASSTRH
+GST_RIFF_STATE_HASSTRF
+GST_RIFF_STATE_MOVI
+MAKE_FOUR_CC
+GST_RIFF_RIFF_WAVE
+GST_RIFF_RIFF_AVI
+GST_RIFF_TAG_RIFF
+GST_RIFF_TAG_RIFX
+GST_RIFF_TAG_LIST
+GST_RIFF_TAG_avih
+GST_RIFF_TAG_strd
+GST_RIFF_TAG_strh
+GST_RIFF_TAG_strf
+GST_RIFF_TAG_vedt
+GST_RIFF_TAG_JUNK
+GST_RIFF_TAG_idx1
+GST_RIFF_TAG_fmt
+GST_RIFF_TAG_data
+GST_RIFF_LIST_movi
+GST_RIFF_LIST_hdrl
+GST_RIFF_LIST_strl
+GST_RIFF_FCC_vids
+GST_RIFF_FCC_auds
+GST_RIFF_FCC_pads
+GST_RIFF_FCC_txts
+GST_RIFF_FCC_vidc
+GST_RIFF_FCCH_RLE
+GST_RIFF_FCCH_msvc
+GST_RIFF_FCCH_MSVC
+GST_RIFF_FF00
+GST_RIFF_00
+GST_RIFF_01
+GST_RIFF_02
+GST_RIFF_03
+GST_RIFF_04
+GST_RIFF_05
+GST_RIFF_06
+GST_RIFF_07
+GST_RIFF_00pc
+GST_RIFF_01pc
+GST_RIFF_00dc
+GST_RIFF_00dx
+GST_RIFF_00db
+GST_RIFF_00xx
+GST_RIFF_00id
+GST_RIFF_00rt
+GST_RIFF_0021
+GST_RIFF_00iv
+GST_RIFF_0031
+GST_RIFF_0032
+GST_RIFF_00vc
+GST_RIFF_00xm
+GST_RIFF_01wb
+GST_RIFF_01dc
+GST_RIFF_cram
+GST_RIFF_CRAM
+GST_RIFF_wham
+GST_RIFF_WHAM
+GST_RIFF_rgb
+GST_RIFF_RGB
+GST_RIFF_rle8
+GST_RIFF_RLE8
+GST_RIFF_rle4
+GST_RIFF_RLE4
+GST_RIFF_none
+GST_RIFF_NONE
+GST_RIFF_pack
+GST_RIFF_PACK
+GST_RIFF_tran
+GST_RIFF_TRAN
+GST_RIFF_ccc
+GST_RIFF_CCC
+GST_RIFF_cyuv
+GST_RIFF_CYUV
+GST_RIFF_jpeg
+GST_RIFF_JPEG
+GST_RIFF_MJPG
+GST_RIFF_mJPG
+GST_RIFF_IJPG
+GST_RIFF_rt21
+GST_RIFF_RT21
+GST_RIFF_iv31
+GST_RIFF_IV31
+GST_RIFF_iv32
+GST_RIFF_IV32
+GST_RIFF_iv41
+GST_RIFF_IV41
+GST_RIFF_iv50
+GST_RIFF_IV50
+GST_RIFF_cvid
+GST_RIFF_CVID
+GST_RIFF_ULTI
+GST_RIFF_ulti
+GST_RIFF_YUV9
+GST_RIFF_YVU9
+GST_RIFF_XMPG
+GST_RIFF_xmpg
+GST_RIFF_VDOW
+GST_RIFF_MVI1
+GST_RIFF_v422
+GST_RIFF_V422
+GST_RIFF_mvi1
+GST_RIFF_MPIX
+GST_RIFF_AURA
+GST_RIFF_DMB1
+GST_RIFF_dmb1
+GST_RIFF_BW10
+GST_RIFF_bw10
+GST_RIFF_yuy2
+GST_RIFF_YUY2
+GST_RIFF_YUV8
+GST_RIFF_WINX
+GST_RIFF_WPY2
+GST_RIFF_m263
+GST_RIFF_M263
+GST_RIFF_Q1_0
+GST_RIFF_SFMC
+GST_RIFF_y41p
+GST_RIFF_Y41P
+GST_RIFF_yv12
+GST_RIFF_YV12
+GST_RIFF_vixl
+GST_RIFF_VIXL
+GST_RIFF_iyuv
+GST_RIFF_IYUV
+GST_RIFF_i420
+GST_RIFF_I420
+GST_RIFF_vyuy
+GST_RIFF_VYUY
+GST_RIFF_DIV3
+GST_RIFF_rpza
+GST_RIFF_azpr
+GST_RIFF_ISFT
+GST_RIFF_IDIT
+GST_RIFF_00AM
+GST_RIFF_DISP
+GST_RIFF_ISBJ
+GST_RIFF_rec
+gst_riff_avih
+gst_riff_strh
+gst_riff_strf_vids
+gst_riff_strf_auds
+gst_riff_riff
+gst_riff_list
+gst_riff_chunk
+GstRiff
+GstRiffChunk
+GstRiffCallback
+gst_riff_parser_new
+gst_riff_parser_next_buffer
+gst_riff_encoder_new
+gst_riff_encoder_avih
+gst_riff_encoder_strh
+gst_riff_encoder_strf
+gst_riff_encoder_chunk
+gst_riff_encoder_get_buffer
+gst_riff_encoder_get_and_reset_buffer
+gst_riff_fourcc_to_id
+gst_riff_id_to_fourcc
+
+
+
+gstgetbits_inl
+debug2
+debug
+checklength2
+checklength
+swab32
+gst_getbits_init
+gst_getbits_newbuf
+gst_getbits_bitoffset
+gst_getbits_bufferpos
+gst_getbits_bytesleft
+gst_getbits_bitsleft
+gst_getbits1
+gst_getbits2
+gst_getbitsX
+gst_getbits3
+gst_getbits4
+gst_getbits5
+gst_getbits6
+gst_getbits7
+gst_getbits8
+gst_getbits9
+gst_getbits10
+gst_getbits11
+gst_getbits12
+gst_getbits13
+gst_getbits14
+gst_getbits15
+gst_getbits16
+gst_getbits17
+gst_getbits18
+gst_getbits19
+gst_getbits20
+gst_getbits21
+gst_getbits22
+gst_getbits32
+gst_getbitsn
+gst_showbits32
+gst_showbitsX
+gst_showbits1
+gst_showbits2
+gst_showbits3
+gst_showbits4
+gst_showbits5
+gst_showbits6
+gst_showbits7
+gst_showbits8
+gst_showbits9
+gst_showbits10
+gst_showbits11
+gst_showbits12
+gst_showbits13
+gst_showbits14
+gst_showbits15
+gst_showbits16
+gst_showbits17
+gst_showbits18
+gst_showbits19
+gst_showbits20
+gst_showbits21
+gst_showbits22
+gst_showbits23
+gst_showbits24
+gst_showbits25
+gst_showbits26
+gst_showbits27
+gst_showbits28
+gst_showbits29
+gst_showbits30
+gst_showbits31
+gst_showbitsn
+gst_flushbits32
+gst_flushbitsn
+gst_backbits24
+gst_backbitsn
+
+
+
+gstgetbits
+libs/getbits/gstgetbits.h
+gst_getbits_t
+GstGetbitsCallback
+gst_getbits_init
+gst_getbits_newbuf
+gst_getbits_bitoffset
+gst_getbits_align_byte
+gst_getbits_bufferpos
+gst_getbits_bytesleft
+gst_getbits_bitsleft
+gst_getbyte
+gst_getbits_fastn
+gst_getbitsn
+gst_getbits1
+gst_getbits2
+gst_getbits3
+gst_getbits4
+gst_getbits5
+gst_getbits6
+gst_getbits7
+gst_getbits8
+gst_getbits9
+gst_getbits10
+gst_getbits11
+gst_getbits12
+gst_getbits13
+gst_getbits14
+gst_getbits15
+gst_getbits16
+gst_getbits17
+gst_getbits18
+gst_getbits19
+gst_getbits20
+gst_getbits21
+gst_getbits22
+gst_getbits23
+gst_showbitsn
+gst_showbits1
+gst_showbits2
+gst_showbits3
+gst_showbits4
+gst_showbits5
+gst_showbits6
+gst_showbits7
+gst_showbits8
+gst_showbits9
+gst_showbits10
+gst_showbits11
+gst_showbits12
+gst_showbits13
+gst_showbits14
+gst_showbits15
+gst_showbits16
+gst_showbits17
+gst_showbits18
+gst_showbits19
+gst_showbits20
+gst_showbits21
+gst_showbits22
+gst_showbits23
+gst_showbits24
+gst_showbits32
+gst_flushbitsn
+gst_flushbits32
+gst_backbitsn
+gst_backbits24
+
+gst_get1bit
+gst_show1bit
+gst_getbitsX
+gst_getbits_fastX
+gst_showbitsX
+gst_flushbitsX
+gst_backbitsX
+swab32
+DEBUG
+
+
+
+gstvideoscale
+libs/videoscale/gstvideoscale.h
+GstVideoScaleMethod
+GstVideoScale
+GstVideoScaleScaler
+gst_videoscale_new
+gst_videoscale_scale
+gst_videoscale_destroy
+
+
+
+gstputbits
+libs/putbits/gstputbits.h
+gst_putbits_t
+gst_putbits_init
+gst_putbits_new_empty_buffer
+gst_putbits_new_buffer
+gst_putbits_align
+gst_putbits_bitcount
+gst_putbits1
+gst_putbits2
+gst_putbits3
+gst_putbits4
+gst_putbits5
+gst_putbits6
+gst_putbits7
+gst_putbits8
+gst_putbits9
+gst_putbits10
+gst_putbits11
+gst_putbits12
+gst_putbits13
+gst_putbits14
+gst_putbits15
+gst_putbits16
+gst_putbits17
+gst_putbits18
+gst_putbits19
+gst_putbits20
+gst_putbits21
+gst_putbits22
+gst_putbits32
+gst_putbitsn
+
+gst_putbits
+
+
+
+externals
+ext_unknown
+
+
+
+wineacm
+MSACM_hHeap
+MSACM_pFirstACMDriverID
+MSACM_pLastACMDriverID
+MSACM_RegisterDriver
+MSACM_RegisterAllDrivers
+MSACM_UnregisterDriver
+MSACM_UnregisterAllDrivers
+MSACM_GetDriverID
+MSACM_GetDriver
+MSACM_GetObj
+
+
+
+dct
+DCTSIZE
+DCTSIZE2
+EIGHT_BIT_SAMPLES
+DCTELEM
+DCTBLOCK[DCTSIZE2]
+INT32
+gst_idct_int_idct
+gst_idct_init_fast_int_idct
+gst_idct_fast_int_idct
+gst_idct_mmx_idct
+gst_idct_mmx32_idct
+gst_idct_init_float_idct
+gst_idct_float_idct
+
+
+
+gstidct
+libs/idct/gstidct.h
+GstIDCTMethod
+GstIDCT
+GstIDCTFunction
+GST_IDCT_TRANSPOSE
+gst_idct_new
+gst_idct_convert
+gst_idct_convert_sparse
+gst_idct_destroy
+
+
diff --git a/docs/libs/tmpl/.gitignore b/docs/libs/tmpl/.gitignore
new file mode 100644
index 0000000000..751553b3ac
--- /dev/null
+++ b/docs/libs/tmpl/.gitignore
@@ -0,0 +1 @@
+*.bak
diff --git a/docs/libs/tmpl/dct.sgml b/docs/libs/tmpl/dct.sgml
new file mode 100644
index 0000000000..2b101cc04e
--- /dev/null
+++ b/docs/libs/tmpl/dct.sgml
@@ -0,0 +1,108 @@
+
+dct
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@block:
+
+
+
+
+
+
+
+@block:
+
+
+
+
+
+
+
+@block:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@block:
+
+
diff --git a/docs/libs/tmpl/externals.sgml b/docs/libs/tmpl/externals.sgml
new file mode 100644
index 0000000000..cb597cfa76
--- /dev/null
+++ b/docs/libs/tmpl/externals.sgml
@@ -0,0 +1,24 @@
+
+externals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@Returns:
+
+
diff --git a/docs/libs/tmpl/gstcolorspace.sgml b/docs/libs/tmpl/gstcolorspace.sgml
new file mode 100644
index 0000000000..027698d82b
--- /dev/null
+++ b/docs/libs/tmpl/gstcolorspace.sgml
@@ -0,0 +1,156 @@
+
+GstColorSpace
+
+
+Convert between different colorspaces
+
+
+
+The GstColorSpaceConverter can be used to convert between different
+colorspaces. The most common colorspaces conversions are implemented in
+fast MMX assembler.
+
+
+a typical usage pattern is:
+
+ ...
+ GstColorSpaceConverter *converter;
+
+ // we setup a converter for a 100x100 bitmap
+ converter = gst_colorspace_converter_new(100, 100, GST_COLORSPACE_YUV420P,
+ GST_COLORSPACE_RGB565, gdk_visual_get_system());
+
+ ...
+ // perform the conversion
+ gst_colorspace_convert(converter, src, dest);
+ ...
+
+
+
+
+
+
+
+
+
+
+A list of all available colorspaces.
+
+
+@GST_COLORSPACE_RGB555: big endian (0RRRRRGG GGGBBBBB)
+@GST_COLORSPACE_BGR555: little endian (GGGBBBBB 0RRRRRGG)
+@GST_COLORSPACE_RGB565: big endian (RRRRRGGG GGGBBBBB)
+@GST_COLORSPACE_BGR565: little endian (GGGBBBBB RRRRRGGG)
+@GST_COLORSPACE_RGB24: big endian (RRRRRRRR GGGGGGGG BBBBBBBB)
+@GST_COLORSPACE_BGR24: little endian (BBBBBBBB GGGGGGGG RRRRRRRR)
+@GST_COLORSPACE_RGB32: big endian (00000000 RRRRRRRR GGGGGGGG BBBBBBBB)
+@GST_COLORSPACE_BGR32: little endian (BBBBBBBB GGGGGGGG RRRRRRRR 00000000)
+@GST_COLORSPACE_YUV420:
+@GST_COLORSPACE_YUV420P:
+@GST_COLORSPACE_YUV422:
+@GST_COLORSPACE_YUV422P:
+
+
+
+The structure that holds the information about the conversion.
+
+
+@width:
+@height:
+@srcspace:
+@destspace:
+@visual:
+@insize:
+@outsize:
+@color_tables:
+@convert:
+
+
+
+
+
+
+@space:
+@src:
+@dest:
+
+
+
+
+The first RGB GstColorSpaceType
+
+
+
+
+
+
+
+The first YUV GstColorSpaceType
+
+
+
+
+
+
+
+The first YUV GstColorSpaceType
+
+
+
+
+
+
+
+The last RGB GstColorSpaceType
+
+
+
+
+
+
+Check if a given colorspace type is YUV
+
+
+@type: the type to check
+
+
+
+
+
+Check if a given colorspace type is RGB
+
+
+@type: the type to check
+
+
+
+
+Create a new colorspace converter
+
+
+@width: the width of the source and destination bitmap
+@height: the height of the source and destination bitmap
+@srcspace: the source colorspace type
+@destspace: the destination colorspace type
+@destvisual: the destination visual
+@Returns: a new colorspace converter
+
+
+
+
+Perform the conversion
+
+
+@converter: the converter as created with gst_colorspace_converter_new()
+@src: the source bitmap
+@dest: the destination bitmap
+
+
+
+
+Destroys the colorspace converter
+
+
+@space: the colorspace converter to destroy
+
+
diff --git a/docs/libs/tmpl/gstgetbits.sgml b/docs/libs/tmpl/gstgetbits.sgml
new file mode 100644
index 0000000000..0d41ccd75f
--- /dev/null
+++ b/docs/libs/tmpl/gstgetbits.sgml
@@ -0,0 +1,562 @@
+
+GstGetbits
+
+
+Work with bits in an input stream
+
+
+
+the getbits functions can be used to manipulate a bitstream like
+an MPEG stream.
+
+
+
+
+
+
+
+
+
+
+
+
+@ptr:
+@longptr:
+@endptr:
+@length:
+@bits:
+@dword:
+@temp:
+@callback:
+@data:
+@get1bit:
+@getbits:
+@getbits_fast:
+@getbyte:
+@show1bit:
+@showbits:
+@flushbits:
+@backbits:
+
+
+
+The callback function definition.
+
+
+@gb: a pointer to the getbits structure
+@data: user data
+
+
+
+
+
+
+
+@gb:
+@callback:
+@data:
+
+
+
+
+
+
+
+@gb:
+@buffer:
+@len:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+Align the parser to the next byte in the input.
+
+
+@gb: the bit parser
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb: the bit parser
+
+
+
+
+
+
+
+@gb: the bit parser
+@n:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb: the bit parser
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
diff --git a/docs/libs/tmpl/gstgetbits_inl.sgml b/docs/libs/tmpl/gstgetbits_inl.sgml
new file mode 100644
index 0000000000..9da58f05a2
--- /dev/null
+++ b/docs/libs/tmpl/gstgetbits_inl.sgml
@@ -0,0 +1,626 @@
+
+gstgetbits_inl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
+
+
+
+
+
+@src:
+@dst:
+
+
+
+
+
+
+
+@src:
+@dst:
+
+
+
+
+
+
+
+@x:
+
+
+
+
+
+
+
+@gb:
+@callback:
+@data:
+
+
+
+
+
+
+
+@gb:
+@buffer:
+@len:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+@mask:
+@shift:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+@mask:
+@shift:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
+
+
+
+
+
+@gb:
+
+
+
+
+
+
+
+@gb:
+@num:
+
+
diff --git a/docs/libs/tmpl/gstidct.sgml b/docs/libs/tmpl/gstidct.sgml
new file mode 100644
index 0000000000..21c8445388
--- /dev/null
+++ b/docs/libs/tmpl/gstidct.sgml
@@ -0,0 +1,89 @@
+
+GstIDCT
+
+
+Inverse cosine transform
+
+
+
+The inverse cosine transform is used in MPEG video. This module
+contains various implementations of this algorithm.
+
+
+
+
+
+
+
+
+
+The different IDCT methods available
+
+
+@GST_IDCT_DEFAULT: The fastest IEEE compliant implementation for this machine
+@GST_IDCT_INT: integer IDCT
+@GST_IDCT_FAST_INT: fastest integer
+@GST_IDCT_FLOAT: accurate float version
+@GST_IDCT_MMX: fast MMX (not IEEE compliant)
+@GST_IDCT_MMX32: accurate MMX
+
+
+
+
+
+
+@convert:
+@convert_sparse:
+@need_transpose:
+
+
+
+The definition of the actual implementation of the IDCT transform
+
+
+@block: the block to transform
+
+
+
+
+Query if this the transformer needs transposed input
+
+
+@idct: the transformer
+
+
+
+
+Create a new IDCT transformer
+
+
+@method: the desired method
+@Returns: the new transformer
+
+
+
+
+Perform the conversion
+
+
+@idct: the transformer
+@blocks: a pointer to the blocks
+
+
+
+
+Perform a sparse conversion
+
+
+@idct: the transformer
+@blocks: the blocks
+
+
+
+
+Destroy the transformer
+
+
+@idct: the transformer to destroy
+
+
diff --git a/docs/libs/tmpl/gstputbits.sgml b/docs/libs/tmpl/gstputbits.sgml
new file mode 100644
index 0000000000..2b74e20188
--- /dev/null
+++ b/docs/libs/tmpl/gstputbits.sgml
@@ -0,0 +1,292 @@
+
+GstPutbits
+
+
+Write bits into a memory buffer
+
+
+
+The putbits library can be used to write out a bit stream.
+
+
+
+
+
+
+
+
+
+
+
+
+@outbfr:
+@outbase:
+@temp:
+@outcnt:
+@bytecnt:
+@len:
+@newlen:
+
+
+
+Initialize the bit writer
+
+
+@pb: the putbits structure
+
+
+
+
+Prepare the putbits structure for writing len bytes. A new buffer
+with the given length will be allocated which you must free.
+
+
+@pb: the putbits structure
+@len: the bytes that are going to be written
+
+
+
+
+Prepare the putbits structure for writing len bytes. The bits
+will be written in the supplied buffer.
+
+
+@pb: the putbits structure
+@buffer: the buffer to write the bits in
+@len: the length of the buffer
+
+
+
+
+Align the bits to the next byte. The buffer will be filled with zeroes.
+
+
+@pb: the putbits structure
+
+
+
+
+Get the number of bits written to the buffer
+
+
+@pb: the putbits structure
+@Returns: the number of bits written
+
+
+
+
+Put one bit in the buffer
+
+
+@gb: the putbits structure
+@val: the value of the bit to put in the buffer
+
+
+
+
+Put 2 bits into the buffer
+
+
+@gb: the putbits structure
+@val: the value of the bits to put in the buffer
+
+
+
+
+
+
+
+@gb: the putbits structure
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+
+
+
+@gb:
+@val:
+
+
+
+
+Put a variable number of bits into the buffer
+
+
+@gb: the putbits structure
+@val: the value of the bits to put into the buffer
+@n: the number of bits to put into the buffer
+
+
diff --git a/docs/libs/tmpl/gstriff.sgml b/docs/libs/tmpl/gstriff.sgml
new file mode 100644
index 0000000000..f27f983c81
--- /dev/null
+++ b/docs/libs/tmpl/gstriff.sgml
@@ -0,0 +1,1225 @@
+
+GstRiff
+
+
+AVI parser and encoder library
+
+
+
+
+
+
+
+
+
+
+
+
+
+The various functions may return the following values:
+
+
+@GST_RIFF_OK: no error
+@GST_RIFF_ENOTRIFF: no riff header found
+@GST_RIFF_EINVAL: invalied parameters given
+@GST_RIFF_ENOMEM: no memory
+
+
+
+Internal state of the parser
+
+
+@GST_RIFF_STATE_INITIAL:
+@GST_RIFF_STATE_HASAVIH:
+@GST_RIFF_STATE_HASSTRH:
+@GST_RIFF_STATE_HASSTRF:
+@GST_RIFF_STATE_MOVI:
+
+
+
+Create a FOURCC
+
+
+@a:
+@b:
+@c:
+@d:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@us_frame:
+@max_bps:
+@pad_gran:
+@flags:
+@init_frames:
+@streams:
+@bufsize:
+@width:
+@height:
+@scale:
+@rate:
+@start:
+@length:
+
+
+
+
+
+
+@type:
+@fcc_handler:
+@flags:
+@init_frames:
+@scale:
+@rate:
+@start:
+@length:
+@bufsize:
+@quality:
+@samplesize:
+
+
+
+
+
+
+@size:
+@width:
+@height:
+@planes:
+@bit_cnt:
+@compression:
+@image_size:
+@xpels_meter:
+@ypels_meter:
+@num_colors:
+@imp_colors:
+
+
+
+
+
+
+@format:
+@rate:
+@av_bps:
+@blockalign:
+@size:
+
+
+
+
+
+
+@id:
+@size:
+@type:
+
+
+
+
+
+
+@id:
+@size:
+@type:
+
+
+
+
+
+
+@id:
+@size:
+
+
+
+
+
+
+@form:
+@chunks:
+@incomplete_chunk:
+@incomplete_chunk_size:
+@state:
+@curoffset:
+@nextlikely:
+@dataleft:
+@dataleft_size:
+@new_tag_found:
+@callback_data:
+
+
+
+
+
+
+@offset:
+@id:
+@size:
+@form:
+@data:
+
+
+
+
+
+
+@chunk:
+@data:
+
+
+
+
+Create a new riff parser
+
+
+@function: the function that will be called when a new chunk has been found
+@data: the data to include in the function
+@Returns: a new riff structure
+
+
+
+
+Subit a new buffer to the parser
+
+
+@riff: the riff parser
+@buf: a buffer
+@off: the offset of the buffer in the stream
+@Returns: one of the return values
+
+
+
+
+Create a new riff encoder
+
+
+@type: the type riff stream to encode
+@Returns: a riff structure
+
+
+
+
+Submit a new avi header to the encoder
+
+
+@riff: the encoder
+@head: the header
+@size: the size of the dat in the body
+@Returns: a status
+
+
+
+
+Submit a new stream header to the encoder
+
+
+@riff: the encoder
+@fcc_type: the fourcc type
+@head: the header
+@size: the size of the body
+@Returns: a status
+
+
+
+
+Submit a new stream form to the encoder
+
+
+@riff: the encoder
+@format: the format
+@size: the size
+@Returns: a status
+
+
+
+
+submit a new chunk to the encoder
+
+
+@riff: the encoder
+@chunk_type: the chunk type
+@chunk: the chunk
+@size: the size of the chunk data
+@Returns: a status
+
+
+
+
+Get the buffer that is currently constructed in the encoder
+
+
+@riff: the encoder
+@Returns: the buffer
+
+
+
+
+Get the buffer that is currently constructed in the encoder and clear it
+
+
+@riff: the encoder
+@Returns: the buffer
+
+
+
+
+Convert a fourcc to an id
+
+
+@fourcc: the fourcc
+@Returns: the id value
+
+
+
+
+Convert an id to a fourcc
+
+
+@id: the id
+@Returns: the fourcc. You must free the data if it is no longer needed.
+
+
diff --git a/docs/libs/tmpl/gstvideoscale.sgml b/docs/libs/tmpl/gstvideoscale.sgml
new file mode 100644
index 0000000000..62199acb3e
--- /dev/null
+++ b/docs/libs/tmpl/gstvideoscale.sgml
@@ -0,0 +1,85 @@
+
+GstVideoScale
+
+
+Scale a video buffer
+
+
+
+This library implements a scaling algorithm for video buffers.
+
+
+
+
+
+
+
+
+
+the different scaling methods available.
+
+
+@GST_VIDEOSCALE_POINT_SAMPLE: perform a point sample filter
+@GST_VIDEOSCALE_NEAREST: use a nearest neighbor algorithm
+@GST_VIDEOSCALE_BILINEAR: use a bilinear filter
+@GST_VIDEOSCALE_BICUBIC: use a bicubic filter
+
+
+
+
+
+
+@source_width:
+@source_height:
+@dest_width:
+@dest_height:
+@format:
+@method:
+@copy_row:
+@temp:
+@scale:
+@scaler:
+@filter:
+
+
+
+the actual scaler implementation
+
+
+@scale:
+@src:
+@dest:
+
+
+
+
+Create a new video scaler
+
+
+@sw: the width of the source bitmap
+@sh: the height of the source bitmap
+@dw: the width of the destination bitmap
+@dh: the height of the destination bitmap
+@format: the format of the source and destination bitmaps
+@method: the filter method
+@Returns: a new scaler
+
+
+
+
+Perform the scale
+
+
+@scaler: the scaler
+@src: the source buffer
+@dest: the destination buffer
+
+
+
+
+Destroy the scaler
+
+
+@scale: the scaler to destroy
+
+
diff --git a/docs/libs/tmpl/wineacm.sgml b/docs/libs/tmpl/wineacm.sgml
new file mode 100644
index 0000000000..ad147f1e4b
--- /dev/null
+++ b/docs/libs/tmpl/wineacm.sgml
@@ -0,0 +1,95 @@
+
+wineacm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@pszDriverAlias:
+@pszFileName:
+@hinstModule:
+@Returns:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@p:
+@Returns:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@hDriverID:
+@Returns:
+
+
+
+
+
+
+
+@hDriver:
+@Returns:
+
+
+
+
+
+
+
+@hObj:
+@Returns:
+
+