Hi! Forgive me if I am mistaken, but in the vorbis I spec. at 7.2.2 floor1 header decode this is written [lines wrapped]: 18) iterate [i] over the range 0 ... [floor1_partitions]-1 { 19) [current_class_number] = vector [floor1_partition_class_list] element [i] 20) iterate [j] over the range 0 ... ([floor1_class_dimensions] element [current_class_number])-1 { 21) vector [floor1_X_list] element ([j] + [floor1_values]) = read [rangebits] bits as unsigned integer 22) increment [floor1_values] by one } } Shouldn't point 21 instead be 21) vector [floor1_X_list] element ([floor1_values]) = read [rangebits] bits as unsigned integer in order to read all values, but not run over the data. bye Denes -- - Use the Source Luke ! -