39 |
|
|
40 |
|
|
41 |
#include "../portab.h" |
#include "../portab.h" |
42 |
|
#include "../global.h" |
43 |
#include "sad.h" |
#include "sad.h" |
44 |
|
|
45 |
sad16FuncPtr sad16; |
sad16FuncPtr sad16; |
51 |
|
|
52 |
sadInitFuncPtr sadInit; |
sadInitFuncPtr sadInit; |
53 |
|
|
|
#define ABS(X) (((X)>0)?(X):-(X)) |
|
54 |
|
|
55 |
uint32_t |
uint32_t |
56 |
sad16_c(const uint8_t * const cur, |
sad16_c(const uint8_t * const cur, |
249 |
return sad[0]+sad[1]+sad[2]+sad[3]; |
return sad[0]+sad[1]+sad[2]+sad[3]; |
250 |
} |
} |
251 |
|
|
252 |
|
uint32_t sad32v_c(const uint8_t * const cur, |
253 |
|
const uint8_t * const ref, |
254 |
|
const uint32_t stride, |
255 |
|
int32_t *sad) |
256 |
|
{ |
257 |
|
sad[0] = sad16(cur, ref, stride, 256*4096); |
258 |
|
sad[1] = sad16(cur + 8, ref + 8, stride, 256*4096); |
259 |
|
sad[2] = sad16(cur + 8*stride, ref + 8*stride, stride, 256*4096); |
260 |
|
sad[3] = sad16(cur + 8*stride + 8, ref + 8*stride + 8, stride, 256*4096); |
261 |
|
|
262 |
|
return sad[0]+sad[1]+sad[2]+sad[3]; |
263 |
|
} |
264 |
|
|
265 |
|
|
266 |
|
|
267 |
#define MRSAD16_CORRFACTOR 8 |
#define MRSAD16_CORRFACTOR 8 |
268 |
uint32_t |
uint32_t |