]> granicus.if.org Git - libvpx/commitdiff
Use memcpy for save/restore_predictor sandbox/jkoleszar/use-memcpy
authorJohn Koleszar <jkoleszar@google.com>
Tue, 15 Feb 2011 15:14:18 +0000 (10:14 -0500)
committerJohn Koleszar <jkoleszar@google.com>
Tue, 15 Feb 2011 15:22:21 +0000 (10:22 -0500)
The save_predictor and restore_predictor functions perform a 1D backup
of the 2D predictor block. Use memcpy to get a faster copy operation
than 4 individual load/stores.

Change-Id: Ia609ed71fbff1ade6fa677186efce9ee29167fd6

vp8/encoder/rdopt.c

index 3449e4532652d0a69fb3e4954a940cf32a6b96bf..faf3733fa8ce34fdd8fd429017cd6aa0cef06a98 100644 (file)
@@ -589,12 +589,8 @@ static void save_predictor(unsigned char *predictor, unsigned char *dst)
     int r, c;
     for (r = 0; r < 4; r++)
     {
-        for (c = 0; c < 4; c++)
-        {
-            *dst = predictor[c];
-            dst++;
-        }
-
+        memcpy(dst, predictor, 4);
+        dst += 4;
         predictor += 16;
     }
 }
@@ -603,12 +599,8 @@ static void restore_predictor(unsigned char *predictor, unsigned char *dst)
     int r, c;
     for (r = 0; r < 4; r++)
     {
-        for (c = 0; c < 4; c++)
-        {
-            predictor[c] = *dst;
-            dst++;
-        }
-
+        memcpy(predictor, dst, 4);
+        dst += 4;
         predictor += 16;
     }
 }