Mercurial > libavcodec.hg
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 |