comparison x86/vp8dsp-init.c @ 12456:a5ddb39627fd libavcodec

Rename FF_MM_ symbols related to CPU features flags as AV_CPU_FLAG_ symbols, and move them from libavcodec/avcodec.h to libavutil/cpu.h.
author stefano
date Sat, 04 Sep 2010 09:59:08 +0000
parents 3fc4c625b6f3
children 9fef0a8ddd63
comparison
equal deleted inserted replaced
12455:14f85520cd02 12456:a5ddb39627fd
283 av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c) 283 av_cold void ff_vp8dsp_init_x86(VP8DSPContext* c)
284 { 284 {
285 int mm_flags = mm_support(); 285 int mm_flags = mm_support();
286 286
287 #if HAVE_YASM 287 #if HAVE_YASM
288 if (mm_flags & FF_MM_MMX) { 288 if (mm_flags & AV_CPU_FLAG_MMX) {
289 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_mmx; 289 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_mmx;
290 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_mmx; 290 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_mmx;
291 c->vp8_idct_dc_add4uv = ff_vp8_idct_dc_add4uv_mmx; 291 c->vp8_idct_dc_add4uv = ff_vp8_idct_dc_add4uv_mmx;
292 c->vp8_idct_add = ff_vp8_idct_add_mmx; 292 c->vp8_idct_add = ff_vp8_idct_add_mmx;
293 c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_mmx; 293 c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_mmx;
310 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_mmx; 310 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_mmx;
311 } 311 }
312 312
313 /* note that 4-tap width=16 functions are missing because w=16 313 /* note that 4-tap width=16 functions are missing because w=16
314 * is only used for luma, and luma is always a copy or sixtap. */ 314 * is only used for luma, and luma is always a copy or sixtap. */
315 if (mm_flags & FF_MM_MMX2) { 315 if (mm_flags & AV_CPU_FLAG_MMX2) {
316 VP8_LUMA_MC_FUNC(0, 16, mmxext); 316 VP8_LUMA_MC_FUNC(0, 16, mmxext);
317 VP8_MC_FUNC(1, 8, mmxext); 317 VP8_MC_FUNC(1, 8, mmxext);
318 VP8_MC_FUNC(2, 4, mmxext); 318 VP8_MC_FUNC(2, 4, mmxext);
319 VP8_BILINEAR_MC_FUNC(0, 16, mmxext); 319 VP8_BILINEAR_MC_FUNC(0, 16, mmxext);
320 VP8_BILINEAR_MC_FUNC(1, 8, mmxext); 320 VP8_BILINEAR_MC_FUNC(1, 8, mmxext);
332 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_mmxext; 332 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_mmxext;
333 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_mmxext; 333 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_mmxext;
334 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_mmxext; 334 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_mmxext;
335 } 335 }
336 336
337 if (mm_flags & FF_MM_SSE) { 337 if (mm_flags & AV_CPU_FLAG_SSE) {
338 c->vp8_idct_add = ff_vp8_idct_add_sse; 338 c->vp8_idct_add = ff_vp8_idct_add_sse;
339 c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_sse; 339 c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_sse;
340 c->put_vp8_epel_pixels_tab[0][0][0] = 340 c->put_vp8_epel_pixels_tab[0][0][0] =
341 c->put_vp8_bilinear_pixels_tab[0][0][0] = ff_put_vp8_pixels16_sse; 341 c->put_vp8_bilinear_pixels_tab[0][0][0] = ff_put_vp8_pixels16_sse;
342 } 342 }
343 343
344 if (mm_flags & (FF_MM_SSE2|FF_MM_SSE2SLOW)) { 344 if (mm_flags & (AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW)) {
345 VP8_LUMA_MC_FUNC(0, 16, sse2); 345 VP8_LUMA_MC_FUNC(0, 16, sse2);
346 VP8_MC_FUNC(1, 8, sse2); 346 VP8_MC_FUNC(1, 8, sse2);
347 VP8_BILINEAR_MC_FUNC(0, 16, sse2); 347 VP8_BILINEAR_MC_FUNC(0, 16, sse2);
348 VP8_BILINEAR_MC_FUNC(1, 8, sse2); 348 VP8_BILINEAR_MC_FUNC(1, 8, sse2);
349 349
354 354
355 c->vp8_v_loop_filter16y = ff_vp8_v_loop_filter16y_mbedge_sse2; 355 c->vp8_v_loop_filter16y = ff_vp8_v_loop_filter16y_mbedge_sse2;
356 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_sse2; 356 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_sse2;
357 } 357 }
358 358
359 if (mm_flags & FF_MM_SSE2) { 359 if (mm_flags & AV_CPU_FLAG_SSE2) {
360 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_sse2; 360 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_sse2;
361 361
362 c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse2; 362 c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse2;
363 363
364 c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_sse2; 364 c->vp8_h_loop_filter16y_inner = ff_vp8_h_loop_filter16y_inner_sse2;
366 366
367 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse2; 367 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse2;
368 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse2; 368 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse2;
369 } 369 }
370 370
371 if (mm_flags & FF_MM_SSSE3) { 371 if (mm_flags & AV_CPU_FLAG_SSSE3) {
372 VP8_LUMA_MC_FUNC(0, 16, ssse3); 372 VP8_LUMA_MC_FUNC(0, 16, ssse3);
373 VP8_MC_FUNC(1, 8, ssse3); 373 VP8_MC_FUNC(1, 8, ssse3);
374 VP8_MC_FUNC(2, 4, ssse3); 374 VP8_MC_FUNC(2, 4, ssse3);
375 VP8_BILINEAR_MC_FUNC(0, 16, ssse3); 375 VP8_BILINEAR_MC_FUNC(0, 16, ssse3);
376 VP8_BILINEAR_MC_FUNC(1, 8, ssse3); 376 VP8_BILINEAR_MC_FUNC(1, 8, ssse3);
388 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_ssse3; 388 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_ssse3;
389 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_ssse3; 389 c->vp8_v_loop_filter8uv = ff_vp8_v_loop_filter8uv_mbedge_ssse3;
390 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_ssse3; 390 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_ssse3;
391 } 391 }
392 392
393 if (mm_flags & FF_MM_SSE4) { 393 if (mm_flags & AV_CPU_FLAG_SSE4) {
394 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4; 394 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4;
395 395
396 c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse4; 396 c->vp8_h_loop_filter_simple = ff_vp8_h_loop_filter_simple_sse4;
397 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse4; 397 c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse4;
398 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse4; 398 c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse4;