summaryrefslogtreecommitdiff
path: root/xine/post_util.h
diff options
context:
space:
mode:
authorphintuka <phintuka>2008-02-28 06:06:08 +0000
committerphintuka <phintuka>2008-02-28 06:06:08 +0000
commitb84d7244e5d9be2a34c884085b6b74fa57bd3ca1 (patch)
tree33a5620e0e7bd77c6bb5266f2932ce5db77a7db7 /xine/post_util.h
parent76ec289bf346ad74c06bbbbaf96715305d25353b (diff)
downloadxineliboutput-b84d7244e5d9be2a34c884085b6b74fa57bd3ca1.tar.gz
xineliboutput-b84d7244e5d9be2a34c884085b6b74fa57bd3ca1.tar.bz2
Updated to post plugin interface version 10 (xine-lib 1.2 branch)
Diffstat (limited to 'xine/post_util.h')
-rw-r--r--xine/post_util.h33
1 files changed, 32 insertions, 1 deletions
diff --git a/xine/post_util.h b/xine/post_util.h
index c3607e53..2c1fb34e 100644
--- a/xine/post_util.h
+++ b/xine/post_util.h
@@ -4,18 +4,27 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: post_util.h,v 1.1 2008-02-19 01:24:19 phintuka Exp $
+ * $Id: post_util.h,v 1.2 2008-02-28 06:06:08 phintuka Exp $
*
*/
+#if POST_PLUGIN_IFACE_VERSION < 9
+# warning POST_PLUGIN_IFACE_VERSION < 9 not supported !
+#endif
+#if POST_PLUGIN_IFACE_VERSION > 10
+# warning POST_PLUGIN_IFACE_VERSION > 10 not supported !
+#endif
+
/*
* class util prototypes
*/
static void *init_plugin(xine_t *xine, void *data);
+#if POST_PLUGIN_IFACE_VERSION < 10
static char *get_identifier(post_class_t *class_gen);
static char *get_description(post_class_t *class_gen);
static void class_dispose(post_class_t *class_gen);
+#endid
/* required from plugin: */
static post_plugin_t *open_plugin(post_class_t *class_gen, int inputs,
@@ -29,6 +38,9 @@ static post_plugin_t *open_plugin(post_class_t *class_gen, int inputs,
static int dispatch_draw(vo_frame_t *frame, xine_stream_t *stream);
static int intercept_frame_yuy(post_video_port_t *port, vo_frame_t *frame);
static int post_draw(vo_frame_t *frame, xine_stream_t *stream);
+#ifdef ENABLE_SLICED
+static void dispatch_slice(vo_frame_t *vo_img, uint8_t **src);
+#endif
/* required from plugin: */
static vo_frame_t *got_frame(vo_frame_t *frame);
@@ -47,13 +59,20 @@ static void *init_plugin(xine_t *xine, void *data)
return NULL;
class->open_plugin = open_plugin;
+#if POST_PLUGIN_IFACE_VERSION < 10
class->get_identifier = get_identifier;
class->get_description = get_description;
class->dispose = class_dispose;
+#else
+ class->identifier = PLUGIN_ID;
+ class->description = PLUGIN_DESCR;
+ class->dispose = default_post_class_dispose;
+#endif
return class;
}
+#if POST_PLUGIN_IFACE_VERSION < 10
static char *get_identifier(post_class_t *class_gen)
{
return PLUGIN_ID;
@@ -68,11 +87,23 @@ static void class_dispose(post_class_t *class_gen)
{
free(class_gen);
}
+#endif
/*
* plugin utils
*/
+#ifdef ENABLE_SLICED
+static void dispatch_slice(vo_frame_t *vo_img, uint8_t **src)
+{
+ if (vo_img->next->proc_slice) {
+ _x_post_frame_copy_down(vo_img, vo_img->next);
+ vo_img->next->proc_slice(vo_img->next, src);
+ _x_post_frame_copy_up(vo_img, vo_img->next);
+ }
+}
+#endif
+
static int dispatch_draw(vo_frame_t *frame, xine_stream_t *stream)
{
int skip;