summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-11-01 18:34:22 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-11-01 18:34:22 +0000
commitcede4748a3a045fad768f0cfd19b48b2d201292d (patch)
tree1e4e6c388ab358526e278ddef8b505bf557af4e1
parent59c1677f44a7215754f155a20189572fb9dc4233 (diff)
downloadxine-lib-cede4748a3a045fad768f0cfd19b48b2d201292d.tar.gz
xine-lib-cede4748a3a045fad768f0cfd19b48b2d201292d.tar.bz2
provide help to video post plugins
CVS patchset: 5669 CVS date: 2003/11/01 18:34:22
-rw-r--r--src/post/deinterlace/xine_plugin.c59
-rw-r--r--src/post/planar/boxblur.c14
-rw-r--r--src/post/planar/denoise3d.c18
-rw-r--r--src/post/planar/eq.c19
-rw-r--r--src/post/planar/eq2.c27
-rw-r--r--src/post/planar/expand.c14
-rw-r--r--src/post/planar/unsharp.c30
7 files changed, 174 insertions, 7 deletions
diff --git a/src/post/deinterlace/xine_plugin.c b/src/post/deinterlace/xine_plugin.c
index f726e231c..2589c5848 100644
--- a/src/post/deinterlace/xine_plugin.c
+++ b/src/post/deinterlace/xine_plugin.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_plugin.c,v 1.20 2003/11/01 13:20:01 miguelfreitas Exp $
+ * $Id: xine_plugin.c,v 1.21 2003/11/01 18:34:22 miguelfreitas Exp $
*
* advanced video deinterlacer plugin
* Jun/2003 by Miguel Freitas
@@ -192,10 +192,67 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("Advanced tvtime/deinterlacer plugin with pulldown detection\n"
+ "This plugin aims to provide deinterlacing mechanisms comparable "
+ "to high quality progressive DVD players and so called "
+ "line-doublers, for use with computer monitors, projectors and "
+ "other progressive display devices.\n"
+ "\n"
+ "Parameters\n"
+ "\n"
+ " Method: Select deinterlacing method/algorithm to use, see below for "
+ "explanation of each method.\n"
+ "\n"
+ " Enabled: Enable/disable the plugin.\n"
+ "\n"
+ " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films "
+ "that have being converted to NTSC can be detected and intelligently "
+ "reconstructed to their original (non-interlaced) frames.\n"
+ "\n"
+ " Framerate_mode: Selecting 'full' will deinterlace every field "
+ "to an unique frame for television quality and beyond. This feature will "
+ "effetively double the frame rate, improving smoothness. Note, however, "
+ "that full 59.94 FPS is not possible with plain 2.4 Linux kernel (that "
+ "use a timer interrupt frequency of 100Hz). Newer RedHat and 2.6 kernels "
+ "use higher HZ settings (512 and 1000, respectively) and should work fine.\n"
+ "\n"
+ " Judder_correction: Once 2-3 pulldown is enabled and a film material "
+ "is detected, it is possible to reduce the frame rate to original rate "
+ "used (24 FPS). This will make the frames evenly spaced in time, "
+ "matching the speed they were shot and eliminating the judder effect.\n"
+ "\n"
+ " Use_progressive_frame_flag: Well mastered MPEG2 streams uses a flag "
+ "to indicate progressive material. This setting control whether we trust "
+ "this flag or not (some rare and buggy mpeg2 streams set it wrong).\n"
+ "\n"
+ " Chroma_filter: DVD/MPEG2 use an interlaced image format that has "
+ "a very poor vertical chroma resolution. Upsampling the chroma for purposes "
+ "of deinterlacing may cause some artifacts to occur (eg. color stripes). Use "
+ "this option to blur the chroma vertically after deinterlacing to remove "
+ "the artifacts. Warning: cpu intensive.\n"
+ "\n"
+ " Cheap_mode: This will skip the expensive YV12->YUY2 image conversion, "
+ "tricking tvtime/dscaler routines like if they were still handling YUY2 "
+ "images. Of course, this is not correct, not all pixels will be evaluated "
+ "by the algorithms to decide the regions to deinterlace and chroma will be "
+ "processed separately. Nevertheless, it allows people with not so fast "
+ "systems to try deinterlace algorithms, in a tradeoff between quality "
+ "and cpu usage.\n"
+ "\n"
+ "Deinterlacing methods: (Not all methods are available for all plataforms)\n"
+ "\n"
+ "(FIXME: explain each method, check tvtime/dscaler docs... i fell lazy)\n"
+ "\n"
+ "* Uses several algorithms from tvtime and dscaler projects.\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_deinterlace_out_s post_deinterlace_out_t;
diff --git a/src/post/planar/boxblur.c b/src/post/planar/boxblur.c
index 1a161cbb4..5f0764239 100644
--- a/src/post/planar/boxblur.c
+++ b/src/post/planar/boxblur.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: boxblur.c,v 1.8 2003/10/22 20:38:10 komadori Exp $
+ * $Id: boxblur.c,v 1.9 2003/11/01 18:34:22 miguelfreitas Exp $
*
* mplayer's boxblur
* Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at>
@@ -101,10 +101,22 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("Box blur does a simple blurring of the image.\n"
+ "\n"
+ "Parameters\n"
+ " Radius: size of the filter\n"
+ " Power: how often the filter should be applied\n"
+ "\n"
+ "* mplayer's boxblur (C) 2002 Michael Niedermayer\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_boxblur_out_s post_boxblur_out_t;
diff --git a/src/post/planar/denoise3d.c b/src/post/planar/denoise3d.c
index 6edeff291..dc5441486 100644
--- a/src/post/planar/denoise3d.c
+++ b/src/post/planar/denoise3d.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: denoise3d.c,v 1.8 2003/10/22 20:38:10 komadori Exp $
+ * $Id: denoise3d.c,v 1.9 2003/11/01 18:34:22 miguelfreitas Exp $
*
* mplayer's denoise3d
* Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org>
@@ -134,10 +134,26 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("This filter aims to reduce image noise producing smooth images and "
+ "making still images really still (This should enhance compressibility.). "
+ "It can be given from 0 to 3 parameters. If you omit a parameter, "
+ "a reasonable value will be inferred.\n"
+ "\n"
+ "Parameters\n"
+ " Luma: Spatial luma strength (default = 4)\n"
+ " Chroma: Spatial chroma strength (default = 3)\n"
+ " Time: Temporal strength (default = 6)\n"
+ "\n"
+ "* mplayer's denoise3d (C) 2003 Daniel Moreno\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_denoise3d_out_s post_denoise3d_out_t;
diff --git a/src/post/planar/eq.c b/src/post/planar/eq.c
index 532785b66..be8deb704 100644
--- a/src/post/planar/eq.c
+++ b/src/post/planar/eq.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: eq.c,v 1.7 2003/10/22 20:38:10 komadori Exp $
+ * $Id: eq.c,v 1.8 2003/11/01 18:34:22 miguelfreitas Exp $
*
* mplayer's eq (soft video equalizer)
* Copyright (C) Richard Felker
@@ -184,10 +184,27 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("Software equalizer with interactive controls just like the hardware "
+ "equalizer, for cards/drivers that do not support brightness and "
+ "contrast controls in hardware.\n"
+ "\n"
+ "Parameters\n"
+ " brightness\n"
+ " contrast\n"
+ "\n"
+ "Note: It is possible to use frontend's control window to set "
+ "these parameters.\n"
+ "\n"
+ "* mplayer's eq (C) Richard Felker\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_eq_out_s post_eq_out_t;
diff --git a/src/post/planar/eq2.c b/src/post/planar/eq2.c
index 289d726da..ee765f382 100644
--- a/src/post/planar/eq2.c
+++ b/src/post/planar/eq2.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: eq2.c,v 1.9 2003/10/22 20:38:10 komadori Exp $
+ * $Id: eq2.c,v 1.10 2003/11/01 18:34:22 miguelfreitas Exp $
*
* mplayer's eq2 (soft video equalizer)
* Software equalizer (brightness, contrast, gamma, saturation)
@@ -356,10 +356,35 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("Alternative software equalizer that uses lookup tables (very slow), "
+ "allowing gamma correction in addition to simple brightness, "
+ "contrast and saturation adjustment.\n"
+ "Note that it uses the same MMX optimized code as 'eq' if all "
+ "gamma values are 1.0.\n"
+ "\n"
+ "Parameters\n"
+ " gamma\n"
+ " brightness\n"
+ " contrast\n"
+ " saturation\n"
+ " rgamma (gamma for the red component)\n"
+ " ggamma (gamma for the green component)\n"
+ " bgamma (gamma for the blue component)\n"
+ "\n"
+ "Value ranges are 0.1 - 10 for gammas, -2 - 2 for contrast "
+ "(negative values result in a negative image), -1 - 1 for "
+ "brightness and 0 - 3 for saturation.\n"
+ "\n"
+ "* mplayer's eq2 (C) Hampa Hug, Daniel Moreno, Richard Felker\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_eq2_out_s post_eq2_out_t;
diff --git a/src/post/planar/expand.c b/src/post/planar/expand.c
index a6db54208..db9436e51 100644
--- a/src/post/planar/expand.c
+++ b/src/post/planar/expand.c
@@ -144,6 +144,18 @@ void *expand_init_plugin(xine_t *xine, void *data)
return class;
}
+static char * get_help (void) {
+ return _("The expand plugin is meant to take frames of arbitrary aspect ratio and "
+ "converts them to 4:3 aspect by adding black bars on the top and bottom "
+ "of the frame. This allows us to shift overlays down into the black area "
+ "so they don't cover the image.\n"
+ "\n"
+ "Parameters (FIXME: better help)\n"
+ " Enable_automatic_shift: Enable automatic overlay shifting\n"
+ " Overlay_y_offset: Manually shift the overlay vertically\n"
+ "\n"
+ );
+}
static post_plugin_t *expand_open_plugin(post_class_t *class_gen, int inputs,
xine_audio_port_t **audio_target,
@@ -155,7 +167,7 @@ static post_plugin_t *expand_open_plugin(post_class_t *class_gen, int inputs,
post_expand_out_t *output = (post_expand_out_t *)malloc(sizeof(post_expand_out_t));
post_video_port_t *port;
static xine_post_api_t post_api =
- { expand_set_parameters, expand_get_parameters, expand_get_param_descr };
+ { expand_set_parameters, expand_get_parameters, expand_get_param_descr, get_help };
if (!this || !input || !input_param || !output || !video_target || !video_target[0]) {
free(this);
diff --git a/src/post/planar/unsharp.c b/src/post/planar/unsharp.c
index 3c11945ef..64283b283 100644
--- a/src/post/planar/unsharp.c
+++ b/src/post/planar/unsharp.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: unsharp.c,v 1.8 2003/10/22 20:38:10 komadori Exp $
+ * $Id: unsharp.c,v 1.9 2003/11/01 18:34:22 miguelfreitas Exp $
*
* mplayer's unsharp
* Copyright (C) 2002 Rémi Guyomarch <rguyom@pobox.com>
@@ -222,10 +222,38 @@ static xine_post_api_descr_t * get_param_descr (void) {
return &param_descr;
}
+static char * get_help (void) {
+ return _("Unsharp mask / gaussian blur\n"
+ "It is possible to set the width and height of the matrix, "
+ "odd sized in both directions (min = 3x3, max = 13x11 or 11x13, "
+ "usually something between 3x3 and 7x7) and the relative amount "
+ "of sharpness/blur to add to the image (a sane range should be "
+ "-1.5 - 1.5).\n"
+ "\n"
+ "Parameters\n"
+ "\n"
+ " Luma_matrix_width: Width of the matrix (must be odd)\n"
+ "\n"
+ " Luma_matrix_height: Height of the matrix (must be odd)\n"
+ "\n"
+ " Luma_amount: Relative amount of sharpness/blur (=0 disable, <0 blur, >0 sharpen)\n"
+ "\n"
+ " Chroma_matrix_width: Width of the matrix (must be odd)\n"
+ "\n"
+ " Chroma_matrix_height: Height of the matrix (must be odd)\n"
+ "\n"
+ " Chroma_amount: Relative amount of sharpness/blur (=0 disable, <0 blur, >0 sharpen)\n"
+ "\n"
+ "\n"
+ "* mplayer's unsharp (C) 2002 Rémi Guyomarch\n"
+ );
+}
+
static xine_post_api_t post_api = {
set_parameters,
get_parameters,
get_param_descr,
+ get_help,
};
typedef struct post_unsharp_out_s post_unsharp_out_t;