Mercurial > libavcodec.hg
comparison x86/dsputilenc_mmx.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 |
---|---|
1350 | 1350 |
1351 void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx) | 1351 void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx) |
1352 { | 1352 { |
1353 int mm_flags = mm_support(); | 1353 int mm_flags = mm_support(); |
1354 | 1354 |
1355 if (mm_flags & FF_MM_MMX) { | 1355 if (mm_flags & AV_CPU_FLAG_MMX) { |
1356 const int dct_algo = avctx->dct_algo; | 1356 const int dct_algo = avctx->dct_algo; |
1357 if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){ | 1357 if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){ |
1358 if(mm_flags & FF_MM_SSE2){ | 1358 if(mm_flags & AV_CPU_FLAG_SSE2){ |
1359 c->fdct = ff_fdct_sse2; | 1359 c->fdct = ff_fdct_sse2; |
1360 }else if(mm_flags & FF_MM_MMX2){ | 1360 }else if(mm_flags & AV_CPU_FLAG_MMX2){ |
1361 c->fdct = ff_fdct_mmx2; | 1361 c->fdct = ff_fdct_mmx2; |
1362 }else{ | 1362 }else{ |
1363 c->fdct = ff_fdct_mmx; | 1363 c->fdct = ff_fdct_mmx; |
1364 } | 1364 } |
1365 } | 1365 } |
1373 | 1373 |
1374 c->hadamard8_diff[0]= hadamard8_diff16_mmx; | 1374 c->hadamard8_diff[0]= hadamard8_diff16_mmx; |
1375 c->hadamard8_diff[1]= hadamard8_diff_mmx; | 1375 c->hadamard8_diff[1]= hadamard8_diff_mmx; |
1376 | 1376 |
1377 c->pix_norm1 = pix_norm1_mmx; | 1377 c->pix_norm1 = pix_norm1_mmx; |
1378 c->sse[0] = (mm_flags & FF_MM_SSE2) ? sse16_sse2 : sse16_mmx; | 1378 c->sse[0] = (mm_flags & AV_CPU_FLAG_SSE2) ? sse16_sse2 : sse16_mmx; |
1379 c->sse[1] = sse8_mmx; | 1379 c->sse[1] = sse8_mmx; |
1380 c->vsad[4]= vsad_intra16_mmx; | 1380 c->vsad[4]= vsad_intra16_mmx; |
1381 | 1381 |
1382 c->nsse[0] = nsse16_mmx; | 1382 c->nsse[0] = nsse16_mmx; |
1383 c->nsse[1] = nsse8_mmx; | 1383 c->nsse[1] = nsse8_mmx; |
1391 c->add_8x8basis= add_8x8basis_mmx; | 1391 c->add_8x8basis= add_8x8basis_mmx; |
1392 | 1392 |
1393 c->ssd_int8_vs_int16 = ssd_int8_vs_int16_mmx; | 1393 c->ssd_int8_vs_int16 = ssd_int8_vs_int16_mmx; |
1394 | 1394 |
1395 | 1395 |
1396 if (mm_flags & FF_MM_MMX2) { | 1396 if (mm_flags & AV_CPU_FLAG_MMX2) { |
1397 c->sum_abs_dctelem= sum_abs_dctelem_mmx2; | 1397 c->sum_abs_dctelem= sum_abs_dctelem_mmx2; |
1398 c->hadamard8_diff[0]= hadamard8_diff16_mmx2; | 1398 c->hadamard8_diff[0]= hadamard8_diff16_mmx2; |
1399 c->hadamard8_diff[1]= hadamard8_diff_mmx2; | 1399 c->hadamard8_diff[1]= hadamard8_diff_mmx2; |
1400 c->vsad[4]= vsad_intra16_mmx2; | 1400 c->vsad[4]= vsad_intra16_mmx2; |
1401 | 1401 |
1404 } | 1404 } |
1405 | 1405 |
1406 c->sub_hfyu_median_prediction= sub_hfyu_median_prediction_mmx2; | 1406 c->sub_hfyu_median_prediction= sub_hfyu_median_prediction_mmx2; |
1407 } | 1407 } |
1408 | 1408 |
1409 if(mm_flags & FF_MM_SSE2){ | 1409 if(mm_flags & AV_CPU_FLAG_SSE2){ |
1410 c->get_pixels = get_pixels_sse2; | 1410 c->get_pixels = get_pixels_sse2; |
1411 c->sum_abs_dctelem= sum_abs_dctelem_sse2; | 1411 c->sum_abs_dctelem= sum_abs_dctelem_sse2; |
1412 c->hadamard8_diff[0]= hadamard8_diff16_sse2; | 1412 c->hadamard8_diff[0]= hadamard8_diff16_sse2; |
1413 c->hadamard8_diff[1]= hadamard8_diff_sse2; | 1413 c->hadamard8_diff[1]= hadamard8_diff_sse2; |
1414 } | 1414 } |
1415 | 1415 |
1416 if (CONFIG_LPC && mm_flags & (FF_MM_SSE2|FF_MM_SSE2SLOW)) { | 1416 if (CONFIG_LPC && mm_flags & (AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW)) { |
1417 c->lpc_compute_autocorr = ff_lpc_compute_autocorr_sse2; | 1417 c->lpc_compute_autocorr = ff_lpc_compute_autocorr_sse2; |
1418 } | 1418 } |
1419 | 1419 |
1420 #if HAVE_SSSE3 | 1420 #if HAVE_SSSE3 |
1421 if(mm_flags & FF_MM_SSSE3){ | 1421 if(mm_flags & AV_CPU_FLAG_SSSE3){ |
1422 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){ | 1422 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){ |
1423 c->try_8x8basis= try_8x8basis_ssse3; | 1423 c->try_8x8basis= try_8x8basis_ssse3; |
1424 } | 1424 } |
1425 c->add_8x8basis= add_8x8basis_ssse3; | 1425 c->add_8x8basis= add_8x8basis_ssse3; |
1426 c->sum_abs_dctelem= sum_abs_dctelem_ssse3; | 1426 c->sum_abs_dctelem= sum_abs_dctelem_ssse3; |
1427 c->hadamard8_diff[0]= hadamard8_diff16_ssse3; | 1427 c->hadamard8_diff[0]= hadamard8_diff16_ssse3; |
1428 c->hadamard8_diff[1]= hadamard8_diff_ssse3; | 1428 c->hadamard8_diff[1]= hadamard8_diff_ssse3; |
1429 } | 1429 } |
1430 #endif | 1430 #endif |
1431 | 1431 |
1432 if(mm_flags & FF_MM_3DNOW){ | 1432 if(mm_flags & AV_CPU_FLAG_3DNOW){ |
1433 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){ | 1433 if(!(avctx->flags & CODEC_FLAG_BITEXACT)){ |
1434 c->try_8x8basis= try_8x8basis_3dnow; | 1434 c->try_8x8basis= try_8x8basis_3dnow; |
1435 } | 1435 } |
1436 c->add_8x8basis= add_8x8basis_3dnow; | 1436 c->add_8x8basis= add_8x8basis_3dnow; |
1437 } | 1437 } |