summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2001-10-19 13:56:12 +0000
committerMichael Niedermayer <michaelni@gmx.at>2001-10-19 13:56:12 +0000
commita0e8aca3645cf1d6c5cd9129efc4edde5c0343a8 (patch)
treedefa094fcd6d81e386ce43502bc99fdf9a8de957
parent658a85f26fd95031bcf2fc68e6a2420dcf4a5a7e (diff)
added compiletime option to turn width%8==0 on
Originally committed as revision 2287 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
-rw-r--r--postproc/postprocess.c4
-rw-r--r--postproc/postprocess.h3
-rw-r--r--postproc/postprocess_template.c4
3 files changed, 11 insertions, 0 deletions
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;