summaryrefslogtreecommitdiffstats
path: root/libavcodec/adxdec.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-11-20 17:07:59 -0500
committerJustin Ruggles <justin.ruggles@gmail.com>2011-11-26 16:25:07 -0500
commitd1745619dbd794aaf0e7aa51d14af5f99869ec93 (patch)
treeb308a654e21d54d68db2076b0dec1919f4ccf8f4 /libavcodec/adxdec.c
parent994238536a8ec8b970a16d153bee72c96ede0cc3 (diff)
downloadffmpeg-streaming-d1745619dbd794aaf0e7aa51d14af5f99869ec93.zip
ffmpeg-streaming-d1745619dbd794aaf0e7aa51d14af5f99869ec93.tar.gz
adx: check for unsupported ADX formats
Diffstat (limited to 'libavcodec/adxdec.c')
-rw-r--r--libavcodec/adxdec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c
index f9f17cd..ee1f1b0 100644
--- a/libavcodec/adxdec.c
+++ b/libavcodec/adxdec.c
@@ -89,6 +89,12 @@ static int adx_decode_header(AVCodecContext *avctx, const uint8_t *buf,
if (bufsize < offset || memcmp(buf + offset - 6, "(c)CRI", 6))
return AVERROR_INVALIDDATA;
+ /* check for encoding=3 block_size=18, sample_size=4 */
+ if (buf[4] != 3 || buf[5] != 18 || buf[6] != 4) {
+ av_log_ask_for_sample(avctx, "unsupported ADX format\n");
+ return AVERROR_PATCHWELCOME;
+ }
+
c->channels = avctx->channels = buf[7];
if (avctx->channels > 2)
return AVERROR_INVALIDDATA;
OpenPOWER on IntegriCloud