1. 18 Oct, 2018 1 commit
  2. 17 Oct, 2018 1 commit
    • Ell's avatar
      buffer: apply gamma curve to alpha component during filtering · 950dc347
      Ell authored
      Disable the _alpha() variant of
      gegl_{boxfilter,bilinear,downscale_2x2}_u8_nl(), and use the non-
      alpha one instead, applying the same gamma curve to the alpha
      components as we do for the color components.  This is a temporary
      hack, meant to avoid producing over-saturated pixels when using
      these functions with premultiplied-alpha formats (in particular,
      cairo-ARGB32), which can lead, most notably, to visual artifacts in
      cairo during compositing (see issue #104).
  3. 16 Oct, 2018 3 commits
  4. 15 Oct, 2018 2 commits
    • Øyvind "pippin" Kolås's avatar
      unsharp-mask: raise max radius to max of gaussian-blur · 21f7d15a
      Øyvind "pippin" Kolås authored
      Very large radiuses for unsharp mask are useful as a crude tonemapper,
      maxing out the possible value, this doesn't change the default ui range,
      only the max permitted value.
    • Ell's avatar
      buffer: round alpha component during u8 bilinear/box filtering · 3114a74c
      Ell authored
      In gegl_{bilinear,boxfilter}_u8_nl_alpha(), round the resulting
      alpha component to the nearest integer, instead of truncating it.
      This improves the numerical stability of the algothims, and, in
      particular, avoids potential discrepancies between the color and
      alpha components, which can be particularly problematic with
      premultiplied-alpha formats.
  5. 14 Oct, 2018 4 commits
    • Piotr Drąg's avatar
      Update Polish translation · 06ffd331
      Piotr Drąg authored
    • Ell's avatar
      buffer: avoid allocation/chunking when downsampling by a power of 2 · cb0acb7c
      Ell authored
      In _gegl_buffer_get_unlocked(), we already avoid filtering when
      downsampling by a power of 2, but let's also avoid allocating a
      sample buffer and chunking altogether.
    • Ell's avatar
      buffer: only zero border pixels when performing filtering · e7cfe119
      Ell authored
      In _gegl_buffer_get_unlocked(), don't use g_malloc0() when
      allocating the sample buffer while performing linear- or box-
      filtering.  Rather, always use g_malloc(), and only zero the non-
      sampled "border" pixels in these cases, to avoid unnecessarily
      zeroing pixels that would be overwritten.
    • Ell's avatar
      buffer: fix source rect passed to gegl_resample_{linear,boxfilter}() · a7c730cf
      Ell authored
      In _gegl_buffer_get_unlocked(), when performing linear- or box-
      filtering, don't include the source-buffer "border" pixels in the
      source rect passed to gegl_resample_linear() and
      gegl_resample_boxfilter(), respectively.  These pixels are needed
      since they might be involved in the arithmeric, but they shouldn't
      be taken into account when transforming coordinates between the
      source and destination coordinate systems.
      Update affected mipmap test output.
  6. 12 Oct, 2018 1 commit
    • Øyvind "pippin" Kolås's avatar
      buffer: fix 32bit integer boxfilter overflow · 687508cc
      Øyvind "pippin" Kolås authored
      In the existing implementation we overflow due to the imprecision introduced by
      using single precision floating point in the template. We introduce a temp type
      that can be used for computations, as well as do an upper bounds check when
      doing the rounding/converting of the final result. This fixes overflows but not
      the imprecision; that only applies for 32bit integer precision and in code
      paths primarily used for display rather than processing.
      Fixing issue #103
  7. 11 Oct, 2018 2 commits
    • Øyvind "pippin" Kolås's avatar
      NEWS: update · 8a91950c
      Øyvind "pippin" Kolås authored
    • Jehan's avatar
      operations: improve gegl:watershed-transform description. · 1cf35de7
      Jehan authored
      It is completely unobvious how to use the operation without looking at
      the code (in particular the fact that it uses the alpha channel to
      detect what is labelled or not, and also the babl formats it will work
      on since you likely don't want your labels converted). Let's add a
      slightly more descriptive text.
  8. 10 Oct, 2018 1 commit
  9. 09 Oct, 2018 1 commit
  10. 05 Oct, 2018 1 commit
  11. 02 Oct, 2018 2 commits
  12. 01 Oct, 2018 2 commits
  13. 29 Sep, 2018 1 commit
  14. 28 Sep, 2018 1 commit
  15. 27 Sep, 2018 6 commits
  16. 25 Sep, 2018 1 commit
  17. 24 Sep, 2018 10 commits