summaryrefslogtreecommitdiffstats
path: root/video/out
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-10-31 15:18:57 +0100
committerwm4 <wm4@nowhere>2019-10-31 15:26:03 +0100
commit835586513d026bcf1e7dec4693e07c28dda8cedd (patch)
treef96ce1fe2e8a474906ae09e9c9146d6e88030fd4 /video/out
parentc10ba5eb8e62d04ed80cad512cf4863dadee07f1 (diff)
downloadmpv-835586513d026bcf1e7dec4693e07c28dda8cedd.tar.bz2
mpv-835586513d026bcf1e7dec4693e07c28dda8cedd.tar.xz
sws_utils: shuffle around some shit
Purpose uncertain. I guess it's slightly better, maybe. The move of the sws/zimg options from VO opts (vo_opt_list) to the top-level option list is tricky. VO opts have some helper code in vo.c, that sends VOCTRL_SET_PANSCAN to the VO on every VO opts change. That's because updating certain VO options used to be this way (and not just the panscan option). This isn't needed anymore for sws/zimg options, so explicitly move them away.
Diffstat (limited to 'video/out')
-rw-r--r--video/out/vo_drm.c4
-rw-r--r--video/out/vo_tct.c5
-rw-r--r--video/out/vo_wlshm.c3
-rw-r--r--video/out/vo_x11.c3
4 files changed, 7 insertions, 8 deletions
diff --git a/video/out/vo_drm.c b/video/out/vo_drm.c
index 83dede468c..61722213ad 100644
--- a/video/out/vo_drm.c
+++ b/video/out/vo_drm.c
@@ -303,8 +303,6 @@ static int reconfig(struct vo *vo, struct mp_image_params *params)
int w = p->dst.x1 - p->dst.x0;
int h = p->dst.y1 - p->dst.y0;
- mp_sws_set_from_cmdline(p->sws, vo->global);
- p->sws->allow_zimg = true;
p->sws->src = *params;
p->sws->dst = (struct mp_image_params) {
.imgfmt = p->imgfmt,
@@ -555,6 +553,8 @@ static int preinit(struct vo *vo)
{
struct priv *p = vo->priv;
p->sws = mp_sws_alloc(vo);
+ p->sws->log = vo->log;
+ mp_sws_enable_cmdline_opts(p->sws, vo->global);
p->ev.version = DRM_EVENT_CONTEXT_VERSION;
p->ev.page_flip_handler = &drm_pflip_cb;
diff --git a/video/out/vo_tct.c b/video/out/vo_tct.c
index 6a07786996..159b50922b 100644
--- a/video/out/vo_tct.c
+++ b/video/out/vo_tct.c
@@ -207,7 +207,6 @@ static int reconfig(struct vo *vo, struct mp_image_params *params)
if (p->buffer)
free(p->buffer);
- mp_sws_set_from_cmdline(p->sws, vo->global);
p->sws->src = *params;
p->sws->dst = (struct mp_image_params) {
.imgfmt = IMGFMT,
@@ -265,8 +264,6 @@ static void uninit(struct vo *vo)
struct priv *p = vo->priv;
if (p->buffer)
talloc_free(p->buffer);
- if (p->sws)
- talloc_free(p->sws);
}
static int preinit(struct vo *vo)
@@ -278,6 +275,8 @@ static int preinit(struct vo *vo)
struct priv *p = vo->priv;
p->opts = mp_get_config_group(vo, vo->global, &vo_tct_conf);
p->sws = mp_sws_alloc(vo);
+ p->sws->log = vo->log;
+ mp_sws_enable_cmdline_opts(p->sws, vo->global);
return 0;
}
diff --git a/video/out/vo_wlshm.c b/video/out/vo_wlshm.c
index 213b05b150..465bb122ad 100644
--- a/video/out/vo_wlshm.c
+++ b/video/out/vo_wlshm.c
@@ -148,6 +148,8 @@ static int preinit(struct vo *vo)
if (!vo_wayland_init(vo))
return -1;
p->sws = mp_sws_alloc(vo);
+ p->sws->log = vo->log;
+ mp_sws_enable_cmdline_opts(p->sws, vo->global);
return 0;
}
@@ -163,7 +165,6 @@ static int reconfig(struct vo *vo, struct mp_image_params *params)
if (!vo_wayland_reconfig(vo))
return -1;
- mp_sws_set_from_cmdline(p->sws, vo->global);
p->sws->src = *params;
return 0;
diff --git a/video/out/vo_x11.c b/video/out/vo_x11.c
index 072bfdabf9..ee20f12c38 100644
--- a/video/out/vo_x11.c
+++ b/video/out/vo_x11.c
@@ -244,8 +244,6 @@ static bool resize(struct vo *vo)
return false;
}
- mp_sws_set_from_cmdline(p->sws, vo->global);
- p->sws->allow_zimg = true;
p->sws->dst = (struct mp_image_params) {
.imgfmt = fmte->mpfmt,
.w = p->dst_w,
@@ -378,6 +376,7 @@ static int preinit(struct vo *vo)
p->vo = vo;
p->sws = mp_sws_alloc(vo);
p->sws->log = vo->log;
+ mp_sws_enable_cmdline_opts(p->sws, vo->global);
if (!vo_x11_init(vo))
goto error;