Merge commit '5af78cc98d807f3b43510410dad46e1840c5c99f' into release/1.1
* commit '5af78cc98d807f3b43510410dad46e1840c5c99f': mlp: store the channel layout for each substream. mlpdec: TrueHD: use Libav channel order. mlpdec: set the channel layout. x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly Conflicts: libavcodec/mlp_parser.c libavcodec/mlpdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -361,32 +361,6 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
|
|||||||
for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
|
for (substr = 0; substr < MAX_SUBSTREAMS; substr++)
|
||||||
m->substream[substr].restart_seen = 0;
|
m->substream[substr].restart_seen = 0;
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (mh.stream_type == 0xbb) {
|
|
||||||
/* MLP stream */
|
|
||||||
m->avctx->channel_layout = ff_mlp_layout[mh.channels_mlp];
|
|
||||||
} else { /* mh.stream_type == 0xba */
|
|
||||||
/* TrueHD stream */
|
|
||||||
if (mh.channels_thd_stream2) {
|
|
||||||
m->avctx->channel_layout = ff_truehd_layout(mh.channels_thd_stream2);
|
|
||||||
} else {
|
|
||||||
m->avctx->channel_layout = ff_truehd_layout(mh.channels_thd_stream1);
|
|
||||||
}
|
|
||||||
if (m->avctx->channels<=2 && m->avctx->channel_layout == AV_CH_LAYOUT_MONO && m->max_decoded_substream == 1) {
|
|
||||||
av_log(m->avctx, AV_LOG_DEBUG, "Mono stream with 2 substreams, ignoring 2nd\n");
|
|
||||||
m->max_decoded_substream = 0;
|
|
||||||
if (m->avctx->channels==2)
|
|
||||||
m->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
|
|
||||||
}
|
|
||||||
if (m->avctx->channels &&
|
|
||||||
!m->avctx->request_channels && !m->avctx->request_channel_layout &&
|
|
||||||
av_get_channel_layout_nb_channels(m->avctx->channel_layout) != m->avctx->channels) {
|
|
||||||
m->avctx->channel_layout = 0;
|
|
||||||
av_log_ask_for_sample(m->avctx, "Unknown channel layout.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
/* Set the layout for each substream. When there's more than one, the first
|
/* Set the layout for each substream. When there's more than one, the first
|
||||||
* substream is Stereo. Subsequent substreams' layouts are indicated in the
|
* substream is Stereo. Subsequent substreams' layouts are indicated in the
|
||||||
* major sync. */
|
* major sync. */
|
||||||
@@ -412,8 +386,6 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
m->needs_reordering = mh.channels_mlp >= 18 && mh.channels_mlp <= 20;
|
m->needs_reordering = mh.channels_mlp >= 18 && mh.channels_mlp <= 20;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user