annotate Meerwald/dct.h @ 22:d8551fb39a5e default tip

Added tag v0.6 for changeset 1c4ccd635a68
author Peter Meerwald-Stadler <pmeerw@pmeerw.net>
date Sat, 28 Jan 2023 23:57:51 +0100
parents acb6967ee76d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
1 #ifndef DCT_H
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
2 #define DCT_H
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
3
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
4 #include "wm.h"
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
5 #include "coeff.h"
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
6 #include "pgm.h"
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
7
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
8 extern int N;
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
9 extern int M;
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
10
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
11 void init_dct_NxM(int width, int height);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
12 void fdct_NxM(gray **pixels, double **dcts);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
13 void idct_NxM(double **dcts, gray **pixels);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
14
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
15 void init_dct_NxN(int width, int height);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
16 void fdct_NxN(gray **pixels, double **dcts);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
17 void idct_NxN(double **dcts, gray **pixels);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
18 void fdct_inplace_NxN(double **coeffs);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
19 void idct_inplace_NxN(double **coeffs);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
20
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
21 /*
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
22 * 'NJPEG' defines the JPEG's DCT block size (8x8)
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
23 */
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
24 #define NJPEG 8
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
25
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
26 void init_quantum_8x8(int quality);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
27 void init_quantum_JPEG_lumin(int quality);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
28 void init_quantum_JPEG_chromin(int quality);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
29 void quantize_8x8(double **transform);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
30 void dequantize_8x8(double **transform);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
31 void init_dct_8x8();
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
32 void fdct_8x8(gray **input, double **output);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
33 void fdct_block_8x8(gray **input, int col, int row, double **output);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
34 void idct_8x8(double **input, gray **output);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
35 void idct_block_8x8(double **input, gray **output, int col, int row);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
36 int is_middle_frequency_coeff_8x8(int coeff);
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
37
Peter Meerwald <pmeerw@cosy.sbg.ac.at>
parents:
diff changeset
38 #endif

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.