Commit 2427ae17 authored by Øyvind Kolås's avatar Øyvind Kolås

removed accidentally prepared-ChangeLog.pl entry

svn path=/trunk/; revision=2212
parent f0a26a9d
......@@ -5,31 +5,6 @@
* operations/common/brightness-contrast.c: renamed process_sse to
process_gcc_vectors.
2008-04-21 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* NEWS:
* bin/editor.c: (cb_flush), (editor_refresh_structure):
* gegl/buffer/gegl-buffer-index.h:
* gegl/buffer/gegl-buffer-load.c: (seekto), (read_header),
(read_block), (sanity), (gegl_buffer_open):
* gegl/buffer/gegl-buffer-share.c:
* gegl/gegl-debug.h:
* gegl/gegl-plugin.h:
* gegl/gegl-types.h:
* gegl/graph/gegl-node.c: (gegl_node_init), (finalize),
(gegl_node_invalidated), (gegl_node_get_bounding_box),
(gegl_node_lock), (gegl_node_unlock):
* gegl/graph/gegl-node.h:
* gegl/process/Makefile.am:
* gegl/process/gegl-eval-mgr.c: (gegl_eval_mgr_apply):
* gegl/process/gegl-have-visitor.c: (visit_node):
* gegl/process/gegl-processor.c: (render_rectangle):
* operations/Makefile-common.am:
* operations/common/brightness-contrast.c: (process_gcc_vectors):
2008-04-21 Øyvind Kolås <pippin@gimp.org>
* gegl/gegl-plugin.h: enable Gegl4float type when compiling with gcc,
......
AUTOMAKE_OPTIONS = dist-bzip2
SUBDIRS= gegl operations bin tools
SUBDIRS= gegl operations bin tools examples
if ENABLE_DOCS
SUBDIRS+= docs
endif
......
......@@ -5,6 +5,12 @@
GEGL only has released development snapshots thus far. Odd micro versions are
from SVN whilst even micro numbers indicate released snapshots.
Changes in GEGL 0.0.17
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
• Performance of GeglBuffer improved.
• Handle optimized versions of innerloops for operations.
• SSE detection and optimization for some point ops.
Changes in GEGL 0.0.16
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
• Install headers for development of external operation plug-ins.
......
......@@ -259,6 +259,7 @@ editor_main (GeglNode *gegl,
static void cb_about (GtkAction *action);
/*static void cb_introspect (GtkAction *action);*/
static void cb_export (GtkAction *action);
static void cb_flush (GtkAction *action);
static void cb_quit_dialog (GtkAction *action);
static void cb_composition_new (GtkAction *action);
static void cb_composition_load (GtkAction *action);
......@@ -321,6 +322,11 @@ static GtkActionEntry action_entries[] = {
"Export to PNG",
G_CALLBACK (cb_export)},
{"Flush", GTK_STOCK_SAVE,
"_Flush", "<control><shift>E",
"Flush swap buffer",
G_CALLBACK (cb_flush)},
{"ShrinkWrap", NULL,
"_Shrink Wrap", "<control>E",
"Size the window to the image, if feasible",
......@@ -388,6 +394,7 @@ static const gchar *ui_info =
" <menuitem action='Previous'/>"
" <separator/>"
" <menuitem action='Export'/>"
" <menuitem action='Flush'/>"
" <separator/>"
" <menuitem action='Quit'/>"
" <separator/>"
......@@ -1154,6 +1161,17 @@ static void cb_export (GtkAction *action)
export_window ();
}
#include "gegl-plugin.h"
#include "graph/gegl-node.h" /*< FIXME: including internal header */
static void cb_flush (GtkAction *action)
{
GeglNode *node;
g_object_get (GEGL_VIEW(editor.view), "node", &node, NULL);
gegl_buffer_flush (GEGL_BUFFER (gegl_node_get_cache (node)));
}
void editor_refresh_structure (void)
{
GeglStore *store = gegl_store_new ();
......@@ -1165,10 +1183,11 @@ void editor_refresh_structure (void)
gtk_tree_view_set_model (GTK_TREE_VIEW (treeview),
GTK_TREE_MODEL (store));
}
typedef struct _GeglPad GeglPad;
void gegl_pad_set_format (gpointer,gpointer);
#if 0
typedef struct _GeglPad GeglPad;
gpointer gegl_node_get_pad (gpointer, const gchar *name);
#endif
static void editor_set_gegl (GeglNode *gegl)
{
......
2008-04-21 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-21 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-21 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-20 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-20 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-20 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-20 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-19 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-19 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-19 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-19 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-19 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-18 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-17 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-16 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-16 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-16 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-16 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-16 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-15 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-15 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-14 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-13 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-11 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-06 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-06 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-04-06 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
* index-static.txt.in:
2008-03-05 Øyvind Kolås <pippin@gimp.org>
reviewed by: <delete if not using a buddy>
* Makefile.am:
* gallery/Makefile.am:
2008-02-27 Øyvind Kolås <pippin@gimp.org>
* index-static.txt.in: fixed toc (cheated and did so on website as
......
......@@ -48,11 +48,11 @@ MAINTAINERCLEANFILES = $(BUILT_EXTRA_DIST)
all-local: $(HTML_FILES)
operations.html: $(top_builddir)/tools/operation_reference $(top_srcdir)/operations/*/*.c
GEGL_PATH=$(top_builddir)/operations \
GEGL_SWAP=RAM GEGL_PATH=$(top_builddir)/operations \
$(top_builddir)/tools/operation_reference --ops-html > $@
class-hierarchy.html: $(top_builddir)/tools/introspect $(top_srcdir)/operations/*/*.c $(top_srcdir)/gegl/*.c
GEGL_PATH=$(top_builddir)/operations \
GEGL_SWAP=RAM GEGL_PATH=$(top_builddir)/operations \
$(top_builddir)/tools/introspect > $@
gegl.h.html: $(top_srcdir)/gegl/gegl.h
......
......@@ -38,12 +38,8 @@ images.stamp: $(wildcard $(top_builddir)/operations/*/*$(SHREXT)) \
@touch images.stamp
%.png: %.xml
@GEGL_DEBUG_TIME=yes GEGL_PATH=$(top_builddir)/operations \
@GEGL_DEBUG_TIME=yes GEGL_SWAP=RAM GEGL_PATH=$(top_builddir)/operations \
$(top_builddir)/bin/gegl $< -o `echo $@ | sed s?$(srcdir)/??` > `echo $@ | sed s?$(srcdir)/?? | sed -e s/png/txt/`;
if HAVE_GRAPHVIZ
@GEGL_PATH=$(top_builddir)/operations \
$(top_builddir)/bin/gegl --dot $< | $(GRAPHVIZ) -Tpng -o `echo $@ | sed s?$(srcdir)/?? | sed s/.png/-graph.png/` >/dev/null
endif
all-local: images.stamp index.html
......
......@@ -7,6 +7,13 @@ GEGL
----
GEGL (Generic Graphics Library) is a graph based image processing framework.
GEGL is a raster compositing and processing core. It provides a framework for
organizing operations into nodes in a graph that can contain cached states to
improve re-render performance. It currently implements a set of 32bit floating
point buffer operations for filters, video frame loading, file loading, pattern
generation, webcam input. As well as operations for storing individual frames,
generate video sequences or displaying the result in fullscreen.
GEGL's original design was made to scratch http://www.gimp.org/[GIMP]'s itches
for a new compositing and processing core. This core is being designed to have
minimal dependencies. and a simple well defined API.
......
......@@ -93,7 +93,7 @@ typedef struct {
typedef union {
guint32 length;
GeglBufferBlock block;
GeglBufferHeader def;
GeglBufferHeader header;
GeglBufferTile tile;
} GeglBufferItem;
......
......@@ -41,6 +41,7 @@
#include "gegl-cache.h"
#include "gegl-region.h"
#include "gegl-buffer-index.h"
#include "gegl-debug.h"
#include <glib/gprintf.h>
......@@ -61,13 +62,15 @@ typedef struct
static void seekto(LoadInfo *info, gint pos)
{
info->pos = pos;
g_printf ("seek to %i\n", pos);
g_seekable_seek (G_SEEKABLE (info->i), info->pos, G_SEEK_SET, NULL, NULL);
GEGL_NOTE (BUFFER_LOAD, "seek to %i", pos);
if(!g_seekable_seek (G_SEEKABLE (info->i), info->pos, G_SEEK_SET, NULL, NULL))
{
g_warning ("failed seeking");
}
}
static GeglBufferItem *read_header (LoadInfo *info)
{
GeglBufferBlock block;
GeglBufferItem *ret;
/* XXX: initialize synchronize buffer state */
......@@ -77,30 +80,18 @@ static GeglBufferItem *read_header (LoadInfo *info)
seekto (info, 0);
}
info->pos += g_input_stream_read (info->i, &block, sizeof (GeglBufferBlock), NULL, NULL);
ret = g_malloc (sizeof (GeglBufferHeader));
info->pos+= g_input_stream_read (info->i,
((gchar*)ret),
sizeof(GeglBufferHeader),
NULL, NULL);
if (info->got_header)
{
ret = g_malloc (block.length);
memcpy (ret, &block, sizeof (GeglBufferBlock));
info->pos+= g_input_stream_read (info->i,
((gchar*)ret) + sizeof(GeglBufferBlock),
block.length - sizeof(GeglBufferBlock),
NULL, NULL);
}
else
{
info->got_header = TRUE;
ret = g_malloc (sizeof (GeglBufferHeader));
memcpy (ret, &block, sizeof (GeglBufferBlock));
info->pos+= g_input_stream_read (info->i,
((gchar*)ret) + sizeof(GeglBufferBlock),
sizeof(GeglBufferHeader) - sizeof(GeglBufferBlock),
NULL, NULL);
}
info->next_block = ret->block.next;
g_printf ("header: next:%i\n", (guint)ret->block.next);
GEGL_NOTE (BUFFER_LOAD, "read header: tile-width: %i tile-height: %i next:%i\n",
ret->header.tile_width,
ret->header.tile_height,
(guint)ret->block.next);
return ret;
}
......@@ -119,24 +110,16 @@ static GeglBufferItem *read_block (LoadInfo *info)
info->pos+= g_input_stream_read (info->i, &block, sizeof (GeglBufferBlock),
NULL, NULL);
if (info->got_header)
{
ret = g_malloc (block.length);
memcpy (ret, &block, sizeof (GeglBufferBlock));
info->pos+= g_input_stream_read (info->i,
((gchar*)ret) + sizeof(GeglBufferBlock),
block.length - sizeof(GeglBufferBlock),
NULL, NULL);
}
else
{
info->got_header = TRUE;
ret = g_malloc (sizeof (GeglBufferHeader));
memcpy (ret, &block, sizeof (GeglBufferBlock));
info->pos+= g_input_stream_read (info->i, ((gchar*)ret) + sizeof(GeglBufferBlock),
sizeof(GeglBufferHeader) - sizeof(GeglBufferBlock),
NULL, NULL);
}
GEGL_NOTE (BUFFER_LOAD, "read block: length:%i next:%i",
block.length,
(guint)block.next);
ret = g_malloc (block.length);
memcpy (ret, &block, sizeof (GeglBufferBlock));
info->pos+= g_input_stream_read (info->i,
((gchar*)ret) + sizeof(GeglBufferBlock),
block.length - sizeof(GeglBufferBlock),
NULL, NULL);
info->next_block = ret->block.next;
return ret;
}
......@@ -166,18 +149,21 @@ load_info_destroy (LoadInfo *info)
g_slice_free (LoadInfo, info);
}
static void sanity(void) { GEGL_BUFFER_SANITY; }
void
gegl_buffer_load (GeglBuffer *buffer,
const gchar *path)
GeglBuffer *
gegl_buffer_open (const gchar *path)
{
GeglBuffer *ret;
LoadInfo *info = g_slice_new0 (LoadInfo);
GEGL_BUFFER_SANITY;
sanity();
info->path = g_strdup (path);
info->file = g_file_new_for_commandline_arg (info->path);
info->i = G_INPUT_STREAM (g_file_read (info->file, NULL, NULL));
GEGL_NOTE (BUFFER_LOAD, "starting to load buffer %s", path);
#if 0
if (info->fd == -1)
{
......@@ -213,13 +199,15 @@ gegl_buffer_load (GeglBuffer *buffer,
info->header.bytes_per_pixel;
info->format = babl_format (info->header.description);
ret = g_object_new (GEGL_TYPE_BUFFER, "format", info->format, NULL);
/* load the index */
{
GeglBufferItem *item; /* = read_block (info);*/
for (item = read_block (info); item; item = read_block (info))
{
g_assert (item);
g_print ("%i, %i, %i offset:%i next:%i\n", item->tile.x,
GEGL_NOTE (BUFFER_LOAD,"loaded item: %i, %i, %i offset:%i next:%i", item->tile.x,
item->tile.y,
item->tile.z,
(guint)item->tile.offset,
......@@ -240,15 +228,10 @@ gegl_buffer_load (GeglBuffer *buffer,
GeglTile *tile;
tile = gegl_tile_source_get_tile (GEGL_TILE_SOURCE (buffer),
tile = gegl_tile_source_get_tile (GEGL_TILE_SOURCE (ret),
entry->x,
entry->y,
entry->z);
g_assert (tile);
gegl_tile_lock (tile);
data = gegl_tile_get_data (tile);
g_assert (data);
if (info->pos != entry->offset)
{
......@@ -256,6 +239,13 @@ gegl_buffer_load (GeglBuffer *buffer,
}
g_assert (info->pos == entry->offset);
g_assert (tile);
gegl_tile_lock (tile);
data = gegl_tile_get_data (tile);
g_assert (data);
info->pos += g_input_stream_read (info->i, data, info->tile_size,
NULL, NULL);
......@@ -264,20 +254,10 @@ gegl_buffer_load (GeglBuffer *buffer,
gegl_tile_unlock (tile);
g_object_unref (G_OBJECT (tile));
i++;
if (GEGL_IS_CACHE (buffer) && entry->z == 0)
{
GeglRectangle rect;
gegl_rectangle_set (&rect, entry->x * info->header.tile_width,
entry->y * info->header.tile_height,
info->header.tile_width,
info->header.tile_height);
gegl_region_union_with_rect (GEGL_CACHE (buffer)->valid_region, &rect);
}
}
/*fprintf (stderr, "done \n");*/
GEGL_NOTE (BUFFER_LOAD, "buffer loaded %s tiles loaded: %i", info->path, i);
}
load_info_destroy (info);
return ret;
}
......@@ -80,7 +80,7 @@ gegl_buffer_make_uri (gchar *buf_128,
}
}