Simplify extend_plane() and extend_plane_high() Simplify the calculations of src_ptr2, dst_ptr1, and dst_ptr2 by using common subexpressions. Change-Id: Ie6e6352119b3b7f6fbe7775f122431a28091c59d
diff --git a/aom_scale/generic/yv12extend.c b/aom_scale/generic/yv12extend.c index f01def2..a32aee5 100644 --- a/aom_scale/generic/yv12extend.c +++ b/aom_scale/generic/yv12extend.c
@@ -31,7 +31,7 @@ uint8_t *src_ptr1 = src; uint8_t *src_ptr2 = src + width - 1; uint8_t *dst_ptr1 = src - extend_left; - uint8_t *dst_ptr2 = src + width; + uint8_t *dst_ptr2 = src_ptr2 + 1; for (i = 0; i < height; ++i) { memset(dst_ptr1, src_ptr1[0], extend_left); @@ -46,18 +46,19 @@ * borders */ src_ptr1 = src - extend_left; - src_ptr2 = src + src_stride * (height - 1) - extend_left; - dst_ptr1 = src + src_stride * -extend_top - extend_left; - dst_ptr2 = src + src_stride * height - extend_left; + dst_ptr1 = src_ptr1 + src_stride * -extend_top; for (i = 0; i < extend_top; ++i) { memcpy(dst_ptr1, src_ptr1, linesize); dst_ptr1 += src_stride; } + src_ptr2 = src_ptr1 + src_stride * (height - 1); + dst_ptr2 = src_ptr2; + for (i = 0; i < extend_bottom; ++i) { - memcpy(dst_ptr2, src_ptr2, linesize); dst_ptr2 += src_stride; + memcpy(dst_ptr2, src_ptr2, linesize); } } @@ -74,7 +75,7 @@ uint16_t *src_ptr1 = src; uint16_t *src_ptr2 = src + width - 1; uint16_t *dst_ptr1 = src - extend_left; - uint16_t *dst_ptr2 = src + width; + uint16_t *dst_ptr2 = src_ptr2 + 1; for (i = 0; i < height; ++i) { aom_memset16(dst_ptr1, src_ptr1[0], extend_left); @@ -89,18 +90,19 @@ * borders */ src_ptr1 = src - extend_left; - src_ptr2 = src + src_stride * (height - 1) - extend_left; - dst_ptr1 = src + src_stride * -extend_top - extend_left; - dst_ptr2 = src + src_stride * height - extend_left; + dst_ptr1 = src_ptr1 + src_stride * -extend_top; for (i = 0; i < extend_top; ++i) { memcpy(dst_ptr1, src_ptr1, linesize * sizeof(uint16_t)); dst_ptr1 += src_stride; } + src_ptr2 = src_ptr1 + src_stride * (height - 1); + dst_ptr2 = src_ptr2; + for (i = 0; i < extend_bottom; ++i) { - memcpy(dst_ptr2, src_ptr2, linesize * sizeof(uint16_t)); dst_ptr2 += src_stride; + memcpy(dst_ptr2, src_ptr2, linesize * sizeof(uint16_t)); } } #endif // CONFIG_AV1_HIGHBITDEPTH