summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-19 17:03:51 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-19 17:03:51 +0000
commit4576b903d7aeb0820ec5b06e49487c0c86524c50 (patch)
treecc90059cc2bcc34ce7ddadc7bc73e4e87cf3abf4
parent5724c0e9e923956f9d9be67a282220d672b83068 (diff)
downloadmpv-4576b903d7aeb0820ec5b06e49487c0c86524c50.tar.bz2
mpv-4576b903d7aeb0820ec5b06e49487c0c86524c50.tar.xz
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)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2301 b3059339-0415-0410-9bf9-f77b7e298cf2
-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();