Browse Source

added compiletime option to turn width%8==0 on

Originally committed as revision 2287 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
tags/v0.5
Michael Niedermayer 24 years ago
parent
commit
a0e8aca364
3 changed files with 11 additions and 0 deletions
  1. +4
    -0
      postproc/postprocess.c
  2. +3
    -0
      postproc/postprocess.h
  3. +4
    -0
      postproc/postprocess_template.c

+ 4
- 0
postproc/postprocess.c View File

@@ -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;


+ 3
- 0
postproc/postprocess.h View File

@@ -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



+ 4
- 0
postproc/postprocess_template.c View File

@@ -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;


Loading…
Cancel
Save