summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/av_common.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/common/av_common.c b/common/av_common.c
index 5cb434f969..6efa1803fd 100644
--- a/common/av_common.c
+++ b/common/av_common.c
@@ -144,6 +144,11 @@ void mp_set_avcodec_threads(struct mp_log *l, AVCodecContext *avctx, int threads
avctx->thread_count = threads;
}
+static bool is_crap(AVCodec *codec)
+{
+ return !!strstr(codec->name, "_vdpau");
+}
+
void mp_add_lavc_decoders(struct mp_decoder_list *list, enum AVMediaType type)
{
AVCodec *cur = NULL;
@@ -151,7 +156,7 @@ void mp_add_lavc_decoders(struct mp_decoder_list *list, enum AVMediaType type)
cur = av_codec_next(cur);
if (!cur)
break;
- if (av_codec_is_decoder(cur) && cur->type == type) {
+ if (av_codec_is_decoder(cur) && cur->type == type && !is_crap(cur)) {
mp_add_decoder(list, "lavc", mp_codec_from_av_codec_id(cur->id),
cur->name, cur->long_name);
}