gfx/ycbcr/win64_mac64.patch
author ffxbld
Fri, 01 Oct 2010 19:06:11 -0700
branchGECKO20b7pre_20100929_RELBRANCH
changeset 54886 75deb7fd10124b1f452c736142a6b3e01b8738bb
parent 41188 ae968e2a47926065da0ea32d302119fc91fc4eae
permissions -rw-r--r--
Added tag FENNEC_4_0b1_RELEASE for changeset 4791cfde3ca0. CLOSED TREE

diff --git a/gfx/ycbcr/yuv_row_mac.cpp b/gfx/ycbcr/yuv_row_mac.cpp
index 351466c..2a679cc 100644
--- a/gfx/ycbcr/yuv_row_mac.cpp
+++ b/gfx/ycbcr/yuv_row_mac.cpp
@@ -8,7 +8,10 @@
 
 extern "C" {
 
-#if defined(ARCH_CPU_PPC)
+// PPC and 64 Bit builds use the C fallback. Optimized code
+// needs to be fixed for 64 bit builds. PPC has no optimized code
+// option at all.
+#if defined(ARCH_CPU_PPC) || defined(ARCH_CPU_64_BITS)
 // PPC implementation uses C fallback
 void FastConvertYUVToRGB32Row(const uint8* y_buf,
                               const uint8* u_buf,
@@ -315,6 +318,6 @@ void FastConvertYUVToRGB32Row(const uint8* y_buf,
                           &kCoefficientsRgbY[0][0]);
 }
 
-#endif // ARCH_CPU_PPC 
+#endif // ARCH_CPU_PPC || ARCH_CPU_64_BITS
 }  // extern "C"
 
diff --git a/gfx/ycbcr/yuv_row_win.cpp b/gfx/ycbcr/yuv_row_win.cpp
index f994931..708ef14 100644
--- a/gfx/ycbcr/yuv_row_win.cpp
+++ b/gfx/ycbcr/yuv_row_win.cpp
@@ -5,6 +5,21 @@
 #include "yuv_row.h"
 
 extern "C" {
+// 64 Bit builds use the C fallback. Optimized code
+// needs to be fixed for 64 bit builds.
+#if defined(ARCH_CPU_64_BITS)
+// PPC implementation uses C fallback
+void FastConvertYUVToRGB32Row(const uint8* y_buf,
+                              const uint8* u_buf,
+                              const uint8* v_buf,
+                              uint8* rgb_buf,
+                              int width) {
+  FastConvertYUVToRGB32Row_C(y_buf, u_buf, v_buf, rgb_buf, width);
+}
+ 
+#else
+
+
 #define RGBY(i) { \
   static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
   static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
@@ -297,5 +312,6 @@ void FastConvertYUVToRGB32Row(const uint8* y_buf,
   }
 }
 
+#endif // ARCH_CPU_64_BITS
 }  // extern "C"