summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-mplayer.h4
-rw-r--r--libvo/aspect.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index f334bfdeca..70c77afd22 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -99,7 +99,7 @@ extern int xinerama_screen;
#endif
/* from libvo/aspect.c */
-extern float monitor_aspect;
+extern float force_monitor_aspect;
extern float monitor_pixel_aspect;
extern int sws_flags;
@@ -213,7 +213,7 @@ 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 TVout
- {"monitoraspect", &monitor_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 9.0, NULL},
+ {"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},
// video mode switching: (x11,xv,dga)
{"vm", &vidmode, CONF_TYPE_FLAG, 0, 0, 1, NULL},
diff --git a/libvo/aspect.c b/libvo/aspect.c
index c5fd8ec819..b7f9b4bc84 100644
--- a/libvo/aspect.c
+++ b/libvo/aspect.c
@@ -19,6 +19,7 @@ float vo_panscanrange = 1.0;
#include "video_out.h"
+float force_monitor_aspect=0;
float monitor_aspect=0;
float monitor_pixel_aspect=1;
extern float movie_aspect;
@@ -55,7 +56,9 @@ void aspect_save_screenres(int scrw, int scrh){
#endif
aspdat.scrw = scrw;
aspdat.scrh = scrh;
- if (!monitor_aspect)
+ if (force_monitor_aspect)
+ monitor_aspect = force_monitor_aspect;
+ else
monitor_aspect = monitor_pixel_aspect * scrw / scrh;
}