[gegl] do triple checker fill-in



commit 7f1994f6341fe2587ffb041c37b49986498c523c
Author: Øyvind Kolås <pippin gimp org>
Date:   Wed Jun 26 23:32:01 2019 +0200

    do triple checker fill-in

 operations/workshop/enlarge.c      | 8 +++++---
 operations/workshop/inpaint.c      | 2 +-
 operations/workshop/pixel-duster.h | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/operations/workshop/enlarge.c b/operations/workshop/enlarge.c
index 1176af4e3..ed8ebc25b 100644
--- a/operations/workshop/enlarge.c
+++ b/operations/workshop/enlarge.c
@@ -26,7 +26,7 @@
 
 /* most of these should go away - here for ease of algorithm experimentation */
 
-property_int (seek_distance, "seek radius", 128)
+property_int (seek_distance, "seek radius", 32)
   value_range (4, 512)
 
 property_int (max_k, "max k", 4)
@@ -115,8 +115,8 @@ static void remove_checker (GeglBuffer  *out,
       }
       else
       {
-        if ( ((x%2==1) && (y%2==1)) ||
-             ((x%2==0) && (y%2==0)))
+        if ( ((x%2==1) && (y%2==0)) ||
+             ((x%2==0) && (y%2==1)))
         {
           data[3]=0.0;
         }
@@ -248,6 +248,8 @@ process (GeglOperation       *operation,
   improve (duster, input, output, o->scale);
   remove_checker (output, 1);
   improve (duster, input, output, o->scale);
+  remove_checker (output, 0);
+  improve (duster, input, output, o->scale);
   //improve (duster, input, output, o->scale);
   pixel_duster_destroy (duster);
 
diff --git a/operations/workshop/inpaint.c b/operations/workshop/inpaint.c
index 8ba8b3446..b3e655c6a 100644
--- a/operations/workshop/inpaint.c
+++ b/operations/workshop/inpaint.c
@@ -26,7 +26,7 @@
 
 #ifdef GEGL_PROPERTIES
 
-property_int (seek_distance, "seek radius", 128)
+property_int (seek_distance, "seek radius", 256)
   value_range (4, 512)
 
 property_int (min_neigh, "min neigh", 3)
diff --git a/operations/workshop/pixel-duster.h b/operations/workshop/pixel-duster.h
index b63aec9c5..e8d4c536b 100644
--- a/operations/workshop/pixel-duster.h
+++ b/operations/workshop/pixel-duster.h
@@ -620,7 +620,7 @@ static void compare_needle (gpointer key, gpointer value, gpointer data)
   gint y = offset / 65536;
   float score;
 
-#if 0
+#if 1
 #define pow2(a)   ((a)*(a))
   if ( duster->seek_radius > 1 &&
        pow2 (probe->target_x - x * duster->scale_x) +


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