When scaling a 1x1, dx/dy is 0.  Switch to point sample
BUG=none
TEST=none
R=dingkai@google.com

Review URL: https://webrtc-codereview.appspot.com/1582007

git-svn-id: http://libyuv.googlecode.com/svn/trunk@714 16f28f9a-4ce2-e073-06de-1de4eb20be90
diff --git a/README.chromium b/README.chromium
index 52f22b6..56d52fa 100644
--- a/README.chromium
+++ b/README.chromium
@@ -1,6 +1,6 @@
 Name: libyuv
 URL: http://code.google.com/p/libyuv/
-Version: 713
+Version: 715
 License: BSD
 License File: LICENSE
 
diff --git a/include/libyuv/version.h b/include/libyuv/version.h
index e1f2971..cc922ed 100644
--- a/include/libyuv/version.h
+++ b/include/libyuv/version.h
@@ -11,6 +11,6 @@
 #ifndef INCLUDE_LIBYUV_VERSION_H_  // NOLINT
 #define INCLUDE_LIBYUV_VERSION_H_
 
-#define LIBYUV_VERSION 713
+#define LIBYUV_VERSION 715
 
 #endif  // INCLUDE_LIBYUV_VERSION_H_  NOLINT
diff --git a/source/scale_argb.cc b/source/scale_argb.cc
index 8648a75..46fefce 100644
--- a/source/scale_argb.cc
+++ b/source/scale_argb.cc
@@ -1120,29 +1120,33 @@
   }
 
   // Special case for integer step values.
-  if (((dx | dy) & 0xffff) == 0 && dx && dy) {
-    // Optimized even scale down. ie 2, 4, 6, 8, 10x.
-    if (!(dx & 0x10000) && !(dy & 0x10000)) {
-      if ((dx >> 16) == 2) {
-        // Optimized 1/2 horizontal.
-        ScaleARGBDown2(src_width, src_height, clip_width, clip_height,
-                       src_stride, dst_stride, src, dst,
-                       x, dx, y, dy, filtering);
+  if (((dx | dy) & 0xffff) == 0) {
+    if (!dx || !dy) {
+      filtering = kFilterNone;
+    } else {
+      // Optimized even scale down. ie 2, 4, 6, 8, 10x.
+      if (!(dx & 0x10000) && !(dy & 0x10000)) {
+        if ((dx >> 16) == 2) {
+          // Optimized 1/2 horizontal.
+          ScaleARGBDown2(src_width, src_height, clip_width, clip_height,
+                         src_stride, dst_stride, src, dst,
+                         x, dx, y, dy, filtering);
+          return;
+        }
+        ScaleARGBDownEven(src_width, src_height, clip_width, clip_height,
+                          src_stride, dst_stride, src, dst,
+                          x, dx, y, dy, filtering);
         return;
       }
-      ScaleARGBDownEven(src_width, src_height, clip_width, clip_height,
-                        src_stride, dst_stride, src, dst,
-                        x, dx, y, dy, filtering);
-      return;
-    }
-    // Optimized odd scale down. ie 3, 5, 7, 9x.
-    if ((dx & 0x10000) && (dy & 0x10000)) {
-      filtering = kFilterNone;
-      if (dst_width == src_width && dst_height == src_height) {
-        // Straight copy.
-        ARGBCopy(src + (y >> 16) * src_stride + (x >> 16) * 4, src_stride,
-                 dst, dst_stride, clip_width, clip_height);
-        return;
+      // Optimized odd scale down. ie 3, 5, 7, 9x.
+      if ((dx & 0x10000) && (dy & 0x10000)) {
+        filtering = kFilterNone;
+        if (dst_width == src_width && dst_height == src_height) {
+          // Straight copy.
+          ARGBCopy(src + (y >> 16) * src_stride + (x >> 16) * 4, src_stride,
+                   dst, dst_stride, clip_width, clip_height);
+          return;
+        }
       }
     }
   }