From f1d7c16d8d284540e87f8b101fbda455cfc8fc7f Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 3 Jan 2003 12:40:10 +0000 Subject: pphelp git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8737 b3059339-0415-0410-9bf9-f77b7e298cf2 --- cfg-common.h | 1 + cfg-mencoder.h | 1 + cfg-mplayer.h | 2 +- libmpcodecs/vf_pp.c | 5 ----- m_option.c | 20 +++++++++++++++++++- m_option.h | 2 ++ 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/cfg-common.h b/cfg-common.h index a41e015614..bbacaa058f 100644 --- a/cfg-common.h +++ b/cfg-common.h @@ -141,6 +141,7 @@ {"oldpp", "MPlayer was compiled without opendivx library\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, #endif {"npp", "-npp has been removed, use -vop pp and read the fine manual\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, + {"pphelp", &pp_help, CONF_TYPE_PRINT_INDIRECT, CONF_NOCFG, 0, 0, NULL}, {"vop", &vo_plugin_args, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL}, diff --git a/cfg-mencoder.h b/cfg-mencoder.h index 51c694999c..1a87f99566 100644 --- a/cfg-mencoder.h +++ b/cfg-mencoder.h @@ -14,6 +14,7 @@ extern int use_old_pp; extern int sws_flags; extern int readPPOpt(void *, char *arg); extern void revertPPOpt(void *conf, char* opt); +extern char *pp_help; #ifdef HAVE_DIVX4ENCORE extern struct config divx4opts_conf[]; diff --git a/cfg-mplayer.h b/cfg-mplayer.h index d28949e8b0..06baf818c3 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -160,7 +160,7 @@ struct config jpeg_conf[]={ extern int sws_flags; extern int readPPOpt(void *conf, char *arg); extern void revertPPOpt(void *conf, char* opt); - +extern char* pp_help; /* * CONF_TYPE_FUNC_FULL : diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c index 982b4bbd86..16888e0221 100644 --- a/libmpcodecs/vf_pp.c +++ b/libmpcodecs/vf_pp.c @@ -152,11 +152,6 @@ static int open(vf_instance_t *vf, char* args){ if(!vf->priv->outfmt) return 0; // no csp match :( if(args){ - if(!strcmp("help", args)){ - printf("%s", pp_help); - exit(1); - } - hex_mode= strtol(args, &endptr, 0); if(*endptr){ name= args; diff --git a/m_option.c b/m_option.c index 14da9809c4..95f895ca04 100644 --- a/m_option.c +++ b/m_option.c @@ -765,7 +765,11 @@ m_option_type_t m_option_type_func = { /////////////////// Print static int parse_print(m_option_t* opt,char *name, char *param, void* dst, int src) { - mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", (char *) opt->p); + if(opt->type->flags&M_OPT_TYPE_INDIRECT) + mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", *(char **) opt->p); + else + mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", (char *) opt->p); + if(opt->priv == NULL) exit(1); // Call something else instead ?? return 1; @@ -784,6 +788,20 @@ m_option_type_t m_option_type_print = { NULL }; +m_option_type_t m_option_type_print_indirect = { + "Print", + "", + 0, + M_OPT_TYPE_INDIRECT, + parse_print, + NULL, + NULL, + NULL, + NULL, + NULL +}; + + /////////////////////// Subconfig #undef VAL #define VAL(x) (*(char***)(x)) diff --git a/m_option.h b/m_option.h index 1b0c4cde62..03cb3645c7 100644 --- a/m_option.h +++ b/m_option.h @@ -17,6 +17,7 @@ extern m_option_type_t m_option_type_string_list; extern m_option_type_t m_option_type_position; extern m_option_type_t m_option_type_print; +extern m_option_type_t m_option_type_print_indirect; extern m_option_type_t m_option_type_subconfig; extern m_option_type_t m_option_type_imgfmt; @@ -59,6 +60,7 @@ extern m_option_type_t m_option_type_span; #define CONF_TYPE_FUNC (&m_option_type_func) #define CONF_TYPE_FUNC_PARAM (&m_option_type_func_param) #define CONF_TYPE_PRINT (&m_option_type_print) +#define CONF_TYPE_PRINT_INDIRECT (&m_option_type_print_indirect) #define CONF_TYPE_FUNC_FULL (&m_option_type_func_full) #define CONF_TYPE_SUBCONFIG (&m_option_type_subconfig) #define CONF_TYPE_STRING_LIST (&m_option_type_string_list) -- cgit v1.2.3