From 1bc81bf981552ec542e14af194cd05d7c74a83e1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 24 May 2011 01:31:15 +0200 Subject: avcodec_find_decoder: prefer non experimental decoders. Signed-off-by: Michael Niedermayer --- libavcodec/utils.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/utils.c b/libavcodec/utils.c index aecfb8af33..9dcc4a8105 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -903,14 +903,18 @@ AVCodec *avcodec_find_encoder_by_name(const char *name) AVCodec *avcodec_find_decoder(enum CodecID id) { - AVCodec *p; + AVCodec *p, *experimental=NULL; p = first_avcodec; while (p) { - if (p->decode != NULL && p->id == id) - return p; + if (p->decode != NULL && p->id == id) { + if (p->capabilities & CODEC_CAP_EXPERIMENTAL && !experimental) { + experimental = p; + } else + return p; + } p = p->next; } - return NULL; + return experimental; } AVCodec *avcodec_find_decoder_by_name(const char *name) -- cgit v1.2.3