Fix channel order for 7.1 TrueHD samples.

This commit is contained in:
Carl Eugen Hoyos 2011-04-14 03:43:58 +02:00
parent 939a12e25d
commit 6daf513cf2

View File

@ -453,6 +453,11 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
FFSWAP(int, s->ch_assign[3], s->ch_assign[5]);
}
}
if (m->avctx->codec_id == CODEC_ID_TRUEHD &&
m->avctx->channel_layout == AV_CH_LAYOUT_7POINT1) {
FFSWAP(int, s->ch_assign[4], s->ch_assign[6]);
FFSWAP(int, s->ch_assign[5], s->ch_assign[7]);
}
checksum = ff_mlp_restart_checksum(buf, get_bits_count(gbp) - start_count);