diff options
author | Ramiro Polla <ramiro.polla@gmail.com> | 2009-03-20 13:02:15 +0000 |
---|---|---|
committer | Ramiro Polla <ramiro.polla@gmail.com> | 2009-03-20 13:02:15 +0000 |
commit | 932cee5d6730c1358cb564ee0c84423ddd9ab21c (patch) | |
tree | 9c4bd2b9b7b4f5fd345a2a32674db9bf04cac31d /libavcodec | |
parent | 952e2083bc3fd758f871b1141e1358f2c8252735 (diff) | |
download | ffmpeg-932cee5d6730c1358cb564ee0c84423ddd9ab21c.tar.gz |
truehd: support up to 3 substreams.
Originally committed as revision 18072 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mlp.h | 6 | ||||
-rw-r--r-- | libavcodec/mlpdec.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/libavcodec/mlp.h b/libavcodec/mlp.h index 032a8f6bdf..c19b69915e 100644 --- a/libavcodec/mlp.h +++ b/libavcodec/mlp.h @@ -34,10 +34,10 @@ */ #define MAX_MATRICES 15 -/** Maximum number of substreams that can be decoded. This could also be set - * higher, but I haven't seen any examples with more than two. +/** Maximum number of substreams that can be decoded. + * MLP's limit is 2. TrueHD supports at least up to 3. */ -#define MAX_SUBSTREAMS 2 +#define MAX_SUBSTREAMS 3 /** maximum sample frequency seen in files */ #define MAX_SAMPLERATE 192000 diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index 6b825cdea1..c71450062a 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -280,6 +280,10 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb) if (mh.num_substreams == 0) return -1; + if (m->avctx->codec_id == CODEC_ID_MLP && mh.num_substreams > 2) { + av_log(m->avctx, AV_LOG_ERROR, "MLP only supports up to 2 substreams.\n"); + return -1; + } if (mh.num_substreams > MAX_SUBSTREAMS) { av_log(m->avctx, AV_LOG_ERROR, "Number of substreams %d is larger than the maximum supported " |