| Index: media/base/yuv_convert_perftest.cc
|
| diff --git a/media/base/yuv_convert_perftest.cc b/media/base/yuv_convert_perftest.cc
|
| index 0f30bebec8bb57a6f4fab330d22c290c1f270ab1..7e8beab1d72258408d5222630c91fc7795ec52e0 100644
|
| --- a/media/base/yuv_convert_perftest.cc
|
| +++ b/media/base/yuv_convert_perftest.cc
|
| @@ -64,31 +64,6 @@ class YUVConvertPerfTest : public testing::Test {
|
| DISALLOW_COPY_AND_ASSIGN(YUVConvertPerfTest);
|
| };
|
|
|
| -TEST_F(YUVConvertPerfTest, ConvertYUVToRGB32Row_MMX) {
|
| - ASSERT_TRUE(base::CPU().has_mmx());
|
| -
|
| - base::TimeTicks start = base::TimeTicks::HighResNow();
|
| - for (int i = 0; i < kPerfTestIterations; ++i) {
|
| - for (int row = 0; row < kSourceHeight; ++row) {
|
| - int chroma_row = row / 2;
|
| - ConvertYUVToRGB32Row_MMX(
|
| - yuv_bytes_.get() + row * kSourceWidth,
|
| - yuv_bytes_.get() + kSourceUOffset + (chroma_row * kSourceWidth / 2),
|
| - yuv_bytes_.get() + kSourceVOffset + (chroma_row * kSourceWidth / 2),
|
| - rgb_bytes_converted_.get(),
|
| - kWidth,
|
| - GetLookupTable(YV12));
|
| - }
|
| - }
|
| - double total_time_seconds =
|
| - (base::TimeTicks::HighResNow() - start).InSecondsF();
|
| - perf_test::PrintResult(
|
| - "yuv_convert_perftest", "", "ConvertYUVToRGB32Row_MMX",
|
| - kPerfTestIterations / total_time_seconds, "runs/s", true);
|
| -
|
| - media::EmptyRegisterState();
|
| -}
|
| -
|
| TEST_F(YUVConvertPerfTest, ConvertYUVToRGB32Row_SSE) {
|
| ASSERT_TRUE(base::CPU().has_sse());
|
|
|
| @@ -113,33 +88,9 @@ TEST_F(YUVConvertPerfTest, ConvertYUVToRGB32Row_SSE) {
|
| media::EmptyRegisterState();
|
| }
|
|
|
| -TEST_F(YUVConvertPerfTest, ScaleYUVToRGB32Row_MMX) {
|
| - ASSERT_TRUE(base::CPU().has_mmx());
|
| -
|
| - const int kSourceDx = 80000; // This value means a scale down.
|
| -
|
| - base::TimeTicks start = base::TimeTicks::HighResNow();
|
| - for (int i = 0; i < kPerfTestIterations; ++i) {
|
| - for (int row = 0; row < kSourceHeight; ++row) {
|
| - int chroma_row = row / 2;
|
| - ScaleYUVToRGB32Row_MMX(
|
| - yuv_bytes_.get() + row * kSourceWidth,
|
| - yuv_bytes_.get() + kSourceUOffset + (chroma_row * kSourceWidth / 2),
|
| - yuv_bytes_.get() + kSourceVOffset + (chroma_row * kSourceWidth / 2),
|
| - rgb_bytes_converted_.get(),
|
| - kWidth,
|
| - kSourceDx,
|
| - GetLookupTable(YV12));
|
| - }
|
| - }
|
| - double total_time_seconds =
|
| - (base::TimeTicks::HighResNow() - start).InSecondsF();
|
| - perf_test::PrintResult(
|
| - "yuv_convert_perftest", "", "ScaleYUVToRGB32Row_MMX",
|
| - kPerfTestIterations / total_time_seconds, "runs/s", true);
|
| - media::EmptyRegisterState();
|
| -}
|
| -
|
| +// 64-bit release + component builds on Windows are too smart and optimizes
|
| +// away the function being tested.
|
| +#if defined(OS_WIN) && (defined(ARCH_CPU_X86) || !defined(COMPONENT_BUILD))
|
| TEST_F(YUVConvertPerfTest, ScaleYUVToRGB32Row_SSE) {
|
| ASSERT_TRUE(base::CPU().has_sse());
|
|
|
| @@ -167,33 +118,6 @@ TEST_F(YUVConvertPerfTest, ScaleYUVToRGB32Row_SSE) {
|
| media::EmptyRegisterState();
|
| }
|
|
|
| -TEST_F(YUVConvertPerfTest, LinearScaleYUVToRGB32Row_MMX) {
|
| - ASSERT_TRUE(base::CPU().has_mmx());
|
| -
|
| - const int kSourceDx = 80000; // This value means a scale down.
|
| -
|
| - base::TimeTicks start = base::TimeTicks::HighResNow();
|
| - for (int i = 0; i < kPerfTestIterations; ++i) {
|
| - for (int row = 0; row < kSourceHeight; ++row) {
|
| - int chroma_row = row / 2;
|
| - LinearScaleYUVToRGB32Row_MMX(
|
| - yuv_bytes_.get() + row * kSourceWidth,
|
| - yuv_bytes_.get() + kSourceUOffset + (chroma_row * kSourceWidth / 2),
|
| - yuv_bytes_.get() + kSourceVOffset + (chroma_row * kSourceWidth / 2),
|
| - rgb_bytes_converted_.get(),
|
| - kWidth,
|
| - kSourceDx,
|
| - GetLookupTable(YV12));
|
| - }
|
| - }
|
| - double total_time_seconds =
|
| - (base::TimeTicks::HighResNow() - start).InSecondsF();
|
| - perf_test::PrintResult(
|
| - "yuv_convert_perftest", "", "LinearScaleYUVToRGB32Row_MMX",
|
| - kPerfTestIterations / total_time_seconds, "runs/s", true);
|
| - media::EmptyRegisterState();
|
| -}
|
| -
|
| TEST_F(YUVConvertPerfTest, LinearScaleYUVToRGB32Row_SSE) {
|
| ASSERT_TRUE(base::CPU().has_sse());
|
|
|
| @@ -220,6 +144,7 @@ TEST_F(YUVConvertPerfTest, LinearScaleYUVToRGB32Row_SSE) {
|
| kPerfTestIterations / total_time_seconds, "runs/s", true);
|
| media::EmptyRegisterState();
|
| }
|
| +#endif // defined(OS_WIN) && (ARCH_CPU_X86 || COMPONENT_BUILD)
|
|
|
| #endif // !defined(ARCH_CPU_ARM_FAMILY) && !defined(ARCH_CPU_MIPS_FAMILY)
|
|
|
|
|