mirror of
https://github.com/mpv-player/mpv
synced 2025-01-12 09:59:44 +00:00
Add downscaling as a last resort.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2214 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
7694b63697
commit
357c10b0a7
@ -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 @@ float monitor_aspect=4.0/3.0;
|
||||
*/
|
||||
|
||||
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 @@ void aspect(int *srcw, int *srch, int fitinw, int fitinh){
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user