1
mirror of https://github.com/mpv-player/mpv synced 2024-07-31 16:29:58 +02:00

Move aspect.c options to option struct

This commit is contained in:
Uoti Urpala 2008-05-01 11:14:29 +03:00
parent c172b5355f
commit 1d1ddcb593
4 changed files with 18 additions and 20 deletions

View File

@ -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},

View File

@ -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,

View File

@ -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;

View File

@ -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;