summaryrefslogtreecommitdiff
path: root/libavcodec/mlp_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-05 22:53:13 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-05 22:53:13 +0100
commitb4107f7805be6699d4b38449b1f9235958a2a133 (patch)
treea0403f61442e8d2dff1d66c5577d8cfae861f30e /libavcodec/mlp_parser.c
parentae01af24756d6f5bd13eef405ca19a8bf458b39f (diff)
parent4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09 (diff)
Merge commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09'
* commit '4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09': mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream. Conflicts: libavcodec/mlp_parser.h libavcodec/mlpdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mlp_parser.c')
-rw-r--r--libavcodec/mlp_parser.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c
index fcd1168076..79552c6be2 100644
--- a/libavcodec/mlp_parser.c
+++ b/libavcodec/mlp_parser.c
@@ -170,14 +170,17 @@ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
mh->group1_samplerate = mlp_samplerate(ratebits);
mh->group2_samplerate = 0;
- skip_bits(gb, 8);
+ skip_bits(gb, 4);
+
+ mh->channel_modifier_thd_stream0 = get_bits(gb, 2);
+ mh->channel_modifier_thd_stream1 = get_bits(gb, 2);
mh->channel_arrangement=
channel_arrangement = get_bits(gb, 5);
mh->channels_thd_stream1 = truehd_channels(channel_arrangement);
mh->channel_layout_thd_stream1 = ff_truehd_layout(channel_arrangement);
- skip_bits(gb, 2);
+ mh->channel_modifier_thd_stream2 = get_bits(gb, 2);
channel_arrangement = get_bits(gb, 13);
mh->channels_thd_stream2 = truehd_channels(channel_arrangement);