Commit 5486f774 authored by Michael Niedermayer's avatar Michael Niedermayer

more logic behavior if the altenative deblock filters are used (turning a alt...

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
parent 84adc106
...@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri ...@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
memcpyTime+= T1-T0; memcpyTime+= T1-T0;
T0=T1; T0=T1;
#endif #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) if( isVertDC(dstBlock, stride))
vertRK1Filter(dstBlock, stride, QP);
else if(mode & V_X1_FILTER)
vertX1Filter(dstBlock, stride, QP);
else
{ {
if( isVertDC(dstBlock, stride)) if(isVertMinMaxOk(dstBlock, stride, QP))
{ doVertLowPass(dstBlock, stride, QP);
if(isVertMinMaxOk(dstBlock, stride, QP))
doVertLowPass(dstBlock, stride, QP);
}
else
doVertDefFilter(dstBlock, stride, QP);
} }
else
doVertDefFilter(dstBlock, stride, QP);
} }
#ifdef MORE_TIMING #ifdef MORE_TIMING
T1= rdtsc(); T1= rdtsc();
...@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri ...@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
#ifdef MORE_TIMING #ifdef MORE_TIMING
T0= rdtsc(); T0= rdtsc();
#endif #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) if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
horizX1Filter(dstBlock-4, stride, QP);
else
{ {
if( isHorizDCAndCopy2Temp(dstBlock-4, stride)) if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
{ doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
}
else
doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
} }
else
doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
} }
#ifdef MORE_TIMING #ifdef MORE_TIMING
T1= rdtsc(); T1= rdtsc();
......
...@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri ...@@ -2603,22 +2603,19 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
memcpyTime+= T1-T0; memcpyTime+= T1-T0;
T0=T1; T0=T1;
#endif #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) if( isVertDC(dstBlock, stride))
vertRK1Filter(dstBlock, stride, QP);
else if(mode & V_X1_FILTER)
vertX1Filter(dstBlock, stride, QP);
else
{ {
if( isVertDC(dstBlock, stride)) if(isVertMinMaxOk(dstBlock, stride, QP))
{ doVertLowPass(dstBlock, stride, QP);
if(isVertMinMaxOk(dstBlock, stride, QP))
doVertLowPass(dstBlock, stride, QP);
}
else
doVertDefFilter(dstBlock, stride, QP);
} }
else
doVertDefFilter(dstBlock, stride, QP);
} }
#ifdef MORE_TIMING #ifdef MORE_TIMING
T1= rdtsc(); T1= rdtsc();
...@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri ...@@ -2633,20 +2630,17 @@ static void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int dstStri
#ifdef MORE_TIMING #ifdef MORE_TIMING
T0= rdtsc(); T0= rdtsc();
#endif #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) if( isHorizDCAndCopy2Temp(dstBlock-4, stride))
horizX1Filter(dstBlock-4, stride, QP);
else
{ {
if( isHorizDCAndCopy2Temp(dstBlock-4, stride)) if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
{ doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
if(isHorizMinMaxOk(tempBlock, TEMP_STRIDE, QP))
doHorizLowPassAndCopyBack(dstBlock-4, stride, QP);
}
else
doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
} }
else
doHorizDefFilterAndCopyBack(dstBlock-4, stride, QP);
} }
#ifdef MORE_TIMING #ifdef MORE_TIMING
T1= rdtsc(); T1= rdtsc();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment