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