| Index: source/patched-ffmpeg-mt/libavcodec/x86/dsputilenc_mmx.c
|
| ===================================================================
|
| --- source/patched-ffmpeg-mt/libavcodec/x86/dsputilenc_mmx.c (revision 59334)
|
| +++ source/patched-ffmpeg-mt/libavcodec/x86/dsputilenc_mmx.c (working copy)
|
| @@ -22,6 +22,7 @@
|
| * MMX optimization by Nick Kurshev <nickols_k@mail.ru>
|
| */
|
|
|
| +#include "libavutil/cpu.h"
|
| #include "libavutil/x86_cpu.h"
|
| #include "libavcodec/dsputil.h"
|
| #include "libavcodec/mpegvideo.h"
|
| @@ -1350,12 +1351,14 @@
|
|
|
| void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx)
|
| {
|
| - if (mm_flags & FF_MM_MMX) {
|
| + int mm_flags = av_get_cpu_flags();
|
| +
|
| + if (mm_flags & AV_CPU_FLAG_MMX) {
|
| const int dct_algo = avctx->dct_algo;
|
| if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){
|
| - if(mm_flags & FF_MM_SSE2){
|
| + if(mm_flags & AV_CPU_FLAG_SSE2){
|
| c->fdct = ff_fdct_sse2;
|
| - }else if(mm_flags & FF_MM_MMX2){
|
| + }else if(mm_flags & AV_CPU_FLAG_MMX2){
|
| c->fdct = ff_fdct_mmx2;
|
| }else{
|
| c->fdct = ff_fdct_mmx;
|
| @@ -1373,7 +1376,7 @@
|
| c->hadamard8_diff[1]= hadamard8_diff_mmx;
|
|
|
| c->pix_norm1 = pix_norm1_mmx;
|
| - c->sse[0] = (mm_flags & FF_MM_SSE2) ? sse16_sse2 : sse16_mmx;
|
| + c->sse[0] = (mm_flags & AV_CPU_FLAG_SSE2) ? sse16_sse2 : sse16_mmx;
|
| c->sse[1] = sse8_mmx;
|
| c->vsad[4]= vsad_intra16_mmx;
|
|
|
| @@ -1391,7 +1394,7 @@
|
| c->ssd_int8_vs_int16 = ssd_int8_vs_int16_mmx;
|
|
|
|
|
| - if (mm_flags & FF_MM_MMX2) {
|
| + if (mm_flags & AV_CPU_FLAG_MMX2) {
|
| c->sum_abs_dctelem= sum_abs_dctelem_mmx2;
|
| c->hadamard8_diff[0]= hadamard8_diff16_mmx2;
|
| c->hadamard8_diff[1]= hadamard8_diff_mmx2;
|
| @@ -1404,19 +1407,19 @@
|
| c->sub_hfyu_median_prediction= sub_hfyu_median_prediction_mmx2;
|
| }
|
|
|
| - if(mm_flags & FF_MM_SSE2){
|
| + if(mm_flags & AV_CPU_FLAG_SSE2){
|
| c->get_pixels = get_pixels_sse2;
|
| c->sum_abs_dctelem= sum_abs_dctelem_sse2;
|
| c->hadamard8_diff[0]= hadamard8_diff16_sse2;
|
| c->hadamard8_diff[1]= hadamard8_diff_sse2;
|
| }
|
|
|
| - if (CONFIG_LPC && mm_flags & (FF_MM_SSE2|FF_MM_SSE2SLOW)) {
|
| + if (CONFIG_LPC && mm_flags & (AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW)) {
|
| c->lpc_compute_autocorr = ff_lpc_compute_autocorr_sse2;
|
| }
|
|
|
| #if HAVE_SSSE3
|
| - if(mm_flags & FF_MM_SSSE3){
|
| + if(mm_flags & AV_CPU_FLAG_SSSE3){
|
| if(!(avctx->flags & CODEC_FLAG_BITEXACT)){
|
| c->try_8x8basis= try_8x8basis_ssse3;
|
| }
|
| @@ -1427,7 +1430,7 @@
|
| }
|
| #endif
|
|
|
| - if(mm_flags & FF_MM_3DNOW){
|
| + if(mm_flags & AV_CPU_FLAG_3DNOW){
|
| if(!(avctx->flags & CODEC_FLAG_BITEXACT)){
|
| c->try_8x8basis= try_8x8basis_3dnow;
|
| }
|
|
|