From 1ff723dd53123cde80dfd071ad84f13a341849c9 Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 10 Oct 2001 22:21:19 +0000 Subject: 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 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2160 b3059339-0415-0410-9bf9-f77b7e298cf2 --- postproc/postprocess.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'postproc/postprocess.h') diff --git a/postproc/postprocess.h b/postproc/postprocess.h index 23602892be..e91e240ab2 100644 --- a/postproc/postprocess.h +++ b/postproc/postprocess.h @@ -21,8 +21,25 @@ #define POSTPROCESS_H #define BLOCK_SIZE 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 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 @@ void postprocess(unsigned char * src[], int src_stride, int horizontal_size, int vertical_size, QP_STORE_T *QP_store, int QP_stride, int mode); + +int getModeForQuality(int quality); #ifdef __cplusplus } #endif -- cgit v1.2.3