Index: /libmpcdec/trunk/src/mpc_decoder.c
===================================================================
--- /libmpcdec/trunk/src/mpc_decoder.c	(revision 196)
+++ /libmpcdec/trunk/src/mpc_decoder.c	(revision 197)
@@ -258,11 +258,15 @@
 }
 
+// Frame decoding. Takes big endian 32 bits words as input
 mpc_uint32_t
 mpc_decoder_decode_frame(mpc_decoder *d, mpc_uint32_t *in_buffer,
                          mpc_uint32_t in_len, MPC_SAMPLE_FORMAT *out_buffer)
 {
+  unsigned int i;
   mpc_decoder_reset_bitstream_decode(d);
   if (in_len > sizeof(d->Speicher)) in_len = sizeof(d->Speicher);
   memcpy(d->Speicher, in_buffer, in_len);
+  for (i = 0; i < (in_len + 3) / 4; i++)
+    d->Speicher[i] = mpc_swap32(d->Speicher[i]);
   d->dword = SWAP(d->Speicher[0]);
   switch (d->StreamVersion) {
