aboutsummaryrefslogtreecommitdiffstats
path: root/postproc
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2001-10-19 17:03:51 +0000
committerMichael Niedermayer <michaelni@gmx.at>2001-10-19 17:03:51 +0000
commit5486f774bd4a6a92ce4423ae3897c1ac34dcf238 (patch)
treeb64d1a1de0d2e7ee0899a637d04770a7bdac2138 /postproc
parent84adc106cf2ced0d10ff429027e9a89608e8f62d (diff)
downloadffmpeg-5486f774bd4a6a92ce4423ae3897c1ac34dcf238.tar.gz
more logic behavior if the altenative deblock filters are used (turning a alt filter on without turning the deblock filter on uses the alt filter instead of using no filter now)
Originally committed as revision 2301 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
Diffstat (limited to 'postproc')
-rw-r--r--postproc/postprocess.c42
-rw-r--r--postproc/postprocess_template.c42
2 files changed, 36 insertions, 48 deletions
diff --git a/postproc/postprocess.c b/postproc/postprocess.c
index c4c166528a..214626966d 100644
--- a/postproc/postprocess.c
+++ b/postproc/postprocess.c
@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
memcpyTime+= T1-T0;
T0=T1;
#endif
- if(mode & V_DEBLOCK)
+ if(mode & V_RK1_FILTER)
+ vertRK1Filter(dstBlock, stride, QP);
+ else if(mode & V_X1_FILTER)
+ vertX1Filter(dstBlock, stride, QP);
+ else if(mode & V_DEBLOCK)
{
- if(mode & V_RK1_FILTER)
- vertRK1Filter(dstBlock, stride, QP);
- else if(mode & V_X1_FILTER)
- vertX1Filter(dstBlock, stride, QP);
- else
+ if( isVertDC(dstBlock, stride))
{
- if( isVertDC(dstBlock, stride))
- {
- if(isVertMinMaxOk(dstBlock, stride, QP))
- doVertLowPass(dstBlock, stride, QP);
- }
- else
- doVertDefFilter(dstBlock, stride, QP);
+ if(isVertMinMaxOk(dstBlock, stride, QP))
+ doVertLowPass(dstBlock, stride, QP);
}
+ else
+ doVertDefFilter(dstBlock, stride, QP);
}
#ifdef MORE_TIMING
T1= rdtsc();
@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
#ifdef MORE_TIMING
T0= rdtsc();
#endif
- if(mode & H_DEBLOCK)
+ if(mode & H_X1_FILTER)
+ horizX1Filter(dstBlock-4, stride, QP);
+ else if(mode & H_DEBLOCK)
{
- if(mode & H_X1_FILTER)
- horizX1Filter(dstBlock-4, stride, QP);
- else
+ if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
{
- if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
- {
- if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
- doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
- }
- else
- doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
+ if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
+ doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
}
+ else
+ doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
}
#ifdef MORE_TIMING
T1= rdtsc();
diff --git a/postproc/postprocess_template.c b/postproc/postprocess_template.c
index c4c166528a..214626966d 100644
--- a/postproc/postprocess_template.c
+++ b/postproc/postprocess_template.c
@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
memcpyTime+= T1-T0;
T0=T1;
#endif
- if(mode & V_DEBLOCK)
+ if(mode & V_RK1_FILTER)
+ vertRK1Filter(dstBlock, stride, QP);
+ else if(mode & V_X1_FILTER)
+ vertX1Filter(dstBlock, stride, QP);
+ else if(mode & V_DEBLOCK)
{
- if(mode & V_RK1_FILTER)
- vertRK1Filter(dstBlock, stride, QP);
- else if(mode & V_X1_FILTER)
- vertX1Filter(dstBlock, stride, QP);
- else
+ if( isVertDC(dstBlock, stride))
{
- if( isVertDC(dstBlock, stride))
- {
- if(isVertMinMaxOk(dstBlock, stride, QP))
- doVertLowPass(dstBlock, stride, QP);
- }
- else
- doVertDefFilter(dstBlock, stride, QP);
+ if(isVertMinMaxOk(dstBlock, stride, QP))
+ doVertLowPass(dstBlock, stride, QP);
}
+ else
+ doVertDefFilter(dstBlock, stride, QP);
}
#ifdef MORE_TIMING
T1= rdtsc();
@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
#ifdef MORE_TIMING
T0= rdtsc();
#endif
- if(mode & H_DEBLOCK)
+ if(mode & H_X1_FILTER)
+ horizX1Filter(dstBlock-4, stride, QP);
+ else if(mode & H_DEBLOCK)
{
- if(mode & H_X1_FILTER)
- horizX1Filter(dstBlock-4, stride, QP);
- else
+ if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
{
- if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
- {
- if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
- doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
- }
- else
- doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
+ if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
+ doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
}
+ else
+ doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
}
#ifdef MORE_TIMING
T1= rdtsc();