[gthumb] cairo scale: simplified vector operations code
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] cairo scale: simplified vector operations code
- Date: Sun, 29 Nov 2020 16:10:29 +0000 (UTC)
commit 53c02c73ba19f1e8efcf5766f9f8a3eed195ffee
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Nov 29 17:08:53 2020 +0100
cairo scale: simplified vector operations code
gthumb/cairo-scale.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
---
diff --git a/gthumb/cairo-scale.c b/gthumb/cairo-scale.c
index 4c4a37ab..fab1c004 100644
--- a/gthumb/cairo-scale.c
+++ b/gthumb/cairo-scale.c
@@ -36,11 +36,7 @@ typedef ScaleReal (*weight_func_t) (ScaleReal distance);
#ifdef HAVE_VECTOR_OPERATIONS
-typedef ScaleReal v4r __attribute__ ((vector_size(sizeof(ScaleReal)*4)));
-typedef union {
- v4r v;
- ScaleReal r[4];
-} r4vector;
+typedef ScaleReal v4r __attribute__ ((vector_size(sizeof(ScaleReal) * 4)));
#endif /* HAVE_VECTOR_OPERATIONS */
@@ -394,7 +390,7 @@ horizontal_scale_transpose (cairo_surface_t *image,
int i;
int temp;
#ifdef HAVE_VECTOR_OPERATIONS
- r4vector v_pixel, v_rgba;
+ v4r v_pixel, v_rgba;
#endif /* HAVE_VECTOR_OPERATIONS */
if (resize_filter->task != NULL) {
@@ -440,19 +436,18 @@ horizontal_scale_transpose (cairo_surface_t *image,
#ifdef HAVE_VECTOR_OPERATIONS
- v_rgba.v = (v4r) { 0.0, 0.0, 0.0, 0.0 };
+ v_rgba = (v4r) { 0.0, 0.0, 0.0, 0.0 };
for (i = 0; i < n; i++) {
- v_pixel.v = (v4r) { p_src_pixel[0], p_src_pixel[1], p_src_pixel[2],
p_src_pixel[3] };
- v_rgba.v = v_rgba.v + (v_pixel.v * weights[i]);
-
+ v_pixel = (v4r) { p_src_pixel[0], p_src_pixel[1], p_src_pixel[2],
p_src_pixel[3] };
+ v_rgba = v_rgba + (v_pixel * weights[i]);
p_src_pixel += 4;
}
- v_rgba.v = v_rgba.v + 0.5;
+ v_rgba = v_rgba + 0.5;
- p_dest_pixel[0] = CLAMP_PIXEL (v_rgba.r[0]);
- p_dest_pixel[1] = CLAMP_PIXEL (v_rgba.r[1]);
- p_dest_pixel[2] = CLAMP_PIXEL (v_rgba.r[2]);
- p_dest_pixel[3] = CLAMP_PIXEL (v_rgba.r[3]);
+ p_dest_pixel[0] = CLAMP_PIXEL (v_rgba[0]);
+ p_dest_pixel[1] = CLAMP_PIXEL (v_rgba[1]);
+ p_dest_pixel[2] = CLAMP_PIXEL (v_rgba[2]);
+ p_dest_pixel[3] = CLAMP_PIXEL (v_rgba[3]);
#else /* ! HAVE_VECTOR_OPERATIONS */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]