DCT2 - 2D Discrete Cosine Transform Routines dctiv_2 - in-place IV-type 2D-DCT dct_2 - in-place 2D-DCT Function Prototypes: void dctiv_2(float **x, int n1, int n2, float **c1, float **c2); void dct_2(float **x, int n1, int n2, float **c1, float **c2, int type); dctiv_2: Input: x array[][] of the signal before and after transform n1 length of the signal along the 1st dimension n2 length of the signal along the 2nd dimension c1 table for the 1st dimension c2 table for the 2nd dimension dct_2: Input: x array[][] of the signal before and after transform n1 length of the signal along the 1st dimension n2 length of the signal along the 2nd dimension c1 table for the 1st dimension c2 table for the 2nd dimension type 0 for forward and 1 for inverse transform Author: Tong Chen, 03/16/95 Modifier: Tong Chen, 06/01/95, use pre-generated table include "comp.h" function used internally static void dctiv_row(float **x, int n1, int n2, float **c); static void dct_row(float **x, int n1, int n2, float **c, int type); void dctiv_2(float **x, int n1, int n2, float **c1, float **c2) in place IV-type 2D-DCT x array[][] of the signal before and after transform n1 length of the signal along the 1st dimension n2 length of the signal along the 2nd dimension c1 table for the 1st dimension c2 table for the 2nd dimension Author: Tong Chen, 03/16/95 Modifier: Tong Chen, 06/01/95, use pre-generated table { int i; /* first along the faster dimension for(i=0; i