diff Meerwald/dct.h @ 0:be303a3f5ea8

import
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Sun, 12 Aug 2007 13:14:34 +0200
parents
children acb6967ee76d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Meerwald/dct.h	Sun Aug 12 13:14:34 2007 +0200
@@ -0,0 +1,44 @@
+#ifndef DCT_H
+#define DCT_H
+
+#include "wm.h"
+#include "coeff.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "pgm.h"
+#ifdef __cplusplus
+}
+#endif
+
+extern int N;
+extern int M;
+
+void init_dct_NxM(int width, int height);
+void fdct_NxM(gray **pixels, double **dcts);
+void idct_NxM(double **dcts, gray **pixels);
+
+void init_dct_NxN(int width, int height);
+void fdct_NxN(gray **pixels, double **dcts);
+void idct_NxN(double **dcts, gray **pixels);
+void fdct_inplace_NxN(double **coeffs);
+void idct_inplace_NxN(double **coeffs);
+
+/*
+ * 'NJPEG' defines the JPEG's DCT block size (8x8)
+ */
+#define NJPEG 8
+
+void init_quantum_8x8(int quality);
+void init_quantum_JPEG_lumin(int quality);
+void init_quantum_JPEG_chromin(int quality);
+void quantize_8x8(double **transform);
+void dequantize_8x8(double **transform);
+void init_dct_8x8();
+void fdct_8x8(gray **input, double **output);
+void fdct_block_8x8(gray **input, int col, int row, double **output);
+void idct_8x8(double **input, gray **output);
+void idct_block_8x8(double **input, gray **output, int col, int row);
+int is_middle_frequency_coeff_8x8(int coeff);
+
+#endif

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