summaryrefslogtreecommitdiffstats
path: root/libvo/video_out.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/video_out.c')
-rw-r--r--libvo/video_out.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libvo/video_out.c b/libvo/video_out.c
index 1920782267..b8ec45ed14 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -11,6 +11,8 @@
#include "config.h"
#include "video_out.h"
+#include "aspect.h"
+#include "geometry.h"
#include "mp_msg.h"
#include "help_mp.h"
@@ -322,6 +324,26 @@ vo_functions_t* init_best_video_out(char** vo_list){
return NULL;
}
+int config_video_out(vo_functions_t *vo, uint32_t width, uint32_t height,
+ uint32_t d_width, uint32_t d_height, uint32_t flags,
+ char *title, uint32_t format) {
+ panscan_init();
+ aspect_save_orig(width,height);
+ aspect_save_prescale(d_width,d_height);
+ vo->control(VOCTRL_UPDATE_SCREENINFO, NULL);
+
+ aspect(&d_width,&d_height,A_NOZOOM);
+ vo_dx = (int)(vo_screenwidth - d_width) / 2;
+ vo_dy = (int)(vo_screenheight - d_height) / 2;
+ geometry(&vo_dx, &vo_dy, &d_width, &d_height,
+ vo_screenwidth, vo_screenheight);
+ vo_dx += xinerama_x;
+ vo_dy += xinerama_y;
+ vo_dwidth = d_width;
+ vo_dheight = d_height;
+
+ return vo->config(width, height, d_width, d_height, flags, title, format);
+}
#if defined(HAVE_FBDEV)||defined(HAVE_VESA)
/* Borrowed from vo_fbdev.c