245 |
/* Functions used in motion estimation algorithms */ |
/* Functions used in motion estimation algorithms */ |
246 |
calc_cbp = calc_cbp_c; |
calc_cbp = calc_cbp_c; |
247 |
sad16 = sad16_c; |
sad16 = sad16_c; |
|
sad16bi = sad16bi_c; |
|
248 |
sad8 = sad8_c; |
sad8 = sad8_c; |
249 |
dev16 = dev16_c; |
sad16bi = sad16bi_c; |
250 |
sad8bi = sad8bi_c; |
sad8bi = sad8bi_c; |
251 |
|
dev16 = dev16_c; |
252 |
|
|
253 |
Halfpel8_Refine = Halfpel8_Refine_c; |
Halfpel8_Refine = Halfpel8_Refine_c; |
254 |
|
|
255 |
#ifdef ARCH_X86 |
#ifdef ARCH_X86 |
304 |
calc_cbp = calc_cbp_mmx; |
calc_cbp = calc_cbp_mmx; |
305 |
sad16 = sad16_mmx; |
sad16 = sad16_mmx; |
306 |
sad8 = sad8_mmx; |
sad8 = sad8_mmx; |
307 |
|
sad16bi = sad16bi_mmx; |
308 |
|
sad8bi = sad8bi_mmx; |
309 |
dev16 = dev16_mmx; |
dev16 = dev16_mmx; |
310 |
|
|
311 |
} |
} |
312 |
|
|
313 |
|
/* these 3dnow functions are faster than mmx, but slower than xmm. */ |
314 |
|
if ((cpu_flags & XVID_CPU_3DNOW) > 0) { |
315 |
|
|
316 |
|
/* ME functions */ |
317 |
|
sad16bi = sad16bi_3dn; |
318 |
|
sad8bi = sad8bi_3dn; |
319 |
|
} |
320 |
|
|
321 |
|
|
322 |
if ((cpu_flags & XVID_CPU_MMXEXT) > 0) { |
if ((cpu_flags & XVID_CPU_MMXEXT) > 0) { |
323 |
|
|
324 |
/* Inverse DCT */ |
/* Inverse DCT */ |
341 |
|
|
342 |
/* ME functions */ |
/* ME functions */ |
343 |
sad16 = sad16_xmm; |
sad16 = sad16_xmm; |
|
sad16bi = sad16bi_xmm; |
|
344 |
sad8 = sad8_xmm; |
sad8 = sad8_xmm; |
345 |
|
sad16bi = sad16bi_xmm; |
346 |
|
sad8bi = sad8bi_xmm; |
347 |
dev16 = dev16_xmm; |
dev16 = dev16_xmm; |
348 |
|
|
349 |
} |
} |