summaryrefslogtreecommitdiffstats
path: root/libvo/aspect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/aspect.c')
-rw-r--r--libvo/aspect.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/libvo/aspect.c b/libvo/aspect.c
index 447674e752..ee47ff667c 100644
--- a/libvo/aspect.c
+++ b/libvo/aspect.c
@@ -1,4 +1,9 @@
/* Stuff for correct aspect scaling. */
+#undef ASPECT_DEBUG
+
+#ifdef ASPECT_DEBUG
+#include <stdio.h>
+#endif
float monitor_aspect=4.0/3.0;
@@ -10,17 +15,28 @@ void aspect(int *srcw, int *srch, int fitinw, int fitinh){
int srcwcp, srchcp;
srcwcp=*srcw; srchcp=*srch;
srcwcp=fitinw;
+#ifdef ASPECT_DEBUG
+ printf("aspect(0) fitin: %dx%d \n",fitinw,fitinh);
+ printf("aspect(1) wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#endif
srchcp=(int)(((float)fitinw / (float)*srcw * (float)*srch)
- * ((float)fitinh/((float)fitinw/monitor_aspect)));
+ * ((float)fitinh / ((float)fitinw / monitor_aspect)));
srchcp+=srchcp%2; // round
- //printf("aspect rez wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#ifdef ASPECT_DEBUG
+ printf("aspect(2) wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#endif
if(srchcp>fitinh || srchcp<*srch){
srchcp=fitinh;
srcwcp=(int)(((float)fitinh / (float)*srch * (float)*srcw)
- * ((float)fitinw/((float)fitinh/(1/monitor_aspect))));
+ * ((float)fitinw / ((float)fitinh / (1/monitor_aspect))));
srcwcp+=srcwcp%2; // round
}
- //printf("aspect ret wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#ifdef ASPECT_DEBUG
+ printf("aspect(3) wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#endif
*srcw=srcwcp; *srch=srchcp;
+#ifdef ASPECT_DEBUG
+ printf("aspect(4) wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);
+#endif
}