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 |
