Initially the data in scalefactor band order, with each line of the table repeated three times for three windows. The data must be transposed as 3 x L matrices by scalefactor band, so for the first six bands the order will be
1 5 9 2 6 10 3 7 11 4 8 12
13 17 21 14 18 22 15 19 23 16 20 24
25 29 33 26 30 34 27 31 35 28 32 36
37 41 45 38 42 46 39 43 47 40 44 48
49 55 61 50 56 62 51 57 63 52 58 64 53 59 65 54 60 66
67 75 83 68 76 84 69 77 85 70 78 86 71 79 87 72 80 88 73 81 89 74 82 90
grouped by scalefactor band here.
Grouping them by subband (for demonstration purposes, no shuffling around here):
1 5 9 2 6 10 3 7 11 4 8 12 13 17 21 14 18 22
15 19 23 16 20 24 25 29 33 26 30 34 27 31 35 28 32 36
37 41 45 38 42 46 39 43 47 40 44 48 49 55 61 50 56 62
51 57 63 52 58 64 53 59 65 54 60 66 67 75 83 68 76 84
69 77 85 70 78 86 71 79 87 72 80 88 73 81 89 74 82 90
there subbands aren't ordered by frequency, but since all initial blocks were divisible by 3, the values are still interleaved in window1, window2, window3 order, and can be trasposed as 6 x 3 matrices by subband to restore the correct order.
1 2 3 4 13 14 5 6 7 8 17 18 9 10 11 12 21 22
15 16 25 26 27 28 19 20 29 30 31 32 23 24 33 34 35 36
37 38 39 40 49 50 41 42 43 44 55 56 45 46 47 48 61 62
51 52 53 54 67 68 57 58 59 60 75 76 63 64 65 66 83 84
69 70 71 72 73 74 77 78 79 80 81 82 85 86 87 88 89 90
and now it's ready for IMDCT.
(yes, I typed all of that by hand)
So the specification said "put data in the correct order", and left figuring out what the correct order is supposed to be as an exercise for the reader.
Maybe if I knew anything about signal processing that would be immediately obvious to me.
