summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-mplayer.h11
-rw-r--r--defaultopts.c2
-rw-r--r--libvo/aspect.c22
-rw-r--r--options.h3
4 files changed, 18 insertions, 20 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 7bf15cd145..411416dfa7 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -16,7 +16,6 @@ extern char *dfb_params;
extern char *lirc_configfile;
-extern float vo_panscanrange;
/* only used at startup (setting these values from configfile) */
extern char *vo_geometry;
@@ -44,10 +43,6 @@ extern char * skinName;
extern int guiWinID;
-/* from libvo/aspect.c */
-extern float force_monitor_aspect;
-extern float monitor_pixel_aspect;
-
extern int sws_flags;
extern int readPPOpt(void *conf, char *arg);
extern void revertPPOpt(void *conf, char* opt);
@@ -165,8 +160,8 @@ const m_option_t mplayer_opts[]={
// Geometry string
{"geometry", &vo_geometry, CONF_TYPE_STRING, 0, 0, 0, NULL},
// set aspect ratio of monitor - useful for 16:9 TV-out
- {"monitoraspect", &force_monitor_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 9.0, NULL},
- {"monitorpixelaspect", &monitor_pixel_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.2, 9.0, NULL},
+ OPT_FLOATRANGE("monitoraspect", force_monitor_aspect, 0, 0.0, 9.0),
+ OPT_FLOATRANGE("monitorpixelaspect", monitor_pixel_aspect, 0, 0.2, 9.0),
// video mode switching: (x11,xv,dga)
OPT_FLAG_ON("vm", vidmode, 0),
OPT_FLAG_OFF("novm", vidmode, 0),
@@ -186,7 +181,7 @@ const m_option_t mplayer_opts[]={
{"vsync", &vo_vsync, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"novsync", &vo_vsync, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"panscan", &vo_panscan, CONF_TYPE_FLOAT, CONF_RANGE, -1.0, 1.0, NULL},
- {"panscanrange", &vo_panscanrange, CONF_TYPE_FLOAT, CONF_RANGE, -19.0, 99.0, NULL},
+ OPT_FLOATRANGE("panscanrange", vo_panscanrange, 0, -19.0, 99.0),
{"grabpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nograbpointer", &vo_grabpointer, CONF_TYPE_FLAG, 0, 1, 0, NULL},
diff --git a/defaultopts.c b/defaultopts.c
index 6f0938a24b..c1822b6a14 100644
--- a/defaultopts.c
+++ b/defaultopts.c
@@ -8,6 +8,8 @@ void set_default_mplayer_options(struct MPOpts *opts)
.audio_driver_list = NULL,
.video_driver_list = NULL,
.fixed_vo = 0,
+ .monitor_pixel_aspect = 1.0,
+ .vo_panscanrange = 1.0,
.vo_gamma_gamma = 1000,
.vo_gamma_brightness = 1000,
.vo_gamma_contrast = 1000,
diff --git a/libvo/aspect.c b/libvo/aspect.c
index 8079a21e03..5a2091baba 100644
--- a/libvo/aspect.c
+++ b/libvo/aspect.c
@@ -5,6 +5,7 @@
//#ifndef ASPECT_TEST
#include "mp_msg.h"
#include "help_mp.h"
+#include "options.h"
//#endif
//#define ASPECT_DEBUG
@@ -13,13 +14,8 @@
#include <stdio.h>
#endif
-float vo_panscanrange = 1.0;
-
#include "video_out.h"
-float force_monitor_aspect=0;
-float monitor_pixel_aspect=1;
-
void aspect_save_orig(struct vo *vo, int orgw, int orgh)
{
#ifdef ASPECT_DEBUG
@@ -43,12 +39,13 @@ void aspect_save_screenres(struct vo *vo, int scrw, int scrh)
#ifdef ASPECT_DEBUG
printf("aspect_save_screenres %dx%d \n",scrw,scrh);
#endif
+ struct MPOpts *opts = vo->opts;
vo->aspdat.scrw = scrw;
vo->aspdat.scrh = scrh;
- if (force_monitor_aspect)
- vo->monitor_aspect = force_monitor_aspect;
- else
- vo->monitor_aspect = monitor_pixel_aspect * scrw / scrh;
+ if (opts->force_monitor_aspect)
+ vo->monitor_aspect = opts->force_monitor_aspect;
+ else
+ vo->monitor_aspect = opts->monitor_pixel_aspect * scrw / scrh;
}
/* aspect is called with the source resolution and the
@@ -116,15 +113,16 @@ void panscan_calc(struct vo *vo)
{
int fwidth,fheight;
int vo_panscan_area;
+ struct MPOpts *opts = vo->opts;
- if (vo_panscanrange > 0) {
+ if (opts->vo_panscanrange > 0) {
aspect(vo, &fwidth, &fheight, A_ZOOM);
vo_panscan_area = (vo->aspdat.scrh - fheight);
if (!vo_panscan_area)
vo_panscan_area = vo->aspdat.scrw - fwidth;
- vo_panscan_area *= vo_panscanrange;
+ vo_panscan_area *= opts->vo_panscanrange;
} else
- vo_panscan_area = -vo_panscanrange * vo->aspdat.scrh;
+ vo_panscan_area = -opts->vo_panscanrange * vo->aspdat.scrh;
vo->panscan_amount = vo_fs ? vo_panscan : 0;
vo->panscan_x = vo_panscan_area * vo->panscan_amount * vo->aspdat.asp;
diff --git a/options.h b/options.h
index cfb6473f3e..e03e719c8a 100644
--- a/options.h
+++ b/options.h
@@ -10,9 +10,12 @@ typedef struct MPOpts {
int screen_size_y;
int vo_screenwidth;
int vo_screenheight;
+ float force_monitor_aspect;
+ float monitor_pixel_aspect;
int vidmode;
int fullscreen;
int vo_dbpp;
+ float vo_panscanrange;
// ranges -100 - 100, 1000 if the vo default should be used
int vo_gamma_gamma;