1. 03 Jan, 2019 1 commit
    • Ell's avatar
      gegl:invert[-gamma]: add format-specific variants · fee15ff5
      Ell authored
      Factor out the common logic of gegl:invert and gegl:invert-gamma
      into invert-common.h, and implement format-specific variants, which
      significantly improves performance for int images.  In particular,
      this speeds up selection invertion in GIMP, which uses gegl:invert.
      fee15ff5
  2. 11 Jul, 2018 1 commit
  3. 22 Mar, 2018 1 commit
    • Øyvind "pippin" Kolås's avatar
      operations: bulk update of reference hashes · 81c5679c
      Øyvind "pippin" Kolås authored
      The generated files for the following operations have been visually inspected -
      and the change in generated pixels are presumed to be due to other changes in
      GEGL and babl. There has been subtle improvements both in color space
      conversions and samplers leading to many changes. The new and updated hashes
      are the hashes resulting on a 64bit linux system, running with 1 thread and no
      opencl.
      81c5679c
  4. 11 Nov, 2017 1 commit
  5. 05 Jun, 2017 1 commit
  6. 09 Mar, 2017 1 commit
  7. 20 Sep, 2016 1 commit
  8. 21 Jan, 2015 1 commit
  9. 25 May, 2014 1 commit
  10. 16 May, 2014 1 commit
  11. 30 Jul, 2013 1 commit
  12. 23 Jun, 2013 1 commit
  13. 11 Jan, 2013 1 commit
  14. 28 Apr, 2012 1 commit
  15. 20 Apr, 2012 1 commit
  16. 01 Apr, 2012 1 commit
  17. 29 Mar, 2012 1 commit
  18. 25 Mar, 2012 1 commit
  19. 20 Mar, 2012 1 commit
  20. 17 Dec, 2010 1 commit
    • Øyvind "pippin" Kolås's avatar
      Remove gegl-simd.h · 8b010612
      Øyvind "pippin" Kolås authored
      Replace the GCC vector extensions code with code that is friendlier to the
      auto-vectorizer in gcc. This optimizes some areas that didn't have optimizations before as well as simplifies code elsewhere. The core ops that had SIMD optimizations are also triggering the auto-vectorizer now, performance difference
      seems hard to measure.
      8b010612
  21. 14 Oct, 2008 1 commit
    • Michael Natterer's avatar
      operations/affine/chant.h operations/common/*.c operations/core/*.c · bad841ff
      Michael Natterer authored
      2008-10-14  Michael Natterer  <mitch@gimp.org>
      
      	* operations/affine/chant.h
      	* operations/common/*.c
      	* operations/core/*.c
      	* operations/external/*.c
      	* operations/generated/math.rb
      	* operations/generated/other-blend.rb
      	* operations/generated/svg-12-blend.rb
      	* operations/generated/svg-12-porter-duff.rb
      	* operations/workshop/*.c
      	* operations/workshop/external/*.c: prefix all operation names
      	with "gegl:".
      
      	* bin/editor.c
      	* bin/gegl-tree-editor-action.c
      	* bin/gegl.c
      	* docs/gallery/clones.xml
      	* examples/2geglbuffer.c
      	* examples/gegl-paint.c
      	* examples/geglbuffer-add-image.c
      	* examples/geglbuffer-clock.c
      	* examples/hello-world-video.c
      	* examples/hello-world.c
      	* gegl/graph/gegl-node.c
      	* tools/introspect.c: changed accordingly.
      
      
      svn path=/trunk/; revision=2624
      bad841ff
  22. 02 Oct, 2008 1 commit
  23. 16 Jun, 2008 1 commit
    • Øyvind Kolås's avatar
      Reverted: Extended the gegl-chanting and the build system to easily allow · 6bb14b1b
      Øyvind Kolås authored
      Reverted:
      Extended the gegl-chanting and the build system to easily allow
      defining an alternate process function that will be compiled to mmx and sse by
      gcc, coupled with runtime cpu detection at class init time to determine which
      variant to use.
      * configure.ac: make USE_SSE available to makefiles.
      * gegl/Makefile.am: install gegl-cpuaccel.h
      * gegl/gegl-chant.h: added logic to detect various SIMD compile modes,
      generating different .o 's based on compiler flags.
      * gegl/gegl-plugin.h: include gegl-cpuaccel.h
      * operations/Makefile-operations.am: added separete recipe for
      compiling .c files that contains the string GEGL_SIMD.
      * operations/common/brightness-contrast.c:
      * operations/common/invert.c:
      * operations/generated/other-blend.rb:
      * operations/generated/svg-12-porter-duff.rb: The rest, updated to
      specify their SIMD code using GEGL_SIMD.
      
      svn path=/trunk/; revision=2480
      6bb14b1b
  24. 15 Jun, 2008 1 commit
    • Øyvind Kolås's avatar
      Extended the gegl-chanting and the build system to easily allow · 23c3f30e
      Øyvind Kolås authored
      defining an alternate process function that will be compiled to mmx
      and sse by gcc, coupled with runtime cpu detection at class init time
      to determine which variant to use.
      * configure.ac: make USE_SSE available to makefiles.
      * gegl/Makefile.am: install gegl-cpuaccel.h
      * gegl/gegl-chant.h: added logic to detect various SIMD compile modes,
      generating different .o 's based on compiler flags.
      * gegl/gegl-plugin.h: include gegl-cpuaccel.h
      * operations/Makefile-operations.am: added separete recipe for
      compiling .c files that contains the string GEGL_SIMD.
      * operations/common/brightness-contrast.c: 
      * operations/common/invert.c: 
      * operations/generated/other-blend.rb:
      * operations/generated/svg-12-porter-duff.rb: The rest, updated to
      specify their SIMD code using GEGL_SIMD.
      
      svn path=/trunk/; revision=2477
      23c3f30e
  25. 09 Jun, 2008 1 commit
    • Sven Neumann's avatar
      added 'const' to the GeglRectangle* roi argument in process(). · 6b424128
      Sven Neumann authored
      2008-06-09  Sven Neumann  <sven@gimp.org>
      
      	* gegl/operation/gegl-operation-point-render.h: added 'const' to
      	the GeglRectangle* roi argument in process().
      
      	* operations/common/brightness-contrast.c
      	* operations/common/checkerboard.c
      	* operations/common/color-temperature.c
      	* operations/common/color.c
      	* operations/common/contrast-curve.c
      	* operations/common/grey.c
      	* operations/common/invert.c
      	* operations/common/levels.c
      	* operations/common/noise.c
      	* operations/common/svg-huerotate.c
      	* operations/common/svg-luminancetoalpha.c
      	* operations/common/svg-saturate.c
      	* operations/common/value-invert.c
      	* operations/common/whitebalance.c: const-ified the roi argument.
      
      svn path=/trunk/; revision=2397
      6b424128
  26. 01 Jun, 2008 1 commit
    • Øyvind Kolås's avatar
      incremented ABI version. added roi as an argument for the point filter · b5b658df
      Øyvind Kolås authored
      * gegl/gegl-plugin.h: incremented ABI version.
      * gegl/operation/gegl-operation-point-filter.[ch]: added roi as an
      argument for the point filter process() function.
      Modified the process() vfuncs for the following operations accordingly:
      * operations/common/brightness-contrast.c: 
      * operations/common/color-temperature.c: 
      * operations/common/contrast-curve.c: 
      * operations/common/grey.c: 
      * operations/common/invert.c: 
      * operations/common/levels.c: 
      * operations/common/svg-huerotate.c: 
      * operations/common/svg-luminancetoalpha.c: 
      * operations/common/svg-matrix.c: 
      * operations/common/svg-saturate.c: 
      * operations/common/value-invert.c: 
      * operations/common/whitebalance.c: 
      * operations/core/convert-format.c: 
      
      svn path=/trunk/; revision=2363
      b5b658df
  27. 16 May, 2008 2 commits
    • Øyvind Kolås's avatar
      fixed buggy loop. and another one. · 23cd3d07
      Øyvind Kolås authored
      * operations/common/brightness-contrast.c:
      (process_simd): fixed buggy loop.
      * operations/common/invert.c: (process_g4f): and another one.
      
      svn path=/trunk/; revision=2293
      23cd3d07
    • Øyvind Kolås's avatar
      code reorganization. (dispatch): cache the found codepath for a given · 0e17d206
      Øyvind Kolås authored
      * gegl/operation/gegl-operation-processors.c:
      (gegl_class_register_alternate_vfunc): code reorganization.
      (dispatch): cache the found codepath for a given quality, made the
      order the checked for strings are used be:
      choice = reference;
      if (gegl_config()->quality <= 1.0  && simd) choice = simd;
      if (gegl_config()->quality <= 0.75 && good) choice = good;
      if (gegl_config()->quality <= 0.25 && fast) choice = fast;
      Register the following operations with the new name "simd" instead of
      g4float.
      * operations/common/brightness-contrast.c:
      * operations/common/invert.c:
      * operations/generated/other-blend.rb:
      * operations/generated/svg-12-porter-duff.rb:
      
      svn path=/trunk/; revision=2292
      0e17d206
  28. 22 Apr, 2008 1 commit
    • Øyvind Kolås's avatar
      renamed gegl4float to g4float. code simplification and cleanup. Migrated · 15bce81c
      Øyvind Kolås authored
      * gegl/gegl-plugin.h: renamed gegl4float to g4float.
      * gegl/operation/gegl-operation-processors.c:
      (gegl_class_register_alternate_vfunc): code simplification and
      cleanup.
      Migrated with API:
      * operations/common/brightness-contrast.c:
      (gegl_chant_class_init):
      * operations/common/invert.c:
      (gegl_chant_class_init):
      * operations/generated/other-blend.rb:
      * operations/generated/svg-12-porter-duff.rb:
      
      svn path=/trunk/; revision=2220
      15bce81c
  29. 21 Apr, 2008 1 commit
    • Øyvind Kolås's avatar
      enable Gegl4float type when compiling with gcc, added more macros for · 1fa7f8d1
      Øyvind Kolås authored
      * gegl/gegl-plugin.h: enable Gegl4float type when compiling with gcc,
      added more macros for working with these vectors including
      Gegl4floatR(vector) and GBA versions to access individual components.
      * gegl/operation/gegl-operation-processors.c:
      (gegl_class_register_alternate_vfunc): enable gcc-vectors for good
      setting.
      * operations/common/brightness-contrast.c: (process_sse),
      (gegl_chant_class_init):
      * operations/common/invert.c: (process_sse),
      (gegl_chant_class_init):
      * operations/generated/other-blend.rb:
      * operations/generated/svg-12-porter-duff.rb: Simplified syntax used
      gcc vectors.
      
      svn path=/trunk/; revision=2210
      1fa7f8d1
  30. 18 Apr, 2008 1 commit
  31. 17 Apr, 2008 2 commits
    • Øyvind Kolås's avatar
      added mmx and cpu detection. · 736899f4
      Øyvind Kolås authored
      * configure.ac: added mmx and cpu detection.
      * gegl/Makefile.am:
      * gegl/gegl-cpuaccel.[ch]: added from GIMP.
      * gegl/gegl-plugin.h: include config.h when compiling in-tree (to
      allow checking for USE_SSE in ops.
      * gegl/gegl-utils.[ch]: (gegl_malloc), (gegl_free): added malloc and
      free that aligns on 16byte boundaries.
      * gegl/operation/gegl-operation-point-composer.c:,
      * gegl/operation/gegl-operation-point-filter.c:
      (process_inner): align allocated buffers on 16byte boundaries to
      make it possible to process RGBA buffers using SSE.
      * gegl/operation/gegl-operation-processors.c: 
      (gegl_operation_class_add_processor): added category SSE that is
      autoenabled if sse support is compiled in and detected.
      * operations/common/invert.c: (process_sse), 
      (gegl_chant_class_init): accelerate the invert operation with vector
      maths using SSE.
      
      svn path=/trunk/; revision=2184
      736899f4
    • Øyvind Kolås's avatar
      Added infrastructure to support multiple process implementations in · 20429e2c
      Øyvind Kolås authored
      GEGL operations. Optimized versions can be added with either
      gegl_operation_class_add_processor (class, process_fast, "fast");
      by setting the environment variable GEGL_QUALITY to fast this
      alternate code path will be chosen.
      * gegl/operation/gegl-operation-processors.c:
      (gegl_operation_class_add_processor): added infrastructure.
      * gegl/operation/gegl-operation.h: added function prototype.
      * gegl/operation/Makefile.am: added new file.
      * operations/common/invert.c: (process_fast): added implementation
      with vertical artifacts.
      (gegl_chant_class_init): register the fast version.
      
      svn path=/trunk/; revision=2183
      20429e2c
  32. 22 Feb, 2008 1 commit
  33. 19 Feb, 2008 1 commit
  34. 27 Jan, 2008 1 commit
    • Kevin Cozens's avatar
      Updated to new chanting API. · b2c8aa0d
      Kevin Cozens authored
      	* operations/core/clone.c:
      	* operations/core/convert-format.c:
      	* operations/core/crop.c:
      	* operations/core/shift.c:
      	* operations/io/jpg-load.c:
      	* operations/io/pixbuf.c:
      	* operations/io/png-load.c:
      	* operations/io/png-save.c:
      	* operations/io/save-buffer.c:
      	* operations/io/save-pixbuf.c:
      	* operations/io/svg-load.c: Updated to new chanting API.
      
      	* operations/blur/box-blur.c:
      	* operations/blur/gaussian-blur.c:
      	* operations/color/brightness-contrast.c
      	* operations/color/invert.c
      	* operations/color/mono-mixer.c
      	* operations/color/stretch-contrast.c
      	* operations/core/nop.c: Formatting changes.
      
      svn path=/trunk/; revision=1918
      b2c8aa0d
  35. 24 Jan, 2008 1 commit
    • Kevin Cozens's avatar
      Minor formatting changes and function re-ordering for consistency with · 399d5e40
      Kevin Cozens authored
      	* operations/blur/box-blur.c:
      	* operations/blur/gaussian-blur.c: Minor formatting changes and
      	function re-ordering for consistency with other updated op files.
      
      	* operations/color/brightness-contrast.c:
      	* operations/color/contrast-curve.c:
      	* operations/color/invert.c:
      	* operations/color/levels.c:
      	* operations/color/mono-mixer.c:
      	* operations/color/stretch-contrast.c:
      	* operations/color/threshold.c:
      	* operations/color/value-invert.c:
      	* operations/color/whitebalance.c: Updated to new chanting API.
      
      svn path=/trunk/; revision=1907
      399d5e40
  36. 23 Jan, 2008 3 commits
    • Øyvind Kolås's avatar
      Made the chanting less operation specific. port to new chant system. · a303a6ed
      Øyvind Kolås authored
      * gegl/gegl-chant.h: Made the chanting less operation specific.
      * operations/core/nop.c: port to new chant system.
      * operations/blur/box-blur.c:
      * operations/blur/gaussian-blur.c:
      * operations/color/invert.c:
      * operations/color/mono-mixer.c:
      * operations/workshop/box-max.c:
      * operations/workshop/box-min.c: updated to new terser chant system.
      
      svn path=/trunk/; revision=1904
      a303a6ed
    • Øyvind Kolås's avatar
      use our own GEGL_DEFINE_DYNAMIC_OPERATION instead of hacking about with · c196daf7
      Øyvind Kolås authored
      * gegl/gegl-chant.h: use our own GEGL_DEFINE_DYNAMIC_OPERATION instead
      of hacking about with G_DEFINE_DYNAMIC_TYPE.
      * operations/blur/box-blur.c: update to new API.
      * operations/color/invert.c: update to new API.
      
      svn path=/trunk/; revision=1901
      c196daf7
    • Øyvind Kolås's avatar
      allocate and free the properties structure manually, tweak the define type · 1661dc67
      Øyvind Kolås authored
      * gegl/gegl-chant.h: allocate and free the properties structure
      manually, tweak the define type macro to generate the class name
      taking the GEGL_CHANT_C_FILE into account.
      * operations/blur/box-blur.c: ported to new chanting API.
      * operations/color/invert.c: ported to new chanting API.
      
      svn path=/trunk/; revision=1900
      1661dc67