From c64769de509e22720ff0d2cbc66b419df5c65beb Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 19 Oct 2001 13:56:12 +0000 Subject: added compiletime option to turn width%8==0 on git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2287 b3059339-0415-0410-9bf9-f77b7e298cf2 --- postproc/postprocess.c | 4 ++++ postproc/postprocess.h | 3 +++ postproc/postprocess_template.c | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/postproc/postprocess.c b/postproc/postprocess.c index f558a1e9f6..c4c166528a 100644 --- a/postproc/postprocess.c +++ b/postproc/postprocess.c @@ -2561,6 +2561,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri if(!isColor) yHistogram[ srcBlock[srcStride*5] ]++; +#ifdef PP_FUNNY_STRIDE //can we mess with a 8x16 block, if not use a temp buffer, yes again if(x+7 >= width) { @@ -2577,6 +2578,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri dstBlock= tempDstBlock; srcBlock= tempSrcBlock; } +#endif blockCopy(dstBlock + dstStride*5, dstStride, srcBlock + srcStride*5, srcStride, 8, mode & LEVEL_FIX); @@ -2657,6 +2659,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri dering(dstBlock - stride*9 + width-9, stride, QP); //FIXME dering filter will not be applied to last block (bottom right) +#ifdef PP_FUNNY_STRIDE /* did we use a tmp-block buffer */ if(x+7 >= width) { @@ -2669,6 +2672,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri memcpy(dstBlock+i*dstStride, tempDstBlock+i*dstStride, width-x); } } +#endif dstBlock+=8; srcBlock+=8; diff --git a/postproc/postprocess.h b/postproc/postprocess.h index 20880a9874..4aa395cb97 100644 --- a/postproc/postprocess.h +++ b/postproc/postprocess.h @@ -59,6 +59,9 @@ #define GET_PP_QUALITY_MAX 6 +//must be defined if stride%8 != 0 +#define PP_FUNNY_STRIDE + //#define TIMING //#define MORE_TIMING diff --git a/postproc/postprocess_template.c b/postproc/postprocess_template.c index f558a1e9f6..c4c166528a 100644 --- a/postproc/postprocess_template.c +++ b/postproc/postprocess_template.c @@ -2561,6 +2561,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri if(!isColor) yHistogram[ srcBlock[srcStride*5] ]++; +#ifdef PP_FUNNY_STRIDE //can we mess with a 8x16 block, if not use a temp buffer, yes again if(x+7 >= width) { @@ -2577,6 +2578,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri dstBlock= tempDstBlock; srcBlock= tempSrcBlock; } +#endif blockCopy(dstBlock + dstStride*5, dstStride, srcBlock + srcStride*5, srcStride, 8, mode & LEVEL_FIX); @@ -2657,6 +2659,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri dering(dstBlock - stride*9 + width-9, stride, QP); //FIXME dering filter will not be applied to last block (bottom right) +#ifdef PP_FUNNY_STRIDE /* did we use a tmp-block buffer */ if(x+7 >= width) { @@ -2669,6 +2672,7 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri memcpy(dstBlock+i*dstStride, tempDstBlock+i*dstStride, width-x); } } +#endif dstBlock+=8; srcBlock+=8; -- cgit v1.2.3