Skip to content

Commit 917ea20

Browse files
committed
aspect: don't scale to fullscreen by <101%
1 parent 2c378c7 commit 917ea20

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

libvo/aspect.c

+15-3
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,27 @@ void aspect_fit(struct vo *vo, int *srcw, int *srch, int fitw, int fith)
6969
mp_msg(MSGT_VO, MSGL_DBG2, "aspect(0) fitin: %dx%d screenaspect: %.2f\n",
7070
fitw, fith, vo->monitor_aspect);
7171
*srcw = fitw;
72-
*srch = (float)fitw / aspdat->prew * aspdat->preh * pixelaspect;
72+
if (vo_fs) {
73+
float scale_ratio = (float)fitw / aspdat->prew;
74+
if (scale_ratio > 1 && scale_ratio < 1.01)
75+
*srcw = aspdat->prew;
76+
}
77+
*srch = (float)*srcw / aspdat->prew * aspdat->preh * pixelaspect;
7378
*srch += *srch % 2; // round
7479
mp_msg(MSGT_VO, MSGL_DBG2, "aspect(1) wh: %dx%d (org: %dx%d)\n",
7580
*srcw, *srch, aspdat->prew, aspdat->preh);
7681
if (*srch > fith || *srch < aspdat->orgh) {
77-
int tmpw = (float)fith / aspdat->preh * aspdat->prew / pixelaspect;
82+
int tmpw, tmph;
83+
tmph = fith;
84+
if (vo_fs) {
85+
float scale_ratio = (float)fith / aspdat->preh;
86+
if (scale_ratio > 1 && scale_ratio < 1.01)
87+
tmph = aspdat->preh;
88+
}
89+
tmpw = (float)tmph / aspdat->preh * aspdat->prew / pixelaspect;
7890
tmpw += tmpw % 2; // round
7991
if (tmpw <= fitw) {
80-
*srch = fith;
92+
*srch = tmph;
8193
*srcw = tmpw;
8294
} else if (*srch > fith) {
8395
mp_tmsg(MSGT_VO, MSGL_WARN,

0 commit comments

Comments
 (0)