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: L„nge eines gepackten Blocks*/ } DVSMHEAD; Packformat (CPU) --------------- (im Moment nur fr 16 Bit Stereo Samples!!!!) Ein Block ist wie folgt aufgebaut (L„nge 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 enth„lt Funktionwerte der Funktion / -1.084618362^-x fr x<0 (-128 bis -1) f(x)= { 0 fr x=0 (0) \ 1.084618362^x fr x>0 (1 bis 127) Die Tabelle ist (logischerweise) 256 Bytes lang! Andreas Binner