diff options
author | John Koleszar <jkoleszar@google.com> | 2011-02-15 10:14:18 -0500 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2011-02-15 10:22:21 -0500 |
commit | c40ea3f0c6cb19e4741bf8d81a185c88eec76375 (patch) | |
tree | 515f8d66ed280842f00ced20ab6594f36a85f4cb | |
parent | 7725a7eb56e74ebbdba14d01cfe85a151f81bf1c (diff) | |
download | libvpx-sandbox/jkoleszar/use-memcpy.tar.gz |
Use memcpy for save/restore_predictorsandbox/jkoleszar/use-memcpy
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
-rw-r--r-- | vp8/encoder/rdopt.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 3449e4532..faf3733fa 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -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; } } |