diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/libpostproc/postprocess_template.c')
-rw-r--r-- | src/libffmpeg/libavcodec/libpostproc/postprocess_template.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c b/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c index 7ebc08bd4..4e81bd556 100644 --- a/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c +++ b/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c @@ -170,6 +170,7 @@ asm volatile( * Do a vertical low pass filter on the 8x16 block (only write to the 8x8 block in the middle) * using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16 */ +#ifndef HAVE_ALTIVEC static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) { #if defined (HAVE_MMX2) || defined (HAVE_3DNOW) @@ -340,6 +341,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) } #endif } +#endif //HAVE_ALTIVEC #if 0 /** @@ -582,6 +584,7 @@ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) #endif } +#ifndef HAVE_ALTIVEC static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext *c) { #if defined (HAVE_MMX2) || defined (HAVE_3DNOW) @@ -1149,7 +1152,9 @@ src-=8; } #endif } +#endif //HAVE_ALTIVEC +#ifndef HAVE_ALTIVEC static inline void RENAME(dering)(uint8_t src[], int stride, PPContext *c) { #if defined (HAVE_MMX2) || defined (HAVE_3DNOW) @@ -1505,6 +1510,7 @@ DERING_CORE((%0, %1, 8),(%%edx, %1, 4) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm #endif #endif } +#endif //HAVE_ALTIVEC /** * Deinterlaces the given block by linearly interpolating every second line. @@ -2789,7 +2795,7 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int uint64_t * const yHistogram= c.yHistogram; uint8_t * const tempSrc= c.tempSrc; uint8_t * const tempDst= c.tempDst; - const int mbWidth= isColor ? (width+7)>>3 : (width+15)>>4; + //const int mbWidth= isColor ? (width+7)>>3 : (width+15)>>4; #ifdef HAVE_MMX for(i=0; i<57; i++){ @@ -3134,13 +3140,12 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int horizX1Filter(dstBlock-4, stride, QP); else if(mode & H_DEBLOCK) { - if( isHorizDC(dstBlock-4, stride, &c)) - { - if(isHorizMinMaxOk(dstBlock-4, stride, QP)) - doHorizLowPass(dstBlock-4, stride, QP); - } - else - doHorizDefFilter(dstBlock-4, stride, QP); + const int t= RENAME(horizClassify)(dstBlock-4, stride, &c); + + if(t==1) + RENAME(doHorizLowPass)(dstBlock-4, stride, &c); + else if(t==2) + RENAME(doHorizDefFilter)(dstBlock-4, stride, &c); } #endif if(mode & DERING) |