diff options
Diffstat (limited to 'postproc/postprocess.h')
-rw-r--r-- | postproc/postprocess.h | 55 |
1 files changed, 16 insertions, 39 deletions
diff --git a/postproc/postprocess.h b/postproc/postprocess.h index b2ad963ccb..66cccd1131 100644 --- a/postproc/postprocess.h +++ b/postproc/postprocess.h @@ -20,10 +20,6 @@ #ifndef NEWPOSTPROCESS_H #define NEWPOSTPROCESS_H -#define BLOCK_SIZE 8 -#define TEMP_STRIDE 8 -//#define NUM_BLOCKS_AT_ONCE 16 //not used yet - #define V_DEBLOCK 0x01 #define H_DEBLOCK 0x02 #define DERING 0x04 @@ -39,11 +35,9 @@ #define CHROM_LEVEL_FIX (LEVEL_FIX<<4) // 128 (not implemented yet) // Experimental vertical filters -#define V_RK1_FILTER 0x0100 // 256 #define V_X1_FILTER 0x0200 // 512 // Experimental horizontal filters -#define H_RK1_FILTER 0x1000 // 4096 #define H_X1_FILTER 0x2000 // 8192 // select between full y range (255-0) or standart one (234-16) @@ -55,6 +49,7 @@ #define CUBIC_BLEND_DEINT_FILTER 0x8000 // (not implemented yet) #define CUBIC_IPOL_DEINT_FILTER 0x40000 // 262144 #define MEDIAN_DEINT_FILTER 0x80000 // 524288 +#define FFMPEG_DEINT_FILTER 0x400000 #define TEMP_NOISE_FILTER 0x100000 #define FORCE_QUANT 0x200000 @@ -62,12 +57,6 @@ #define GET_PP_QUALITY_MAX 6 -//must be defined if stride%8 != 0 -//#define PP_FUNNY_STRIDE - -//#define TIMING -//#define MORE_TIMING - //use if u want a faster postprocessing code //cant differentiate between chroma & luma filters (both on or both off) //obviosly the -pp option at the commandline has no effect except turning the here selected @@ -76,10 +65,11 @@ #define QP_STORE_T int -struct PPMode{ +char *postproc_help; + +typedef struct PPMode{ int lumMode; //acivates filters for luminance int chromMode; //acivates filters for chrominance - int oldMode; // will be passed to odivx int error; // non zero on error int minAllowedY; // for brigtness correction @@ -88,35 +78,22 @@ struct PPMode{ int maxTmpNoise[3]; // for Temporal Noise Reducing filter (Maximal sum of abs differences) int maxDcDiff; // max abs diff between pixels to be considered flat - int forcedQuant; // quantizer if FORCE_QUANT is used -}; - -struct PPFilter{ - char *shortName; - char *longName; - int chromDefault; // is chrominance filtering on by default if this filter is manually activated - int minLumQuality; // minimum quality to turn luminance filtering on - int minChromQuality; // minimum quality to turn chrominance filtering on - int mask; // Bitmask to turn this filter on -}; - -/* Obsolete, dont use it, use postprocess2() instead */ -void postprocess(unsigned char * src[], int src_stride, - unsigned char * dst[], int dst_stride, - int horizontal_size, int vertical_size, - QP_STORE_T *QP_store, int QP_stride, int mode); - -void postprocess2(unsigned char * src[], int src_stride, - unsigned char * dst[], int dst_stride, - int horizontal_size, int vertical_size, - QP_STORE_T *QP_store, int QP_stride, struct PPMode *mode); + int flatnessThreshold; + int forcedQuant; // quantizer if FORCE_QUANT is used +} PPMode; -/* Obsolete, dont use it, use getPpModeByNameAndQuality() instead */ -int getPpModeForQuality(int quality); +void postprocess(uint8_t * src[3], int srcStride[3], + uint8_t * dst[3], int dstStride[3], + int horizontalSize, int verticalSize, + QP_STORE_T *QP_store, int QP_stride, + PPMode *mode, void *ppContext); // name is the stuff after "-pp" on the command line -struct PPMode getPPModeByNameAndQuality(char *name, int quality); +PPMode getPPModeByNameAndQuality(char *name, int quality); + +void *getPPContext(int width, int height); +void freePPContext(void *ppContext); int readPPOpt(void *conf, char *arg); |