Mercurial > libavcodec.hg
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 |