| Index: media/base/yuv_convert.cc
|
| diff --git a/media/base/yuv_convert.cc b/media/base/yuv_convert.cc
|
| index 7aa16cc063a630833378c557bf0b05bdf8130b97..7116ca635ec9161f85bb31394a1ad40373d7cea1 100644
|
| --- a/media/base/yuv_convert.cc
|
| +++ b/media/base/yuv_convert.cc
|
| @@ -23,6 +23,7 @@
|
| #include "build/build_config.h"
|
| #include "media/base/simd/convert_rgb_to_yuv.h"
|
| #include "media/base/simd/convert_yuv_to_rgb.h"
|
| +#include "media/base/simd/empty_register_state.h"
|
| #include "media/base/simd/filter_yuv.h"
|
|
|
| #if defined(ARCH_CPU_X86_FAMILY)
|
| @@ -40,9 +41,12 @@ static FilterYUVRowsProc ChooseFilterYUVRowsProc() {
|
| base::CPU cpu;
|
| if (cpu.has_sse2())
|
| return &FilterYUVRows_SSE2;
|
| +
|
| +#if !defined(MEDIA_DO_NOT_USE_MMX_INTRINSICS)
|
| if (cpu.has_mmx())
|
| return &FilterYUVRows_MMX;
|
| -#endif
|
| +#endif // !defined(MEDIA_DO_NOT_USE_MMX_INTRINSICS)
|
| +#endif // defined(ARCH_CPU_X86_FAMILY)
|
| return &FilterYUVRows_C;
|
| }
|
|
|
| @@ -97,9 +101,16 @@ void EmptyRegisterState() {
|
| has_mmx = cpu.has_mmx();
|
| checked = true;
|
| }
|
| - if (has_mmx)
|
| +
|
| + if (has_mmx) {
|
| +#if defined(MEDIA_DO_NOT_USE_MMX_INTRINSICS)
|
| + EmptyRegisterState_MMX();
|
| +#else
|
| _mm_empty();
|
| -#endif
|
| +#endif // defined(MEDIA_DO_NOT_USE_MMX_INTRINSICS)
|
| + }
|
| +
|
| +#endif // defined(ARCH_CPU_X86_FAMILY)
|
| }
|
|
|
| // 16.16 fixed point arithmetic
|
|
|