/* private functions ------------------------------------------------------- */ /* reversible forward decorrelating 3D transform */ static void _t2(rev_fwd_xform, Int, 3)(Int* p) { uint x, y, z; /* transform along x */ for (z = 0; z < 4; z++) for (y = 0; y < 4; y++) _t1(rev_fwd_lift, Int)(p + 4 * y + 16 * z, 1); /* transform along y */ for (x = 0; x < 4; x++) for (z = 0; z < 4; z++) _t1(rev_fwd_lift, Int)(p + 16 * z + 1 * x, 4); /* transform along z */ for (y = 0; y < 4; y++) for (x = 0; x < 4; x++) _t1(rev_fwd_lift, Int)(p + 1 * x + 4 * y, 16); }