1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-19 18:05:21 +00:00

Support for the new options stuff

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9600 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
albeu 2003-03-15 20:45:03 +00:00
parent 72cd49c5f2
commit 1842f12170
2 changed files with 51 additions and 4 deletions

View File

@ -9,9 +9,15 @@
#include "mp_image.h"
#include "vf.h"
struct vf_priv_s {
#include "m_option.h"
#include "m_struct.h"
static struct vf_priv_s {
int crop_w,crop_h;
int crop_x,crop_y;
} vf_priv_dflt = {
-1,-1,
-1,-1
};
extern int opt_screen_size_x;
@ -91,12 +97,14 @@ static int open(vf_instance_t *vf, char* args){
vf->config=config;
vf->put_image=put_image;
vf->default_reqs=VFCAP_ACCEPT_STRIDE;
if(!vf->priv) {
vf->priv=malloc(sizeof(struct vf_priv_s));
// TODO: parse args ->
vf->priv->crop_x=
vf->priv->crop_y=
vf->priv->crop_w=
vf->priv->crop_h=-1;
} //if(!vf->priv)
if(args) sscanf(args, "%d:%d:%d:%d",
&vf->priv->crop_w,
&vf->priv->crop_h,
@ -110,13 +118,29 @@ static int open(vf_instance_t *vf, char* args){
return 1;
}
#define ST_OFF(f) M_ST_OFF(struct vf_priv_s,f)
static m_option_t vf_opts_fields[] = {
{"w", ST_OFF(crop_w), CONF_TYPE_INT, M_OPT_MIN,1 ,0, NULL},
{"h", ST_OFF(crop_h), CONF_TYPE_INT, M_OPT_MIN,1 ,0, NULL},
{"x", ST_OFF(crop_x), CONF_TYPE_INT, M_OPT_MIN,0 ,0, NULL},
{"y", ST_OFF(crop_y), CONF_TYPE_INT, M_OPT_MIN,0 ,0, NULL},
{ NULL, NULL, 0, 0, 0, 0, NULL }
};
static m_struct_t vf_opts = {
"crop",
sizeof(struct vf_priv_s),
&vf_priv_dflt,
vf_opts_fields
};
vf_info_t vf_info_crop = {
"cropping",
"crop",
"A'rpi",
"",
open,
NULL
&vf_opts
};
//===========================================================================//

View File

@ -15,10 +15,17 @@
#include "../libvo/fastmemcpy.h"
#include "../postproc/rgb2rgb.h"
struct vf_priv_s {
#include "m_option.h"
#include "m_struct.h"
static struct vf_priv_s {
unsigned char *buf;
int brightness;
int contrast;
} vf_priv_dflt = {
NULL,
0,
0
};
#ifdef HAVE_MMX
@ -202,8 +209,10 @@ static int open(vf_instance_t *vf, char* args)
vf->put_image=put_image;
vf->uninit=uninit;
if(!vf->priv) {
vf->priv = malloc(sizeof(struct vf_priv_s));
memset(vf->priv, 0, sizeof(struct vf_priv_s));
}
if (args) sscanf(args, "%d:%d", &vf->priv->brightness, &vf->priv->contrast);
process = process_C;
@ -214,12 +223,26 @@ static int open(vf_instance_t *vf, char* args)
return 1;
}
#define ST_OFF(f) M_ST_OFF(struct vf_priv_s,f)
static m_option_t vf_opts_fields[] = {
{"brightness", ST_OFF(brightness), CONF_TYPE_INT, M_OPT_RANGE,-100 ,100, NULL},
{"contrast", ST_OFF(contrast), CONF_TYPE_INT, M_OPT_RANGE,-100 ,100, NULL},
{ NULL, NULL, 0, 0, 0, 0, NULL }
};
static m_struct_t vf_opts = {
"eq",
sizeof(struct vf_priv_s),
&vf_priv_dflt,
vf_opts_fields
};
vf_info_t vf_info_eq = {
"soft video equalizer",
"eq",
"Richard Felker",
"",
open,
NULL
&vf_opts
};