[gegl] buffer: add code paths for 5,6 and 12bpp in nearest scaler



commit 4502894850bcc1f878f21671e2f880d29119e43c
Author: Øyvind Kolås <pippin gimp org>
Date:   Sun May 24 05:31:04 2020 +0200

    buffer: add code paths for 5,6 and 12bpp in nearest scaler

 gegl/buffer/gegl-algorithms.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
---
diff --git a/gegl/buffer/gegl-algorithms.c b/gegl/buffer/gegl-algorithms.c
index 31a9d010f..6545ee97c 100644
--- a/gegl/buffer/gegl-algorithms.c
+++ b/gegl/buffer/gegl-algorithms.c
@@ -1284,18 +1284,41 @@ gegl_resample_nearest (guchar              *dst,
              d[2] = s[*(ijj++) + 2];
            );
     break;
+    case 5:IMPL(
+             uint32_t* d32 = (void*) d;
+             const uint32_t* s32 = (void*) &s[*(ijj++)];
+             d32[0] = s32[0];
+             d[4] = s[4];
+           );
+    break;
     case 4:IMPL(
              uint32_t* d32 = (void*) d;
              const uint32_t* s32 = (void*) &s[*(ijj++)];
              d32[0] = s32[0];
            );
     break;
+    case 6:IMPL(
+             uint32_t* d32 = (void*) d;
+             const uint32_t* s32 = (void*) &s[*(ijj++)];
+             d32[0] = s32[0];
+             d[4] = s[4];
+             d[5] = s[5];
+           );
+    break;
     case 8:IMPL(
              uint64_t* d64 = (void*) d;
              const uint64_t* s64 = (void*) &s[*(ijj++)];
              d64[0] = s64[0];
            );
     break;
+    case 12:IMPL(
+             uint32_t* d32 = (void*) d;
+             const uint32_t* s32 = (void*) &s[*(ijj++)];
+             d32[0] = s32[0];
+             d32[1] = s32[1];
+             d32[2] = s32[2];
+           );
+    break;
     case 16:IMPL(
              uint64_t* d64 = (void*) d;
              const uint64_t* s64 = (void*) &s[*(ijj++)];


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]