Commit 0b9296b1 authored by michael's avatar michael

Newer version, using a vectorized version of the

new organisation of code in doVertLowPass. it
seems to be faster in AltiVec also...

Also includes a compile fix for the new do_a_deblock
when using AltiVec.

patch by (Romain Dolbeau <dolbeau at irisa dot fr>)


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@3167 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent a929a317
...@@ -92,6 +92,10 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks ...@@ -92,6 +92,10 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
#include "mangle.h" //FIXME should be supressed #include "mangle.h" //FIXME should be supressed
#ifdef HAVE_ALTIVEC_H
#include <altivec.h>
#endif
#ifndef HAVE_MEMALIGN #ifndef HAVE_MEMALIGN
#define memalign(a,b) malloc(b) #define memalign(a,b) malloc(b)
#endif #endif
......
...@@ -2203,6 +2203,7 @@ static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src) ...@@ -2203,6 +2203,7 @@ static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src)
#endif #endif
//static int test=0; //static int test=0;
#ifndef HAVE_ALTIVEC
static inline void RENAME(tempNoiseReducer)(uint8_t *src, int stride, static inline void RENAME(tempNoiseReducer)(uint8_t *src, int stride,
uint8_t *tempBlured, uint32_t *tempBluredPast, int *maxNoise) uint8_t *tempBlured, uint32_t *tempBluredPast, int *maxNoise)
{ {
...@@ -2510,7 +2511,7 @@ L2_DIFF_CORE((%0, %%ecx), (%1, %%ecx)) ...@@ -2510,7 +2511,7 @@ L2_DIFF_CORE((%0, %%ecx), (%1, %%ecx))
{ {
int y; int y;
int d=0; int d=0;
int sysd=0; // int sysd=0;
int i; int i;
for(y=0; y<8; y++) for(y=0; y<8; y++)
...@@ -2525,7 +2526,7 @@ L2_DIFF_CORE((%0, %%ecx), (%1, %%ecx)) ...@@ -2525,7 +2526,7 @@ L2_DIFF_CORE((%0, %%ecx), (%1, %%ecx))
// if(y==0 || y==7) d1+= d1>>1; // if(y==0 || y==7) d1+= d1>>1;
// d+= ABS(d1); // d+= ABS(d1);
d+= d1*d1; d+= d1*d1;
sysd+= d1; // sysd+= d1;
} }
} }
i=d; i=d;
...@@ -2611,6 +2612,7 @@ Switch between ...@@ -2611,6 +2612,7 @@ Switch between
} }
#endif #endif
} }
#endif //HAVE_ALTIVEC
#ifdef HAVE_MMX #ifdef HAVE_MMX
/** /**
......
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