# HG changeset patch # User ramiro # Date 1237554135 0 # Node ID 753780c4875e16e933d7f4b21a174e1911827835 # Parent 7b62de9c383d302439517fa24c6c70886fc9638c truehd: support up to 3 substreams. diff -r 7b62de9c383d -r 753780c4875e mlp.h --- a/mlp.h Fri Mar 20 12:04:58 2009 +0000 +++ b/mlp.h Fri Mar 20 13:02:15 2009 +0000 @@ -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 -r 7b62de9c383d -r 753780c4875e mlpdec.c --- a/mlpdec.c Fri Mar 20 12:04:58 2009 +0000 +++ b/mlpdec.c Fri Mar 20 13:02:15 2009 +0000 @@ -280,6 +280,10 @@ 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 "