26 #ifndef POSTPROC_POSTPROCESS_INTERNAL_H 27 #define POSTPROC_POSTPROCESS_INTERNAL_H 31 #include "libavutil/intmath.h" 32 #include "libavutil/log.h" 35 #define V_DEBLOCK 0x01 36 #define H_DEBLOCK 0x02 38 #define LEVEL_FIX 0x08 40 #define LUM_V_DEBLOCK V_DEBLOCK // 1 41 #define LUM_H_DEBLOCK H_DEBLOCK // 2 42 #define CHROM_V_DEBLOCK (V_DEBLOCK<<4) // 16 43 #define CHROM_H_DEBLOCK (H_DEBLOCK<<4) // 32 44 #define LUM_DERING DERING // 4 45 #define CHROM_DERING (DERING<<4) // 64 46 #define LUM_LEVEL_FIX LEVEL_FIX // 8 47 #define CHROM_LEVEL_FIX (LEVEL_FIX<<4) // 128 (not implemented yet) 50 #define V_X1_FILTER 0x0200 // 512 51 #define V_A_DEBLOCK 0x0400 54 #define H_X1_FILTER 0x2000 // 8192 55 #define H_A_DEBLOCK 0x4000 58 #define FULL_Y_RANGE 0x8000 // 32768 61 #define LINEAR_IPOL_DEINT_FILTER 0x10000 // 65536 62 #define LINEAR_BLEND_DEINT_FILTER 0x20000 // 131072 63 #define CUBIC_BLEND_DEINT_FILTER 0x8000 // (not implemented yet) 64 #define CUBIC_IPOL_DEINT_FILTER 0x40000 // 262144 65 #define MEDIAN_DEINT_FILTER 0x80000 // 524288 66 #define FFMPEG_DEINT_FILTER 0x400000 67 #define LOWPASS5_DEINT_FILTER 0x800000 69 #define TEMP_NOISE_FILTER 0x100000 70 #define FORCE_QUANT 0x200000 71 #define BITEXACT 0x1000000 72 #define VISUALIZE 0x2000000 84 const char *shortName;
107 int flatnessThreshold;
134 uint8_t *tempBlurred[3];
135 int32_t *tempBlurredPast[3];
154 int8_t *forcedQPTable;
169 int hChromaSubSample;
170 int vChromaSubSample;
176 static inline void linecpy(
void *dest,
const void *src,
int lines,
int stride) {
178 memcpy(dest, src, lines*stride);
180 memcpy((uint8_t*)dest+(lines-1)*stride, (
const uint8_t*)src+(lines-1)*stride, -lines*stride);
const AVClass * av_class
info on struct for av_log
Definition: postprocess_internal.h:119
int chromMode
activates filters for chrominance
Definition: postprocess_internal.h:97
uint8_t * tempDst
Temporary buffers for handling the last row(s)
Definition: postprocess_internal.h:138
Convenience header that includes libavutil's core.
struct PPMode PPMode
Postprocessing mode.
int minAllowedY
for brightness correction
Definition: postprocess_internal.h:100
int qpStride
size of qp buffers (needed to realloc them if needed)
Definition: postprocess_internal.h:166
uint64_t * yHistogram
luma histogram.
Definition: postprocess_internal.h:128
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
Definition: mem.h:120
int minLumQuality
minimum quality to turn luminance filtering on
Definition: postprocess_internal.h:87
int error
non zero on error
Definition: postprocess_internal.h:98
int forcedQuant
quantizer if FORCE_QUANT is used
Definition: postprocess_internal.h:109
int maxAllowedY
for brightness correction
Definition: postprocess_internal.h:101
int minChromQuality
minimum quality to turn chrominance filtering on
Definition: postprocess_internal.h:88
int lumMode
activates filters for luminance
Definition: postprocess_internal.h:96
Postprocessing mode.
Definition: postprocess_internal.h:95
int8_t * stdQPTable
used to fix MPEG2 style qscale
Definition: postprocess_internal.h:152
uint8_t * tempBlocks
used for the horizontal code
Definition: postprocess_internal.h:121
Describe the class of an AVClass context structure.
Definition: log.h:67
Rational number (pair of numerator and denominator).
Definition: rational.h:58
AVRational maxClippedThreshold
amount of "black" you are willing to lose to get a brightness-corrected picture
Definition: postprocess_internal.h:102
int chromDefault
is chrominance filtering on by default if this filter is manually activated
Definition: postprocess_internal.h:86
int mask
Bitmask to turn this filter on.
Definition: postprocess_internal.h:89
Postprocessing filter.
Definition: postprocess_internal.h:83
struct PPContext PPContext
postprocess context.
postprocess context.
Definition: postprocess_internal.h:115
int stride
size of some buffers (needed to realloc them if needed)
Definition: postprocess_internal.h:167