[gegl] buffer: remove some conditionals in gegl_buffer_get
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] buffer: remove some conditionals in gegl_buffer_get
- Date: Wed, 14 Oct 2015 22:26:19 +0000 (UTC)
commit e937b3007d9096324d86a3aeb73a2be8f2841159
Author: Øyvind Kolås <pippin gimp org>
Date: Thu Oct 15 00:13:16 2015 +0200
buffer: remove some conditionals in gegl_buffer_get
gegl/buffer/gegl-buffer-access.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-access.c b/gegl/buffer/gegl-buffer-access.c
index a661e39..eb964f5 100644
--- a/gegl/buffer/gegl-buffer-access.c
+++ b/gegl/buffer/gegl-buffer-access.c
@@ -1429,7 +1429,6 @@ _gegl_buffer_get_unlocked (GeglBuffer *buffer,
gint y1 = floorf (rect->y / scale + GEGL_SCALE_EPSILON);
gint y2 = ceil ((rect->y + rect->height) / scale - GEGL_SCALE_EPSILON);
gint factor = 1;
- gint stride;
gint offset = 0;
while (scale <= 0.5)
@@ -1459,17 +1458,19 @@ _gegl_buffer_get_unlocked (GeglBuffer *buffer,
sample_rect.width = factor * (x2 - x1);
sample_rect.height = factor * (y2 - y1);
- sample_buf = scale == 1.0 ? dest_buf : g_malloc0 (buf_height * buf_width * bpp);
- stride = scale == 1.0 ? rowstride : buf_width * bpp;
-
- gegl_buffer_iterate_read_dispatch (buffer, &sample_rect, (guchar*)sample_buf + offset, stride,
- format, level, repeat_mode);
+ if (rowstride == GEGL_AUTO_ROWSTRIDE)
+ rowstride = rect->width * bpp;
if (scale == 1.0)
- return;
+ {
+ gegl_buffer_iterate_read_dispatch (buffer, &sample_rect, (guchar*)dest_buf + offset, rowstride,
+ format, level, repeat_mode);
+ return;
+ }
- if (rowstride == GEGL_AUTO_ROWSTRIDE)
- rowstride = rect->width * bpp;
+ sample_buf = g_malloc0 (buf_height * buf_width * bpp);
+ gegl_buffer_iterate_read_dispatch (buffer, &sample_rect, (guchar*)sample_buf + offset, buf_width * bpp,
+ format, level, repeat_mode);
if (scale <= 1.99)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]