diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-02-29 02:05:54 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-02-29 02:05:54 +0100 |
commit | 7f80afe0a7ae7982f1a074c838f7e8e7e361e6fb (patch) | |
tree | 2331cbcc8cf5779fdd5d63d3e8ba1a58ad47a5ad | |
parent | 0ae9b32e51e6920298ae8aaf4c481eae422c50a6 (diff) | |
download | ffmpeg-7f80afe0a7ae7982f1a074c838f7e8e7e361e6fb.tar.gz |
libpostproc: add bitexact mode, which is needed for regression testing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libpostproc/postprocess.c | 7 | ||||
-rw-r--r-- | libpostproc/postprocess_internal.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c index ef9cd44af9..1e31cee9f3 100644 --- a/libpostproc/postprocess.c +++ b/libpostproc/postprocess.c @@ -150,6 +150,7 @@ static struct PPFilter filters[]= {"l5", "lowpass5", 1, 1, 4, LOWPASS5_DEINT_FILTER}, {"tn", "tmpnoise", 1, 7, 8, TEMP_NOISE_FILTER}, {"fq", "forcequant", 1, 0, 0, FORCE_QUANT}, + {"be", "bitexact", 1, 0, 0, BITEXACT}, {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, //Note: we have C, MMX, MMX2, 3DNOW version there is no 3DNOW+MMX2 one //Plain C versions -#if !(HAVE_MMX || HAVE_ALTIVEC) || CONFIG_RUNTIME_CPUDETECT +//we always compile C for testing which needs bitexactness #define COMPILE_C -#endif #if HAVE_ALTIVEC #define COMPILE_ALTIVEC @@ -624,6 +624,9 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[] PPMode *ppMode= (PPMode *)vm; 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 // difference would not be measurable here but it is much better because // someone might exchange the CPU whithout restarting MPlayer ;) diff --git a/libpostproc/postprocess_internal.h b/libpostproc/postprocess_internal.h index 2256d78f78..33c5f6932b 100644 --- a/libpostproc/postprocess_internal.h +++ b/libpostproc/postprocess_internal.h @@ -67,6 +67,7 @@ #define TEMP_NOISE_FILTER 0x100000 #define FORCE_QUANT 0x200000 +#define BITEXACT 0x1000000 //use if you want a faster postprocessing code //cannot differentiate between chroma & luma filters (both on or both off) |