From: John Koleszar Date: Tue, 15 Feb 2011 15:14:18 +0000 (-0500) Subject: Use memcpy for save/restore_predictor X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fheads%2Fsandbox%2Fjkoleszar%2Fuse-memcpy;p=libvpx Use memcpy for save/restore_predictor 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 --- 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; } }