diff options
author | Tim Walker <tdskywalker@gmail.com> | 2013-12-11 02:03:32 +0000 |
---|---|---|
committer | Tim Walker <tdskywalker@gmail.com> | 2014-01-05 16:41:56 +0100 |
commit | 4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09 (patch) | |
tree | 7973beb19a4ce117be284628eda4e18aa3bb6cd2 /libavcodec/mlp_parser.c | |
parent | 30d70e79a6b4ac7f4eb66446a9da275161ef6ea7 (diff) | |
download | ffmpeg-4b7f1a7ced0e98f2cc698d896f7ebab8d30eaa09.tar.gz |
mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream.
Diffstat (limited to 'libavcodec/mlp_parser.c')
-rw-r--r-- | libavcodec/mlp_parser.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c index 1a68014b32..8766bd0c1f 100644 --- a/libavcodec/mlp_parser.c +++ b/libavcodec/mlp_parser.c @@ -169,13 +169,16 @@ 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); channel_arrangement = get_bits(gb, 5); mh->channels_thd_stream1 = truehd_channels(channel_arrangement); mh->channel_layout_thd_stream1 = 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); |