summaryrefslogtreecommitdiffstats
path: root/gst/smpte/gstmask.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-10-10 21:19:12 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-10-10 21:19:12 +0000
commitbc93903d019bd83f382c2d4b93f1e08d761405a7 (patch)
tree4a708c323de9105cfd1c0266e5054e17aede2fa4 /gst/smpte/gstmask.h
parent91dd5fe45456df3f2dca4ef9faa286513aa48ad0 (diff)
Added the base framework for the SMPTE transitions and wipes.
Original commit message from CVS: Added the base framework for the SMPTE transitions and wipes.
Diffstat (limited to 'gst/smpte/gstmask.h')
-rw-r--r--gst/smpte/gstmask.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/gst/smpte/gstmask.h b/gst/smpte/gstmask.h
new file mode 100644
index 00000000..f53fb99f
--- /dev/null
+++ b/gst/smpte/gstmask.h
@@ -0,0 +1,73 @@
+/* GStreamer
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+#ifndef __GST_MASK_H__
+#define __GST_MASK_H__
+
+#include <gst/gst.h>
+
+
+typedef struct _GstMask GstMask;
+typedef struct _GstMaskDefinition GstMaskDefinition;
+
+typedef GstMask* (*GstMaskNewFunc) (GstMaskDefinition *definition,
+ gint bpp, gint width, gint height);
+typedef void (*GstMaskDestroyFunc) (GstMask *mask);
+typedef void (*GstMaskUpdateFunc) (GstMask *mask,
+ GstClockTime position,
+ GstClockTime duration);
+struct _GstMaskDefinition {
+ gint type;
+ gchar *short_name;
+ gchar *long_name;
+ GstMaskNewFunc new_func;
+ GstMaskDestroyFunc destroy_func;
+ GstMaskUpdateFunc update_func;
+};
+
+struct _GstMask {
+ gint type;
+ guint8 *data;
+
+ gint width;
+ gint height;
+ gint bpp;
+
+ GstMaskUpdateFunc update_func;
+ GstMaskDestroyFunc destroy_func;
+};
+
+void _gst_mask_init (void);
+void _gst_mask_register (GstMaskDefinition *definition);
+
+GstMask* _gst_mask_default_new (GstMaskDefinition *definition,
+ gint bpp, gint width, gint height);
+void _gst_mask_default_destroy (GstMask *mask);
+
+const GList* gst_mask_get_definitions (void);
+GstMask* gst_mask_factory_new (gint type, gint bpp, gint width, gint height);
+void gst_mask_destroy (GstMask *mask);
+
+void gst_mask_update (GstMask *mask,
+ GstClockTime position,
+ GstClockTime duration);
+
+
+#endif /* __GST_MASK_H__ */