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