summaryrefslogtreecommitdiff
path: root/libavcodec/dca.c
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2011-01-21 20:00:40 +0000
committerMichael Niedermayer <michaelni@gmx.at>2011-01-23 19:32:07 +0100
commitcf9cb1f99a661f540523d559cd4018b71e70e8c0 (patch)
tree008b45629ad9472ea2cb53a081517cec9972638e /libavcodec/dca.c
parentb6125545da0c589df5ed5b3cff1d7593445237a2 (diff)
downloadffmpeg-cf9cb1f99a661f540523d559cd4018b71e70e8c0.tar.gz
dca: consider a stream with XXCh/X96 in ExSS as DTS-HD HRA
DTS-HD HRA streams do not always have an XBR extension in the extension substream. Instead they can have only XXCh and X96 extensions in there and still be considered DTS-HD HRA. This is also confirmed with Onkyo TX-SR607 receiver which recognizes such a stream as HiRes Audio. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 8f4a5d225c6cd65c5f306a200da991f8a59a439a)
Diffstat (limited to 'libavcodec/dca.c')
-rw-r--r--libavcodec/dca.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index bc099e1376..64a81d577c 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -1501,12 +1501,9 @@ static int dca_exss_parse_asset_header(DCAContext *s)
if (extensions_mask & DCA_EXT_EXSS_XLL)
s->profile = FF_PROFILE_DTS_HD_MA;
- else if (extensions_mask & DCA_EXT_EXSS_XBR)
+ else if (extensions_mask & (DCA_EXT_EXSS_XBR | DCA_EXT_EXSS_X96 |
+ DCA_EXT_EXSS_XXCH))
s->profile = FF_PROFILE_DTS_HD_HRA;
- else if (extensions_mask & DCA_EXT_EXSS_X96)
- s->profile = FF_PROFILE_DTS_96_24;
- else if (extensions_mask & DCA_EXT_EXSS_XXCH)
- s->profile = FFMAX(s->profile, FF_PROFILE_DTS_ES);
if (!(extensions_mask & DCA_EXT_CORE))
av_log(s->avctx, AV_LOG_WARNING, "DTS core detection mismatch.\n");