summaryrefslogtreecommitdiffstats
path: root/libvo/aspect.c
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-05 19:35:54 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-05 19:35:54 +0000
commitae8906e42cbf6de281e5c90fb05704234f777d67 (patch)
treef09eecbaec15cde716c93c02877c4bb3a4e7bdeb /libvo/aspect.c
parent49d13970550898741af54c3f70f88fc890db3fb2 (diff)
downloadmpv-ae8906e42cbf6de281e5c90fb05704234f777d67.tar.bz2
mpv-ae8906e42cbf6de281e5c90fb05704234f777d67.tar.xz
added panscan support for xmga/xvidix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6308 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/aspect.c')
-rw-r--r--libvo/aspect.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/libvo/aspect.c b/libvo/aspect.c
index 463f3bfe09..be5d8949c7 100644
--- a/libvo/aspect.c
+++ b/libvo/aspect.c
@@ -10,6 +10,12 @@
#include <stdio.h>
#endif
+int vo_panscan_x = 0;
+int vo_panscan_y = 0;
+float vo_panscan_amount = 0;
+
+#include "video_out.h"
+
float monitor_aspect=4.0/3.0;
static struct {
@@ -19,6 +25,7 @@ static struct {
int preh; // prescaled height
int scrw; // horizontal resolution
int scrh; // vertical resolution
+ float asp;
} aspdat;
void aspect_save_orig(int orgw, int orgh){
@@ -79,8 +86,24 @@ void aspect(int *srcw, int *srch, int zoom){
#endif
}
}
+ aspdat.asp=*srcw / (float)*srch;
#ifdef ASPECT_DEBUG
printf("aspect(3) wh: %dx%d (org: %dx%d)\n",*srcw,*srch,aspdat.prew,aspdat.preh);
#endif
}
+void panscan_init( void )
+{
+ vo_panscan_x=0;
+ vo_panscan_y=0;
+ vo_panscan_amount=0.0f;
+}
+
+void panscan_calc( void )
+{
+ int vo_panscan_area = (vo_screenheight-vo_dheight);
+ vo_panscan_amount = vo_fs ? vo_panscan : 0;
+ vo_panscan_x = vo_panscan_area * vo_panscan_amount * aspdat.asp;
+ vo_panscan_y = vo_panscan_area * vo_panscan_amount;
+}
+