Browse Source

mlp: fix channel order.

This fixes a regression introduced with todays merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.2
Michael Niedermayer 13 years ago
parent
commit
6747b0be9b
3 changed files with 4 additions and 1 deletions
  1. +2
    -0
      libavcodec/mlp_parser.c
  2. +1
    -0
      libavcodec/mlp_parser.h
  3. +1
    -1
      libavcodec/mlpdec.c

+ 2
- 0
libavcodec/mlp_parser.c View File

@@ -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);


+ 1
- 0
libavcodec/mlp_parser.h View File

@@ -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")


+ 1
- 1
libavcodec/mlpdec.c View File

@@ -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