mlp: fix channel order.

This fixes a regression introduced with todays merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/28/head^2
Michael Niedermayer 12 years ago
parent d4e5d8d4c2
commit 6747b0be9b
  1. 2
      libavcodec/mlp_parser.c
  2. 1
      libavcodec/mlp_parser.h
  3. 2
      libavcodec/mlpdec.c

@ -157,6 +157,7 @@ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
skip_bits(gb, 11);
mh->channel_arrangement=
channel_arrangement = get_bits(gb, 5);
mh->channels_mlp = mlp_channels[channel_arrangement];
mh->channel_layout_mlp = ff_mlp_layout[channel_arrangement];
@ -170,6 +171,7 @@ int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, GetBitContext *gb)
skip_bits(gb, 8);
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);

@ -39,6 +39,7 @@ typedef struct MLPHeaderInfo
int group1_samplerate; ///< Sample rate of first substream
int group2_samplerate; ///< Sample rate of second substream (MLP only)
int channel_arrangement;
int channels_mlp; ///< Channel count for MLP streams
int channels_thd_stream1; ///< Channel count for substream 1 of TrueHD streams ("6-channel presentation")
int channels_thd_stream2; ///< Channel count for substream 2 of TrueHD streams ("8-channel presentation")

@ -386,7 +386,7 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
}
}
m->needs_reordering = mh.channels_mlp >= 18 && mh.channels_mlp <= 20;
m->needs_reordering = mh.channel_arrangement >= 18 && mh.channel_arrangement <= 20;
return 0;
}

Loading…
Cancel
Save