summaryrefslogtreecommitdiff
path: root/src/post/deinterlace/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/post/deinterlace/plugins')
-rw-r--r--src/post/deinterlace/plugins/double.c9
-rw-r--r--src/post/deinterlace/plugins/greedy.c29
-rw-r--r--src/post/deinterlace/plugins/greedy2frame.c10
-rw-r--r--src/post/deinterlace/plugins/linear.c29
-rw-r--r--src/post/deinterlace/plugins/linearblend.c43
-rw-r--r--src/post/deinterlace/plugins/plugins.h46
-rw-r--r--src/post/deinterlace/plugins/scalerbob.c29
-rw-r--r--src/post/deinterlace/plugins/vfir.c29
-rw-r--r--src/post/deinterlace/plugins/weave.c29
9 files changed, 109 insertions, 144 deletions
diff --git a/src/post/deinterlace/plugins/double.c b/src/post/deinterlace/plugins/double.c
index 6d10fb270..86f2e5210 100644
--- a/src/post/deinterlace/plugins/double.c
+++ b/src/post/deinterlace/plugins/double.c
@@ -73,12 +73,7 @@ static deinterlace_method_t doublemethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void double_plugin_init( void )
-#endif
+deinterlace_method_t *double_get_method( void )
{
- register_deinterlace_method( &doublemethod );
+ return &doublemethod;
}
-
diff --git a/src/post/deinterlace/plugins/greedy.c b/src/post/deinterlace/plugins/greedy.c
index 503f8dd34..8acb12c09 100644
--- a/src/post/deinterlace/plugins/greedy.c
+++ b/src/post/deinterlace/plugins/greedy.c
@@ -4,19 +4,20 @@
*
* This code is ported from DScaler: http://deinterlace.sf.net/
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser 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.
*/
#ifdef HAVE_CONFIG_H
@@ -199,12 +200,8 @@ static deinterlace_method_t greedymethod =
"deinterlacer from DScaler." }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void greedy_plugin_init( void )
-#endif
+deinterlace_method_t *greedy_get_method( void )
{
- register_deinterlace_method( &greedymethod );
+ return &greedymethod;
}
diff --git a/src/post/deinterlace/plugins/greedy2frame.c b/src/post/deinterlace/plugins/greedy2frame.c
index dac7d488c..2e0f6eeb2 100644
--- a/src/post/deinterlace/plugins/greedy2frame.c
+++ b/src/post/deinterlace/plugins/greedy2frame.c
@@ -51,7 +51,7 @@ static int GreedyTwoFrameThreshold2 = 8;
#include "greedy2frame_template.c"
#undef IS_SSE
-static deinterlace_method_t greedymethod =
+static deinterlace_method_t greedy2framemethod =
{
"Greedy - 2-frame (DScaler)",
"Greedy2Frame",
@@ -75,12 +75,8 @@ static deinterlace_method_t greedymethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void greedy2frame_plugin_init( void )
-#endif
+deinterlace_method_t *greedy2frame_get_method( void )
{
- register_deinterlace_method( &greedymethod );
+ return &greedy2framemethod;
}
diff --git a/src/post/deinterlace/plugins/linear.c b/src/post/deinterlace/plugins/linear.c
index 8392cf185..4733cfbc8 100644
--- a/src/post/deinterlace/plugins/linear.c
+++ b/src/post/deinterlace/plugins/linear.c
@@ -1,19 +1,20 @@
/**
* Copyright (C) 2002 Billy Biggs <vektor@dumbterm.net>.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser 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.
*/
#ifdef HAVE_CONFIG_H
@@ -75,12 +76,8 @@ static deinterlace_method_t linearmethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void linear_plugin_init( void )
-#endif
+deinterlace_method_t *linear_get_method( void )
{
- register_deinterlace_method( &linearmethod );
+ return &linearmethod;
}
diff --git a/src/post/deinterlace/plugins/linearblend.c b/src/post/deinterlace/plugins/linearblend.c
index a0102fba4..10cd11c3a 100644
--- a/src/post/deinterlace/plugins/linearblend.c
+++ b/src/post/deinterlace/plugins/linearblend.c
@@ -1,24 +1,22 @@
/**
- * Linear blend deinterlacing plugin. The algorithm for this filter is based
- * on the mythtv sources, which took it from the mplayer sources.
+ * Linear blend deinterlacing plugin. The idea for this algorithm came
+ * from the linear blend deinterlacer which originated in the mplayer
+ * sources.
*
- * The file is postprocess_template.c in mplayer, and is
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * Copyright (C) 2001-2002 Michael Niedermayer (michaelni@gmx.at)
+ * 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
+ * Lesser General Public License for more details.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU Lesser 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.
*/
#ifdef HAVE_CONFIG_H
@@ -362,16 +360,13 @@ static deinterlace_method_t linearblendmethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void linearblend_plugin_init( void )
-#endif
+deinterlace_method_t *linearblend_get_method( void )
{
#ifdef ARCH_X86
if( xine_mm_accel() & MM_ACCEL_X86_MMXEXT )
- register_deinterlace_method( &linearblendmethod_mmxext );
+ return &linearblendmethod_mmxext;
else
#endif
- register_deinterlace_method( &linearblendmethod );
+ return &linearblendmethod;
}
+
diff --git a/src/post/deinterlace/plugins/plugins.h b/src/post/deinterlace/plugins/plugins.h
index b39623bc1..b42c0cbc8 100644
--- a/src/post/deinterlace/plugins/plugins.h
+++ b/src/post/deinterlace/plugins/plugins.h
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2002 Billy Biggs <vektor@dumbterm.net>.
+ * Copyright (C) 2002, 2004 Billy Biggs <vektor@dumbterm.net>.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,33 +20,27 @@
#define TVTIME_PLUGINS_H_INCLUDED
/**
- * tvtime has a plugin system for deinterlacer plugins.
- * However, at this point it's a bit silly to bother using
- * them as 'dynamic' plugins. So, for the standard plugins,
- * we allow them to be built into the executable, and their
- * initializer methods go here.
+ * tvtime was going to have a plugin system, but there
+ * was never any interest in it outside of tvtime, so instead
+ * we include all deinterlacer methods right in the tvtime
+ * executable.
*/
-void greedy_plugin_init( void );
-void greedy2frame_plugin_init( void );
-void twoframe_plugin_init( void );
-void linear_plugin_init( void );
-void weave_plugin_init( void );
-void videobob_plugin_init( void );
-void double_plugin_init( void );
-void linearblend_plugin_init( void );
-void scalerbob_plugin_init( void );
-void simplemo_plugin_init( void );
-void gamedither_plugin_init( void );
-void vfir_plugin_init( void );
+#include <deinterlace.h>
-void dscaler_greedy2frame_plugin_init( void );
-void dscaler_twoframe_plugin_init( void );
-void dscaler_greedyh_plugin_init( void );
-void dscaler_greedy_plugin_init( void );
-void dscaler_videobob_plugin_init( void );
-void dscaler_videoweave_plugin_init( void );
-void dscaler_oldgame_plugin_init( void );
-void dscaler_tomsmocomp_plugin_init( void );
+deinterlace_method_t *greedy_get_method( void );
+deinterlace_method_t *greedy2frame_get_method( void );
+deinterlace_method_t *weave_get_method( void );
+deinterlace_method_t *double_get_method( void );
+deinterlace_method_t *linear_get_method( void );
+deinterlace_method_t *scalerbob_get_method( void );
+deinterlace_method_t *linearblend_get_method( void );
+deinterlace_method_t *vfir_get_method( void );
+deinterlace_method_t *dscaler_tomsmocomp_get_method( void );
+deinterlace_method_t *dscaler_greedyh_get_method( void );
+deinterlace_method_t *greedy_get_method( void );
+deinterlace_method_t *weave_get_method( void );
+deinterlace_method_t *weavetff_get_method( void );
+deinterlace_method_t *weavebff_get_method( void );
#endif /* TVTIME_PLUGINS_H_INCLUDED */
diff --git a/src/post/deinterlace/plugins/scalerbob.c b/src/post/deinterlace/plugins/scalerbob.c
index a5318b4ea..e20dfd8ae 100644
--- a/src/post/deinterlace/plugins/scalerbob.c
+++ b/src/post/deinterlace/plugins/scalerbob.c
@@ -3,19 +3,20 @@
*
* Copyright (C) 2002 Billy Biggs <vektor@dumbterm.net>.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser 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.
*/
@@ -63,12 +64,8 @@ static deinterlace_method_t scalerbobmethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void scalerbob_plugin_init( void )
-#endif
+deinterlace_method_t *scalerbob_get_method( void )
{
- register_deinterlace_method( &scalerbobmethod );
+ return &scalerbobmethod;
}
diff --git a/src/post/deinterlace/plugins/vfir.c b/src/post/deinterlace/plugins/vfir.c
index f96111ce9..9274a5885 100644
--- a/src/post/deinterlace/plugins/vfir.c
+++ b/src/post/deinterlace/plugins/vfir.c
@@ -6,19 +6,20 @@
*
* tvtime port Copyright (C) 2003 Billy Biggs <vektor@dumbterm.net>.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser 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.
*/
#ifdef HAVE_CONFIG_H
@@ -159,12 +160,8 @@ static deinterlace_method_t vfirmethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void vfir_plugin_init( void )
-#endif
+deinterlace_method_t *vfir_get_method( void )
{
- register_deinterlace_method( &vfirmethod );
+ return &vfirmethod;
}
diff --git a/src/post/deinterlace/plugins/weave.c b/src/post/deinterlace/plugins/weave.c
index 06b34ad7a..77fe4bfa2 100644
--- a/src/post/deinterlace/plugins/weave.c
+++ b/src/post/deinterlace/plugins/weave.c
@@ -3,19 +3,20 @@
*
* Copyright (C) 2002 Billy Biggs <vektor@dumbterm.net>.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
+ * 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 General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser 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.
*/
#ifdef HAVE_CONFIG_H
@@ -73,12 +74,8 @@ static deinterlace_method_t weavemethod =
"" }
};
-#ifdef BUILD_TVTIME_PLUGINS
-void deinterlace_plugin_init( void )
-#else
-void weave_plugin_init( void )
-#endif
+deinterlace_method_t *weave_get_method( void )
{
- register_deinterlace_method( &weavemethod );
+ return &weavemethod;
}