DVSM Samples
------------


typedef struct
{
    char magic[6];     /* "DVSM\0\0" */
    int headlen;       /* Headlen in Bytes*/
    int freq;          /* Samplefrequenz 0=8kHz 7=50kHz (erlaubte 
                          CODEC Frequenzen)*/
    char pack;         /* 0=Ungepackt, 2=DVS Packmethode(CPU)*/
    char mode;         /* 0=Stereo 8Bit,1=Stereo 16Bit,2=Mono 8Bit*/
    long blocklen;     /* falls pack>1: Lnge eines gepackten Blocks*/ 
} DVSMHEAD;


Packformat (CPU)
---------------
 (im Moment nur fr 16 Bit Stereo Samples!!!!)
 
Ein Block ist wie folgt aufgebaut (Lnge siehe 'blocklen'):

 1. Soundword Links    (16 Bit)
 1. Soundword Rechts   (16 Bit)
 1. Distanzwert Links  (8 Bit)
 1. Distanzwert Rechts (8 Bit)
 				.
 				.
 				.
 n. Distanzwert Links  (8 Bit)
 n. Distanzwert Rechts (8 Bit)


Distanzwerte sind Zeiger auf eine Tabelle mit den 'echten'
16 Bit Distanzwerten. Die Tabelle enthlt Funktionwerte der
Funktion
				   / -1.084618362^-x  fr x<0  (-128 bis -1)
			f(x)= {   0               fr x=0  (0)
				   \  1.084618362^x   fr x>0  (1 bis 127)
				   
Die Tabelle ist (logischerweise) 256 Bytes lang!


Andreas Binner
