mirror of https://github.com/mpv-player/mpv
video: fix panscan in vertical case
If the black bars appeared on the left/right borders, panscan=1 didn't make the video cover the whole screen.
This commit is contained in:
parent
8b479d2f66
commit
2e4f106ef8
|
@ -49,11 +49,16 @@ static void aspect_calc_panscan(struct mp_log *log, struct mp_vo_opts *opts,
|
||||||
fwidth, fheight, d_w, d_h);
|
fwidth, fheight, d_w, d_h);
|
||||||
|
|
||||||
int vo_panscan_area = window_h - fheight;
|
int vo_panscan_area = window_h - fheight;
|
||||||
if (!vo_panscan_area)
|
double f_w = fwidth / (double)fheight;
|
||||||
|
double f_h = 1;
|
||||||
|
if (!vo_panscan_area) {
|
||||||
vo_panscan_area = window_w - fwidth;
|
vo_panscan_area = window_w - fwidth;
|
||||||
|
f_w = 1;
|
||||||
|
f_h = fheight / (double)fwidth;
|
||||||
|
}
|
||||||
|
|
||||||
*out_w = fwidth + vo_panscan_area * opts->panscan * fwidth / fheight;
|
*out_w = fwidth + vo_panscan_area * opts->panscan * f_w;
|
||||||
*out_h = fheight + vo_panscan_area * opts->panscan;
|
*out_h = fheight + vo_panscan_area * opts->panscan * f_h;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clamp [start, end) to range [0, size) with various fallbacks.
|
// Clamp [start, end) to range [0, size) with various fallbacks.
|
||||||
|
|
Loading…
Reference in New Issue