diff libpostproc/postprocess.h @ 96:29ac11dc53d3 libavcodec

fixed a bug in the horizontal default filter 3dnow version of the Horizontal & Vertical Lowpass filters mmx version of the Horizontal Default filter mmx2 & C versions of a simple filter described in a paper from ramkishor & karan added mode flags & quality2mode function
author arpi
date Wed, 10 Oct 2001 22:21:19 +0000
parents 8bce253b537c
children e57b1d38d71f
line wrap: on
line diff
--- a/libpostproc/postprocess.h	Wed Oct 10 22:13:27 2001 +0000
+++ b/libpostproc/postprocess.h	Wed Oct 10 22:21:19 2001 +0000
@@ -21,8 +21,25 @@
 #define POSTPROCESS_H
 
 #define BLOCK_SIZE 8
+#define TEMP_STRIDE 8
 
-#define TEMP_STRIDE 8
+#define V_DEBLOCK	0x01
+#define H_DEBLOCK	0x02
+#define DERING		0x04
+
+#define LUM_V_DEBLOCK	V_DEBLOCK
+#define LUM_H_DEBLOCK	H_DEBLOCK
+#define CHROM_V_DEBLOCK	(V_DEBLOCK<<4)
+#define CHROM_H_DEBLOCK	(H_DEBLOCK<<4)
+#define LUM_DERING	DERING
+#define CHROM_DERING	(DERING<<4)
+
+// Experimental stuff
+#define RK_FILTER		0x0100
+#define LUM_V_RK_FILTER		RK_FILTER
+#define CHROM_V_RK_FILTER	(RK_FILTER<<4)
+
+
 #define TIMEING
 #define MORE_TIMEING
 
@@ -33,11 +50,17 @@
 
 #define QP_STORE_T int
 
+#ifdef HAVE_MMX2
+#define PAVGB(a,b) "pavgb " #a ", " #b " \n\t"
+#elif defined (HAVE_3DNOW)
+#define PAVGB(a,b) "pavgusb " #a ", " #b " \n\t"
+#endif
+
 #ifdef __cplusplus
 //#include <inttypes.h>
 
 void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStride, int width, int height,
-	QP_STORE_T QPs[], int QPStride, bool isColor);
+	QP_STORE_T QPs[], int QPStride, bool isColor, int mode);
 #endif
 
 #ifdef __cplusplus
@@ -49,6 +72,8 @@
                  int horizontal_size,   int vertical_size,
                  QP_STORE_T *QP_store,  int QP_stride,
 		 					   int mode);
+
+int getModeForQuality(int quality);
 #ifdef __cplusplus
 }
 #endif