const blockSize … type block … const w1 … const w2 … const w3 … const w5 … const w6 … const w7 … const w1pw7 … const w1mw7 … const w2pw6 … const w2mw6 … const w3pw5 … const w3mw5 … const r2 … // idct performs a 2-D Inverse Discrete Cosine Transformation. // // The input coefficients should already have been multiplied by the // appropriate quantization table. We use fixed-point computation, with the // number of bits for the fractional component varying over the intermediate // stages. // // For more on the actual algorithm, see Z. Wang, "Fast algorithms for the // discrete W transform and for the discrete Fourier transform", IEEE Trans. on // ASSP, Vol. ASSP- 32, pp. 803-816, Aug. 1984. func idct(src *block) { … }