diff options
author | Eduard Hasenleithner <ehasenle@users.sourceforge.net> | 2001-07-21 22:05:17 +0000 |
---|---|---|
committer | Eduard Hasenleithner <ehasenle@users.sourceforge.net> | 2001-07-21 22:05:17 +0000 |
commit | 539b3c6391fa3f7e8ae24694548349ae1ccfcf63 (patch) | |
tree | 3eca4155850fce5a4dd7786cb300ee68ef322d91 | |
parent | d84b8e1ebd95b5f7d9cc1d555d5ac2be5cdba960 (diff) | |
download | xine-lib-539b3c6391fa3f7e8ae24694548349ae1ccfcf63.tar.gz xine-lib-539b3c6391fa3f7e8ae24694548349ae1ccfcf63.tar.bz2 |
Fixed the channel order for 5.0 and 5.1 modes.
CVS patchset: 317
CVS date: 2001/07/21 22:05:17
-rw-r--r-- | src/libac3/xine_decoder.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/libac3/xine_decoder.c b/src/libac3/xine_decoder.c index 0bd12e5e2..908540643 100644 --- a/src/libac3/xine_decoder.c +++ b/src/libac3/xine_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_decoder.c,v 1.16 2001/07/20 22:37:56 guenter Exp $ + * $Id: xine_decoder.c,v 1.17 2001/07/21 22:05:17 ehasenle Exp $ * * stuff needed to turn libac3 into a xine decoder plugin */ @@ -272,25 +272,25 @@ static void ac3dec_decode_frame (ac3dec_decoder_t *this, uint32_t pts) { float_to_int (this->samples[1], this->int_samples+1, 2); break; case AO_CAP_MODE_4CHANNEL: - float_to_int (this->samples[0], this->int_samples, 4); - float_to_int (this->samples[1], this->int_samples+1, 4); - float_to_int (this->samples[2], this->int_samples+2, 4); - float_to_int (this->samples[3], this->int_samples+3, 4); + float_to_int (this->samples[0], this->int_samples, 4); /* L */ + float_to_int (this->samples[1], this->int_samples+1, 4); /* R */ + float_to_int (this->samples[2], this->int_samples+2, 4); /* RL */ + float_to_int (this->samples[3], this->int_samples+3, 4); /* RR */ break; case AO_CAP_MODE_5CHANNEL: - float_to_int (this->samples[0], this->int_samples, 5); - float_to_int (this->samples[1], this->int_samples+1, 5); - float_to_int (this->samples[2], this->int_samples+2, 5); - float_to_int (this->samples[3], this->int_samples+3, 5); - float_to_int (this->samples[4], this->int_samples+4, 5); + float_to_int (this->samples[0], this->int_samples+0, 5); /* L */ + float_to_int (this->samples[1], this->int_samples+4, 5); /* C */ + float_to_int (this->samples[2], this->int_samples+1, 5); /* R */ + float_to_int (this->samples[3], this->int_samples+2, 5); /* RL */ + float_to_int (this->samples[4], this->int_samples+3, 5); /* RR */ break; case AO_CAP_MODE_5_1CHANNEL: - float_to_int (this->samples[0], this->int_samples, 6); - float_to_int (this->samples[1], this->int_samples+1, 6); - float_to_int (this->samples[2], this->int_samples+2, 6); - float_to_int (this->samples[3], this->int_samples+3, 6); - float_to_int (this->samples[4], this->int_samples+4, 6); - float_to_int (this->samples[5], this->int_samples+5, 6); + float_to_int (this->samples[0], this->int_samples+5, 6); /* lfe */ + float_to_int (this->samples[1], this->int_samples+0, 6); /* L */ + float_to_int (this->samples[2], this->int_samples+4, 6); /* C */ + float_to_int (this->samples[3], this->int_samples+1, 6); /* R */ + float_to_int (this->samples[4], this->int_samples+2, 6); /* RL */ + float_to_int (this->samples[5], this->int_samples+3, 6); /* RR */ break; default: printf ("libac3: help - unsupported mode %08x\n", output_mode); |