Index: libmpc/branches/r2d/mppenc/mppenc.c
===================================================================
--- libmpc/branches/r2d/mppenc/mppenc.c	(revision 138)
+++ libmpc/branches/r2d/mppenc/mppenc.c	(revision 147)
@@ -1631,5 +1631,4 @@
 
 	e.MS_Channelmode = m.MS_Channelmode;
-//     e.BufferedBits     = 0;
 	writeMagic(&e);
 	writeStreamInfo ( &e, m.Max_Band, m.MS_Channelmode > 0, SamplesInWAVE,
@@ -1641,4 +1640,8 @@
 					  MPPENC_IMPLEMENT, MPPENC_BUILD);
 	writeBlock(&e, "EI", FALSE);
+	e.seek_ref = ftell(e.outputFile);
+	writeBits (&e, 0, 32); // jump 32 bits for seek table pointer
+	writeBlock(&e, "ST", FALSE); // reserve space for pointer
+
 
     // initialize timer
@@ -1722,7 +1725,4 @@
         }
 
-        // for backwards-compatibility with older decoders write the 11 bit for
-        // reconstruction of exact filelength before the very last frame
-
         memmove ( Main.L, Main.L + BLOCK, CENTER * sizeof(float) );
         memmove ( Main.R, Main.R + BLOCK, CENTER * sizeof(float) );
@@ -1743,5 +1743,9 @@
 
     // write the last incomplete block
+	e.seek_table[e.seek_pos] = ftell(e.outputFile);
+	e.seek_pos++;
 	writeBlock(&e, "AD", FALSE);
+	writeSeekTable(&e);
+	writeBlock(&e, "ST", FALSE); // write seek table block
 	writeBlock(&e, "SE", FALSE); // write end of stream block
     ShowProgress (&m, SamplesInWAVE, SamplesInWAVE, e.outputBits );
Index: libmpc/branches/r2d/mppenc/mppenc.h
===================================================================
--- libmpc/branches/r2d/mppenc/mppenc.h	(revision 138)
+++ libmpc/branches/r2d/mppenc/mppenc.h	(revision 147)
@@ -121,5 +121,7 @@
 void writeGainInfo ( mpc_encoder_t * e );
 void writeBlock ( mpc_encoder_t * e, const char * key, const mpc_bool_t addCRC);
-void writeMagic(mpc_encoder_t * e);
+void writeMagic (mpc_encoder_t * e);
+void writeBits (mpc_encoder_t * e, mpc_uint32_t input, unsigned int bits );
+void writeSeekTable (mpc_encoder_t * e);
 void         WriteBitstream_SV7   ( mpc_encoder_t*, const int, const SubbandQuantTyp* );
 
