Mercurial > libavcodec.hg
comparison ppc/dsputil_ppc.c @ 2236:b0102ea621dd libavcodec
h264 qpel mc, size 16 patch by (Romain Dolbeau <dolbeau at caps-entreprise dot com>)
author | michael |
---|---|
date | Thu, 16 Sep 2004 19:05:22 +0000 |
parents | 4a0ec9031804 |
children | fac626a2b73b |
comparison
equal
deleted
inserted
replaced
2235:0c04463f79d8 | 2236:b0102ea621dd |
---|---|
62 "put_no_rnd_pixels16_xy2_altivec", | 62 "put_no_rnd_pixels16_xy2_altivec", |
63 "hadamard8_diff8x8_altivec", | 63 "hadamard8_diff8x8_altivec", |
64 "hadamard8_diff16_altivec", | 64 "hadamard8_diff16_altivec", |
65 "avg_pixels8_xy2_altivec", | 65 "avg_pixels8_xy2_altivec", |
66 "clear_blocks_dcbz32_ppc", | 66 "clear_blocks_dcbz32_ppc", |
67 "clear_blocks_dcbz128_ppc" | 67 "clear_blocks_dcbz128_ppc", |
68 "put_h264_chroma_mc8_altivec", | |
69 "avg_h264_chroma_mc8_altivec", | |
70 "put_h264_qpel16_h_lowpass_altivec", | |
71 "avg_h264_qpel16_h_lowpass_altivec", | |
72 "put_h264_qpel16_v_lowpass_altivec", | |
73 "avg_h264_qpel16_v_lowpass_altivec", | |
74 "put_h264_qpel16_hv_lowpass_altivec", | |
75 "avg_h264_qpel16_hv_lowpass_altivec", | |
76 "" | |
68 }; | 77 }; |
69 #include <stdio.h> | 78 #include <stdio.h> |
70 #endif | 79 #endif |
71 | 80 |
72 #ifdef POWERPC_PERFORMANCE_REPORT | 81 #ifdef POWERPC_PERFORMANCE_REPORT |
226 { | 235 { |
227 return 0; | 236 return 0; |
228 } | 237 } |
229 #endif | 238 #endif |
230 | 239 |
240 | |
241 void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx); | |
242 | |
231 void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) | 243 void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) |
232 { | 244 { |
233 // Common optimizations whether Altivec is available or not | 245 // Common optimizations whether Altivec is available or not |
234 | 246 |
235 switch (check_dcbzl_effect()) { | 247 switch (check_dcbzl_effect()) { |
240 c->clear_blocks = clear_blocks_dcbz128_ppc; | 252 c->clear_blocks = clear_blocks_dcbz128_ppc; |
241 break; | 253 break; |
242 default: | 254 default: |
243 break; | 255 break; |
244 } | 256 } |
257 | |
258 dsputil_h264_init_ppc(c, avctx); | |
245 | 259 |
246 #ifdef HAVE_ALTIVEC | 260 #ifdef HAVE_ALTIVEC |
247 if (has_altivec()) { | 261 if (has_altivec()) { |
248 mm_flags |= MM_ALTIVEC; | 262 mm_flags |= MM_ALTIVEC; |
249 | 263 |
308 int i, j; | 322 int i, j; |
309 for (i = 0 ; i < powerpc_perf_total ; i++) | 323 for (i = 0 ; i < powerpc_perf_total ; i++) |
310 { | 324 { |
311 for (j = 0; j < POWERPC_NUM_PMC_ENABLED ; j++) | 325 for (j = 0; j < POWERPC_NUM_PMC_ENABLED ; j++) |
312 { | 326 { |
313 perfdata[j][i][powerpc_data_min] = (unsigned long long)0xFFFFFFFFFFFFFFFF; | 327 perfdata[j][i][powerpc_data_min] = 0xFFFFFFFFFFFFFFFFULL; |
314 perfdata[j][i][powerpc_data_max] = (unsigned long long)0x0000000000000000; | 328 perfdata[j][i][powerpc_data_max] = 0x0000000000000000ULL; |
315 perfdata[j][i][powerpc_data_sum] = (unsigned long long)0x0000000000000000; | 329 perfdata[j][i][powerpc_data_sum] = 0x0000000000000000ULL; |
316 perfdata[j][i][powerpc_data_num] = (unsigned long long)0x0000000000000000; | 330 perfdata[j][i][powerpc_data_num] = 0x0000000000000000ULL; |
317 } | 331 } |
318 } | 332 } |
319 } | 333 } |
320 #endif /* POWERPC_PERFORMANCE_REPORT */ | 334 #endif /* POWERPC_PERFORMANCE_REPORT */ |
321 } else | 335 } else |