53 |
#include "motion/sad.h" |
#include "motion/sad.h" |
54 |
#include "utils/emms.h" |
#include "utils/emms.h" |
55 |
#include "utils/timer.h" |
#include "utils/timer.h" |
56 |
|
#include "bitstream/mbcoding.h" |
57 |
|
|
58 |
int xvid_init(void *handle, int opt, void *param1, void *param2) |
int xvid_init(void *handle, int opt, void *param1, void *param2) |
59 |
{ |
{ |
77 |
|
|
78 |
// initialize the function pointers |
// initialize the function pointers |
79 |
idct_int32_init(); |
idct_int32_init(); |
80 |
|
init_vlc_tables(); |
81 |
|
|
82 |
fdct = fdct_int32; |
fdct = fdct_int32; |
83 |
idct = idct_int32; |
idct = idct_int32; |
84 |
|
|
85 |
|
sadInit = 0; |
86 |
|
|
87 |
emms = emms_c; |
emms = emms_c; |
88 |
|
|
89 |
quant_intra = quant_intra_c; |
quant_intra = quant_intra_c; |
99 |
transfer_8to16copy = transfer_8to16copy_c; |
transfer_8to16copy = transfer_8to16copy_c; |
100 |
transfer_16to8copy = transfer_16to8copy_c; |
transfer_16to8copy = transfer_16to8copy_c; |
101 |
transfer_8to16sub = transfer_8to16sub_c; |
transfer_8to16sub = transfer_8to16sub_c; |
102 |
|
transfer_8to16sub2 = transfer_8to16sub2_c; |
103 |
transfer_16to8add = transfer_16to8add_c; |
transfer_16to8add = transfer_16to8add_c; |
104 |
transfer8x8_copy = transfer8x8_copy_c; |
transfer8x8_copy = transfer8x8_copy_c; |
105 |
|
|
127 |
|
|
128 |
calc_cbp = calc_cbp_c; |
calc_cbp = calc_cbp_c; |
129 |
sad16 = sad16_c; |
sad16 = sad16_c; |
130 |
|
sad16bi = sad16bi_c; |
131 |
sad8 = sad8_c; |
sad8 = sad8_c; |
132 |
dev16 = dev16_c; |
dev16 = dev16_c; |
133 |
|
|
195 |
interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_3dn; |
interpolate8x8_halfpel_hv = interpolate8x8_halfpel_hv_3dn; |
196 |
} |
} |
197 |
|
|
198 |
|
if((cpu_flags & XVID_CPU_SSE2) > 0) { |
199 |
|
#ifdef EXPERIMENTAL_SSE2_CODE |
200 |
|
quant_intra = quant_intra_sse2; |
201 |
|
dequant_intra = dequant_intra_sse2; |
202 |
|
quant_inter = quant_inter_sse2; |
203 |
|
dequant_inter = dequant_inter_sse2; |
204 |
|
|
205 |
|
calc_cbp = calc_cbp_sse2; |
206 |
|
sad16 = sad16_sse2; |
207 |
|
dev16 = dev16_sse2; |
208 |
|
idct = idct_sse2; |
209 |
|
fdct = fdct_sse2; |
210 |
|
#endif |
211 |
|
} |
212 |
|
|
213 |
|
#endif |
214 |
|
#ifdef ARCH_PPC |
215 |
|
#ifdef ARCH_PPC_ALTIVEC |
216 |
|
calc_cbp = calc_cbp_altivec; |
217 |
|
fdct = fdct_altivec; |
218 |
|
idct = idct_altivec; |
219 |
|
sadInit = sadInit_altivec; |
220 |
|
sad16 = sad16_altivec; |
221 |
|
sad8 = sad8_altivec; |
222 |
|
dev16 = dev16_altivec; |
223 |
|
#else |
224 |
|
calc_cbp = calc_cbp_ppc; |
225 |
|
#endif |
226 |
#endif |
#endif |
227 |
|
|
228 |
// API version |
// API version |