comparison libpostproc/postprocess.h @ 156:c09459686be3 libavcodec

temporal noise reducer in C (-pp 0x100000) setting the thresholds from the commandline requires postprocess2() / getPpModeByNameAndQuality() (someone could perhaps modify mplayer so that they are beiing used, iam too lazy for it ;)
author michael
date Tue, 13 Nov 2001 02:40:56 +0000
parents f91bb7527628
children a0efaf471d6b
comparison
equal deleted inserted replaced
155:3c3449bce692 156:c09459686be3
54 #define LINEAR_BLEND_DEINT_FILTER 0x20000 // 131072 54 #define LINEAR_BLEND_DEINT_FILTER 0x20000 // 131072
55 #define CUBIC_BLEND_DEINT_FILTER 0x8000 // (not implemented yet) 55 #define CUBIC_BLEND_DEINT_FILTER 0x8000 // (not implemented yet)
56 #define CUBIC_IPOL_DEINT_FILTER 0x40000 // 262144 56 #define CUBIC_IPOL_DEINT_FILTER 0x40000 // 262144
57 #define MEDIAN_DEINT_FILTER 0x80000 // 524288 57 #define MEDIAN_DEINT_FILTER 0x80000 // 524288
58 58
59 #define TEMP_NOISE_FILTER 0x100000
60
59 61
60 #define GET_PP_QUALITY_MAX 6 62 #define GET_PP_QUALITY_MAX 6
61 63
62 //must be defined if stride%8 != 0 64 //must be defined if stride%8 != 0
63 //#define PP_FUNNY_STRIDE 65 //#define PP_FUNNY_STRIDE
71 int lumMode; //acivates filters for luminance 73 int lumMode; //acivates filters for luminance
72 int chromMode; //acivates filters for chrominance 74 int chromMode; //acivates filters for chrominance
73 int oldMode; // will be passed to odivx 75 int oldMode; // will be passed to odivx
74 int error; // non zero on error 76 int error; // non zero on error
75 77
76 int minAllowedY; 78 int minAllowedY; // for brigtness correction
77 int maxAllowedY; 79 int maxAllowedY; // for brihtness correction
80
81 int maxTmpNoise[3]; // for Temporal Noise Reducing filter (Maximal sum of abs differences)
78 }; 82 };
79 83
80 struct PPFilter{ 84 struct PPFilter{
81 char *shortName; 85 char *shortName;
82 char *longName; 86 char *longName;
83 int chromDefault; 87 int chromDefault; // is chrominance filtering on by default if this filter is manually activated
84 int minLumQuality; 88 int minLumQuality; // minimum quality to turn luminance filtering on
85 int minChromQuality; 89 int minChromQuality; // minimum quality to turn chrominance filtering on
86 int mask; 90 int mask; // Bitmask to turn this filter on
87 }; 91 };
88 92
93 /* Obsolete, dont use it, use postprocess2() instead */
89 void postprocess(unsigned char * src[], int src_stride, 94 void postprocess(unsigned char * src[], int src_stride,
90 unsigned char * dst[], int dst_stride, 95 unsigned char * dst[], int dst_stride,
91 int horizontal_size, int vertical_size, 96 int horizontal_size, int vertical_size,
92 QP_STORE_T *QP_store, int QP_stride, int mode); 97 QP_STORE_T *QP_store, int QP_stride, int mode);
93 98
95 unsigned char * dst[], int dst_stride, 100 unsigned char * dst[], int dst_stride,
96 int horizontal_size, int vertical_size, 101 int horizontal_size, int vertical_size,
97 QP_STORE_T *QP_store, int QP_stride, struct PPMode *mode); 102 QP_STORE_T *QP_store, int QP_stride, struct PPMode *mode);
98 103
99 104
105 /* Obsolete, dont use it, use getPpModeByNameAndQuality() instead */
100 int getPpModeForQuality(int quality); 106 int getPpModeForQuality(int quality);
101 107
108 // name is the stuff after "-pp" on the command line
102 struct PPMode getPpModeByNameAndQuality(char *name, int quality); 109 struct PPMode getPpModeByNameAndQuality(char *name, int quality);
103 110
104 #endif 111 #endif