mirror of
https://github.com/mpv-player/mpv
synced 2025-03-24 20:31:37 +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:
parent
72cd49c5f2
commit
1842f12170
@ -9,9 +9,15 @@
|
|||||||
#include "mp_image.h"
|
#include "mp_image.h"
|
||||||
#include "vf.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_w,crop_h;
|
||||||
int crop_x,crop_y;
|
int crop_x,crop_y;
|
||||||
|
} vf_priv_dflt = {
|
||||||
|
-1,-1,
|
||||||
|
-1,-1
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int opt_screen_size_x;
|
extern int opt_screen_size_x;
|
||||||
@ -91,12 +97,14 @@ static int open(vf_instance_t *vf, char* args){
|
|||||||
vf->config=config;
|
vf->config=config;
|
||||||
vf->put_image=put_image;
|
vf->put_image=put_image;
|
||||||
vf->default_reqs=VFCAP_ACCEPT_STRIDE;
|
vf->default_reqs=VFCAP_ACCEPT_STRIDE;
|
||||||
|
if(!vf->priv) {
|
||||||
vf->priv=malloc(sizeof(struct vf_priv_s));
|
vf->priv=malloc(sizeof(struct vf_priv_s));
|
||||||
// TODO: parse args ->
|
// TODO: parse args ->
|
||||||
vf->priv->crop_x=
|
vf->priv->crop_x=
|
||||||
vf->priv->crop_y=
|
vf->priv->crop_y=
|
||||||
vf->priv->crop_w=
|
vf->priv->crop_w=
|
||||||
vf->priv->crop_h=-1;
|
vf->priv->crop_h=-1;
|
||||||
|
} //if(!vf->priv)
|
||||||
if(args) sscanf(args, "%d:%d:%d:%d",
|
if(args) sscanf(args, "%d:%d:%d:%d",
|
||||||
&vf->priv->crop_w,
|
&vf->priv->crop_w,
|
||||||
&vf->priv->crop_h,
|
&vf->priv->crop_h,
|
||||||
@ -110,13 +118,29 @@ static int open(vf_instance_t *vf, char* args){
|
|||||||
return 1;
|
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 = {
|
vf_info_t vf_info_crop = {
|
||||||
"cropping",
|
"cropping",
|
||||||
"crop",
|
"crop",
|
||||||
"A'rpi",
|
"A'rpi",
|
||||||
"",
|
"",
|
||||||
open,
|
open,
|
||||||
NULL
|
&vf_opts
|
||||||
};
|
};
|
||||||
|
|
||||||
//===========================================================================//
|
//===========================================================================//
|
||||||
|
@ -15,10 +15,17 @@
|
|||||||
#include "../libvo/fastmemcpy.h"
|
#include "../libvo/fastmemcpy.h"
|
||||||
#include "../postproc/rgb2rgb.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;
|
unsigned char *buf;
|
||||||
int brightness;
|
int brightness;
|
||||||
int contrast;
|
int contrast;
|
||||||
|
} vf_priv_dflt = {
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef HAVE_MMX
|
#ifdef HAVE_MMX
|
||||||
@ -202,8 +209,10 @@ static int open(vf_instance_t *vf, char* args)
|
|||||||
vf->put_image=put_image;
|
vf->put_image=put_image;
|
||||||
vf->uninit=uninit;
|
vf->uninit=uninit;
|
||||||
|
|
||||||
|
if(!vf->priv) {
|
||||||
vf->priv = malloc(sizeof(struct vf_priv_s));
|
vf->priv = malloc(sizeof(struct vf_priv_s));
|
||||||
memset(vf->priv, 0, 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);
|
if (args) sscanf(args, "%d:%d", &vf->priv->brightness, &vf->priv->contrast);
|
||||||
|
|
||||||
process = process_C;
|
process = process_C;
|
||||||
@ -214,12 +223,26 @@ static int open(vf_instance_t *vf, char* args)
|
|||||||
return 1;
|
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 = {
|
vf_info_t vf_info_eq = {
|
||||||
"soft video equalizer",
|
"soft video equalizer",
|
||||||
"eq",
|
"eq",
|
||||||
"Richard Felker",
|
"Richard Felker",
|
||||||
"",
|
"",
|
||||||
open,
|
open,
|
||||||
NULL
|
&vf_opts
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user