summaryrefslogtreecommitdiff
path: root/libavcodec/vp3.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-08 02:08:05 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-10 23:11:35 +0200
commit9afb291267db04568da0fac2ce391380c48d7047 (patch)
treeb2d0ea963d597656f5b32b6c522b673fd3368847 /libavcodec/vp3.c
parentaf7468a28222195245e2a856a1b2407ed8f10252 (diff)
avcodec/vp3: Don't try to decode VP4 when VP4 decoder is disabled
Otherwise decoding will crash lateron; e.g. because dct_tokens is never set or because a VLC that has not been allocated is used. Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/vp3.c')
-rw-r--r--libavcodec/vp3.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 0cae075452..9aa84e83b7 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2335,9 +2335,13 @@ static av_cold int vp3_decode_init(AVCodecContext *avctx)
if (ret < 0)
return ret;
- if (avctx->codec_tag == MKTAG('V', 'P', '4', '0'))
+ if (avctx->codec_tag == MKTAG('V', 'P', '4', '0')) {
s->version = 3;
- else if (avctx->codec_tag == MKTAG('V', 'P', '3', '0'))
+#if !CONFIG_VP4_DECODER
+ av_log(avctx, AV_LOG_ERROR, "This build does not support decoding VP4.\n");
+ return AVERROR_DECODER_NOT_FOUND;
+#endif
+ } else if (avctx->codec_tag == MKTAG('V', 'P', '3', '0'))
s->version = 0;
else
s->version = 1;