Mercurial > mplayer.hg
changeset 2213:a98d5300f5e9
Add downscaling as a last resort.
author | atmos4 |
---|---|
date | Mon, 15 Oct 2001 17:22:41 +0000 |
parents | f0f681ef92ff |
children | 64aa99c04480 |
files | libvo/aspect.c |
diffstat | 1 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/aspect.c Mon Oct 15 16:59:35 2001 +0000 +++ b/libvo/aspect.c Mon Oct 15 17:22:41 2001 +0000 @@ -1,5 +1,5 @@ /* Stuff for correct aspect scaling. */ -#undef ASPECT_DEBUG +//#define ASPECT_DEBUG #ifdef ASPECT_DEBUG #include <stdio.h> @@ -12,7 +12,7 @@ */ void aspect(int *srcw, int *srch, int fitinw, int fitinh){ - int srcwcp, srchcp; + int srcwcp, srchcp, tmp; srcwcp=*srcw; srchcp=*srch; srcwcp=fitinw; #ifdef ASPECT_DEBUG @@ -26,10 +26,13 @@ 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)))); - srcwcp+=srcwcp%2; // round + tmp=(int)(((float)fitinh / (float)*srch * (float)*srcw) + * ((float)fitinw / ((float)fitinh / (1/monitor_aspect)))); + if(srcwcp>fitinw){ + srchcp=fitinh; + srcwcp=tmp; + srcwcp+=srcwcp%2; // round + } } #ifdef ASPECT_DEBUG printf("aspect(3) wh: %dx%d (org: %dx%d)\n",srcwcp,srchcp,*srcw,*srch);