summaryrefslogtreecommitdiffstats
path: root/filters
diff options
context:
space:
mode:
Diffstat (limited to 'filters')
-rw-r--r--filters/f_decoder_wrapper.c24
-rw-r--r--filters/f_decoder_wrapper.h4
-rw-r--r--filters/user_filters.c2
3 files changed, 7 insertions, 23 deletions
diff --git a/filters/f_decoder_wrapper.c b/filters/f_decoder_wrapper.c
index ba867621c5..7abe95116d 100644
--- a/filters/f_decoder_wrapper.c
+++ b/filters/f_decoder_wrapper.c
@@ -224,7 +224,6 @@ struct priv {
// --- Protected by cache_lock.
char *cur_hwdec;
- char *decoder_desc;
bool try_spdif;
bool attached_picture;
bool pts_reset;
@@ -397,9 +396,6 @@ static bool reinit_decoder(struct priv *p)
reset_decoder(p);
p->has_broken_packet_pts = -10; // needs 10 packets to reach decision
- talloc_free(p->decoder_desc);
- p->decoder_desc = NULL;
-
const struct mp_decoder_fns *driver = NULL;
struct mp_decoder_list *list = NULL;
char *user_list = NULL;
@@ -451,11 +447,12 @@ static bool reinit_decoder(struct priv *p)
p->decoder = driver->create(p->decf, p->codec, sel->decoder);
if (p->decoder) {
- mp_mutex_lock(&p->cache_lock);
- const char *d = sel->desc && sel->desc[0] ? sel->desc : sel->decoder;
- p->decoder_desc = talloc_strdup(p, d);
- MP_VERBOSE(p, "Selected codec: %s\n", p->decoder_desc);
- mp_mutex_unlock(&p->cache_lock);
+ p->codec->decoder = talloc_strdup(p, sel->decoder);
+ p->codec->decoder_desc = talloc_strdup(p, sel->desc && sel->desc[0] ? sel->desc : NULL);
+ MP_VERBOSE(p, "Selected decoder: %s", sel->decoder);
+ if (p->codec->decoder_desc)
+ MP_VERBOSE(p, " - %s", p->codec->decoder_desc);
+ MP_VERBOSE(p, "\n");
break;
}
@@ -482,15 +479,6 @@ bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d)
return res;
}
-void mp_decoder_wrapper_get_desc(struct mp_decoder_wrapper *d,
- char *buf, size_t buf_size)
-{
- struct priv *p = d->f->priv;
- mp_mutex_lock(&p->cache_lock);
- snprintf(buf, buf_size, "%s", p->decoder_desc ? p->decoder_desc : "");
- mp_mutex_unlock(&p->cache_lock);
-}
-
void mp_decoder_wrapper_set_frame_drops(struct mp_decoder_wrapper *d, int num)
{
struct priv *p = d->f->priv;
diff --git a/filters/f_decoder_wrapper.h b/filters/f_decoder_wrapper.h
index 9f1a8b5863..a352dc0c4d 100644
--- a/filters/f_decoder_wrapper.h
+++ b/filters/f_decoder_wrapper.h
@@ -43,10 +43,6 @@ struct mp_decoder_wrapper {
struct mp_decoder_wrapper *mp_decoder_wrapper_create(struct mp_filter *parent,
struct sh_stream *src);
-// For informational purposes.
-void mp_decoder_wrapper_get_desc(struct mp_decoder_wrapper *d,
- char *buf, size_t buf_size);
-
// Legacy decoder framedrop control.
void mp_decoder_wrapper_set_frame_drops(struct mp_decoder_wrapper *d, int num);
int mp_decoder_wrapper_get_frames_dropped(struct mp_decoder_wrapper *d);
diff --git a/filters/user_filters.c b/filters/user_filters.c
index b5f29adf18..3767297865 100644
--- a/filters/user_filters.c
+++ b/filters/user_filters.c
@@ -94,7 +94,7 @@ const struct mp_user_filter_entry *vf_list[] = {
#if HAVE_D3D_HWACCEL
&vf_d3d11vpp,
#endif
-#if HAVE_GL && HAVE_EGL
+#if (HAVE_GL && HAVE_EGL) || HAVE_VULKAN
&vf_gpu,
#endif
};