diff options
-rw-r--r-- | video/out/vo_vdpau.c | 19 | ||||
-rw-r--r-- | video/out/x11_common.c | 3 |
2 files changed, 11 insertions, 11 deletions
diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c index e6acc4067e..c8836a8639 100644 --- a/video/out/vo_vdpau.c +++ b/video/out/vo_vdpau.c @@ -234,6 +234,13 @@ static void forget_frames(struct vo *vo, bool seek_reset) vc->dropped_frame = false; } +static int s_size(int s, int disp) +{ + disp = MPMAX(1, disp); + s += s / 2; + return s >= disp ? s : disp; +} + static void resize(struct vo *vo) { struct vdpctx *vc = vo->priv; @@ -259,16 +266,8 @@ static void resize(struct vo *vo) if (vc->output_surface_width < vo->dwidth || vc->output_surface_height < vo->dheight) { - if (vc->output_surface_width < vo->dwidth) { - vc->output_surface_width += vc->output_surface_width >> 1; - vc->output_surface_width = FFMAX(vc->output_surface_width, - vo->dwidth); - } - if (vc->output_surface_height < vo->dheight) { - vc->output_surface_height += vc->output_surface_height >> 1; - vc->output_surface_height = FFMAX(vc->output_surface_height, - vo->dheight); - } + vc->output_surface_width = s_size(vc->output_surface_width, vo->dwidth); + vc->output_surface_height = s_size(vc->output_surface_height, vo->dheight); // Creation of output_surfaces for (int i = 0; i < vc->num_output_surfaces; i++) if (vc->output_surfaces[i] != VDP_INVALID_HANDLE) { diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 1c3ccb95e0..d0f86af3aa 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -1339,6 +1339,7 @@ void vo_x11_config_vo_window(struct vo *vo, XVisualInfo *vis, int flags, vo_x11_create_window(vo, vis, rc); vo_x11_classhint(vo, x11->window, classname); x11->window_hidden = true; + x11->winrc = geo.win; } if (flags & VOFLAG_HIDDEN) @@ -1453,7 +1454,7 @@ static void vo_x11_update_geometry(struct vo *vo) int dummy_int; Window dummy_win; Window win = vo->opts->WinID > 0 ? vo->opts->WinID : x11->window; - if (x11->window_hidden || !win) + if (!win) return; XGetGeometry(x11->display, win, &dummy_win, &dummy_int, &dummy_int, &w, &h, &dummy_int, &dummy_uint); |