Mercurial > libavcodec.hg
comparison ppc/dsputil_ppc.c @ 995:edc10966b081 libavcodec
altivec jumbo patch by (Romain Dolbeau <dolbeaur at club-internet dot fr>)
author | michaelni |
---|---|
date | Sat, 11 Jan 2003 20:51:03 +0000 |
parents | 8bec850dc9c7 |
children | 3b7cc8e4b83f |
comparison
equal
deleted
inserted
replaced
994:7701ff462e3a | 995:edc10966b081 |
---|---|
23 #include "dsputil_altivec.h" | 23 #include "dsputil_altivec.h" |
24 #endif | 24 #endif |
25 | 25 |
26 int mm_flags = 0; | 26 int mm_flags = 0; |
27 | 27 |
28 int mm_support(void) | |
29 { | |
30 int result = 0; | |
31 #if HAVE_ALTIVEC | |
32 if (has_altivec()) { | |
33 result |= MM_ALTIVEC; | |
34 } | |
35 #endif /* result */ | |
36 return result; | |
37 } | |
38 | |
28 void dsputil_init_ppc(DSPContext* c, unsigned mask) | 39 void dsputil_init_ppc(DSPContext* c, unsigned mask) |
29 { | 40 { |
30 // Common optimisations whether Altivec or not | 41 // Common optimisations whether Altivec or not |
31 | 42 |
32 // ... pending ... | 43 // ... pending ... |
39 c->pix_abs16x16_x2 = pix_abs16x16_x2_altivec; | 50 c->pix_abs16x16_x2 = pix_abs16x16_x2_altivec; |
40 c->pix_abs16x16_y2 = pix_abs16x16_y2_altivec; | 51 c->pix_abs16x16_y2 = pix_abs16x16_y2_altivec; |
41 c->pix_abs16x16_xy2 = pix_abs16x16_xy2_altivec; | 52 c->pix_abs16x16_xy2 = pix_abs16x16_xy2_altivec; |
42 c->pix_abs16x16 = pix_abs16x16_altivec; | 53 c->pix_abs16x16 = pix_abs16x16_altivec; |
43 c->pix_abs8x8 = pix_abs8x8_altivec; | 54 c->pix_abs8x8 = pix_abs8x8_altivec; |
55 c->sad[0]= sad16x16_altivec; | |
56 c->sad[1]= sad8x8_altivec; | |
44 c->pix_norm1 = pix_norm1_altivec; | 57 c->pix_norm1 = pix_norm1_altivec; |
45 c->sse[1]= sse8_altivec; | 58 c->sse[1]= sse8_altivec; |
46 c->sse[0]= sse16_altivec; | 59 c->sse[0]= sse16_altivec; |
47 c->pix_sum = pix_sum_altivec; | 60 c->pix_sum = pix_sum_altivec; |
48 c->diff_pixels = diff_pixels_altivec; | 61 c->diff_pixels = diff_pixels_altivec; |
49 c->get_pixels = get_pixels_altivec; | 62 c->get_pixels = get_pixels_altivec; |
50 | 63 // next one disabled as it it untested. |
64 #if 0 | |
65 c->add_bytes= add_bytes_altivec; | |
66 #endif | |
67 c->gmc1 = gmc1_altivec; | |
51 } else | 68 } else |
52 #endif | 69 #endif |
53 { | 70 { |
54 // Non-AltiVec PPC optimisations | 71 // Non-AltiVec PPC optimisations |
55 | 72 |