comparison dct-test.c @ 8351:91b681b7b6be libavcodec

dct-test: add ARM IDCTs
author mru
date Tue, 16 Dec 2008 20:00:07 +0000
parents 583f32e6f4b5
children 9281a8a9387a
comparison
equal deleted inserted replaced
8350:583f32e6f4b5 8351:91b681b7b6be
61 61
62 // ALTIVEC 62 // ALTIVEC
63 void fdct_altivec(DCTELEM *block); 63 void fdct_altivec(DCTELEM *block);
64 //void idct_altivec(DCTELEM *block);?? no routine 64 //void idct_altivec(DCTELEM *block);?? no routine
65 65
66 // ARM
67 void j_rev_dct_ARM(DCTELEM *data);
68 void simple_idct_ARM(DCTELEM *data);
69 void simple_idct_armv5te(DCTELEM *data);
70 void ff_simple_idct_armv6(DCTELEM *data);
71 void ff_simple_idct_neon(DCTELEM *data);
66 72
67 struct algo { 73 struct algo {
68 const char *name; 74 const char *name;
69 enum { FDCT, IDCT } is_idct; 75 enum { FDCT, IDCT } is_idct;
70 void (* func) (DCTELEM *block); 76 void (* func) (DCTELEM *block);
114 120
115 #ifdef ARCH_BFIN 121 #ifdef ARCH_BFIN
116 {"BFINfdct", 0, ff_bfin_fdct, fdct, NO_PERM}, 122 {"BFINfdct", 0, ff_bfin_fdct, fdct, NO_PERM},
117 {"BFINidct", 1, ff_bfin_idct, idct, NO_PERM}, 123 {"BFINidct", 1, ff_bfin_idct, idct, NO_PERM},
118 #endif 124 #endif
125
126 #ifdef ARCH_ARMV4L
127 {"SIMPLE-ARM", 1, simple_idct_ARM, idct, NO_PERM },
128 {"INT-ARM", 1, j_rev_dct_ARM, idct, MMX_PERM },
129 #ifdef HAVE_ARMV5TE
130 {"SIMPLE-ARMV5TE", 1, simple_idct_armv5te, idct, NO_PERM },
131 #endif
132 #ifdef HAVE_ARMV6
133 {"SIMPLE-ARMV6", 1, ff_simple_idct_armv6, idct, MMX_PERM },
134 #endif
135 #ifdef HAVE_NEON
136 {"SIMPLE-NEON", 1, ff_simple_idct_neon, idct, PARTTRANS_PERM },
137 #endif
138 #endif /* ARCH_ARMV4L */
119 139
120 { 0 } 140 { 0 }
121 }; 141 };
122 142
123 #define AANSCALE_BITS 12 143 #define AANSCALE_BITS 12