changeset 27972:f7b92cea7436

Use aspect.c code in vo_x11.c. Removes some inconsistencies in -wid handling.
author reimar
date Sun, 23 Nov 2008 20:17:46 +0000
parents 916445fad12a
children 1c526711983d
files libvo/vo_x11.c
diffstat 1 files changed, 3 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_x11.c	Sun Nov 23 18:50:39 2008 +0000
+++ b/libvo/vo_x11.c	Sun Nov 23 20:17:46 2008 +0000
@@ -6,6 +6,7 @@
 #include "config.h"
 #include "video_out.h"
 #include "video_out_internal.h"
+#include "aspect.h"
 
 
 #include <X11/Xlib.h>
@@ -83,7 +84,6 @@
 static int out_offset;
 static int srcW = -1;
 static int srcH = -1;
-static int aspect;              // 1<<16 based fixed point aspect, so that the aspect stays correct during resizing
 
 static int old_vo_dwidth = -1;
 static int old_vo_dheight = -1;
@@ -354,8 +354,6 @@
     image_width = (width + 7) & (~7);
     image_height = height;
 
-    aspect = ((1 << 16) * d_width + d_height / 2) / d_height;
-
 #ifdef CONFIG_GUI
     if (use_gui)
         guiGetEvent(guiSetShVideo, 0);  // the GUI will set up / resize the window
@@ -524,17 +522,13 @@
     {
         int newW = vo_dwidth;
         int newH = vo_dheight;
-        int newAspect = (newW * (1 << 16) + (newH >> 1)) / newH;
         struct SwsContext *oldContext = swsContext;
 
-        if (newAspect > aspect)
-            newW = (newH * aspect + (1 << 15)) >> 16;
-        else
-            newH = ((newW << 16) + (aspect >> 1)) / aspect;
-
         old_vo_dwidth = vo_dwidth;
         old_vo_dheight = vo_dheight;
 
+        if (vo_fs)
+            aspect(&newW, &newH, A_ZOOM);
         if (sws_flags == 0)
             newW &= (~31);      // not needed but, if the user wants the FAST_BILINEAR SCALER, then its needed