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:
parent
c172b5355f
commit
1d1ddcb593
@ -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},
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user