diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-19 17:03:51 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-19 17:03:51 +0000 |
commit | 4576b903d7aeb0820ec5b06e49487c0c86524c50 (patch) | |
tree | cc90059cc2bcc34ce7ddadc7bc73e4e87cf3abf4 | |
parent | 5724c0e9e923956f9d9be67a282220d672b83068 (diff) | |
download | mpv-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.c | 42 | ||||
-rw-r--r-- | postproc/postprocess_template.c | 42 |
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(); |