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