Commit 7f80afe0 authored by Michael Niedermayer's avatar Michael Niedermayer

libpostproc: add bitexact mode, which is needed for regression testing.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 0ae9b32e
...@@ -150,6 +150,7 @@ static struct PPFilter filters[]= ...@@ -150,6 +150,7 @@ static struct PPFilter filters[]=
{"l5", "lowpass5", 1, 1, 4, LOWPASS5_DEINT_FILTER}, {"l5", "lowpass5", 1, 1, 4, LOWPASS5_DEINT_FILTER},
{"tn", "tmpnoise", 1, 7, 8, TEMP_NOISE_FILTER}, {"tn", "tmpnoise", 1, 7, 8, TEMP_NOISE_FILTER},
{"fq", "forcequant", 1, 0, 0, FORCE_QUANT}, {"fq", "forcequant", 1, 0, 0, FORCE_QUANT},
{"be", "bitexact", 1, 0, 0, BITEXACT},
{NULL, NULL,0,0,0,0} //End Marker {NULL, NULL,0,0,0,0} //End Marker
}; };
...@@ -536,9 +537,8 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, ...@@ -536,9 +537,8 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride,
//Note: we have C, MMX, MMX2, 3DNOW version there is no 3DNOW+MMX2 one //Note: we have C, MMX, MMX2, 3DNOW version there is no 3DNOW+MMX2 one
//Plain C versions //Plain C versions
#if !(HAVE_MMX || HAVE_ALTIVEC) || CONFIG_RUNTIME_CPUDETECT //we always compile C for testing which needs bitexactness
#define COMPILE_C #define COMPILE_C
#endif
#if HAVE_ALTIVEC #if HAVE_ALTIVEC
#define COMPILE_ALTIVEC #define COMPILE_ALTIVEC
...@@ -624,6 +624,9 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[] ...@@ -624,6 +624,9 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[]
PPMode *ppMode= (PPMode *)vm; PPMode *ppMode= (PPMode *)vm;
c->ppMode= *ppMode; //FIXME c->ppMode= *ppMode; //FIXME
if(ppMode->lumMode & BITEXACT)
return postProcess_C(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c);
// Using ifs here as they are faster than function pointers although the // Using ifs here as they are faster than function pointers although the
// difference would not be measurable here but it is much better because // difference would not be measurable here but it is much better because
// someone might exchange the CPU whithout restarting MPlayer ;) // someone might exchange the CPU whithout restarting MPlayer ;)
......
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
#define TEMP_NOISE_FILTER 0x100000 #define TEMP_NOISE_FILTER 0x100000
#define FORCE_QUANT 0x200000 #define FORCE_QUANT 0x200000
#define BITEXACT 0x1000000
//use if you want a faster postprocessing code //use if you want a faster postprocessing code
//cannot differentiate between chroma & luma filters (both on or both off) //cannot differentiate between chroma & luma filters (both on or both off)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment