Re: [Gimp-developer] GimpCon RFC: Portable XCF

2003-08-11 Thread Leonard Rosenthol
At 4:37 PM -0700 8/9/03, Nathan Carl Summers wrote:
 	Trees, yes - for things like layers.   But why a graph??

GEGL supports graphs.  If we use GEGL graphs, we'll need a representation
;)
	Ah...

	I haven't seen/used GEGL - just keep hearing about it here on 
the list as the new imaging engine.


I see fast loads as an absolute requirement.
	Then we need to also look at the GIMP itself and what can be 
done there.


Hopefully, GIMP's file handling will improve to the point where it will
load thing on an as-needed basis.  Therefore, fast random access is
necessary.

	Having load on demand via random access is what will really 
get you the fast loads!!   If you don't solve that, then any work on 
the file format will be a waste towards your goal.


 Being compact is nice as
well, because not everyone has 3 terrabyte harddrives and a T3 line into
their house.
	Agreed, but what does this really mean in real world terms. 
Are we willing to sacrifice functionality to get a couple of bytes 
here and there?  The image data is the big hit in this format - the 
structure will end up as a small fraction of any XCF file.



  * incremental update
	just update a single layer w/o rewriting the whole file!
This seems like an excellent goal.  It seems like you are suggesting a
database-like format.
	Not necessarily.  You should be able to do it with any format 
with a good catalog system, but some will be easier than others.


 	I think sub-chunks is a bad idea.  Although a common way to
 represent hierarchical relationship, they can also put overhead on
 random access and also slow down read/write under certain conditions.
How about a TIFF-like directory chunk at the beginning (except
hierarchical)?
	That would be one solution - sure.

	I just think that doing a full reinvent of an image format 
seems like a waste of time.  Let's look at Photoshop...

	Photoshop is able to do 100% round-tripping of ALL of its 
functionality in three formats - PSD, TIFF and PDF.  PDF is done via 
throwing their private info into an undocumented blob - so it doesn't 
really count.  So let's look at the other two.

	Both PSD and TIFF are rich image formats that already address 
most of your original list and are well defined and supported by many 
existing tools (including GIMP itself).  Both are extensible (TIFF 
more so) and would allow for additional blocks to meet our needs.

	Is there a good reason not to use either PSD or TIFF as the 
native format?   The only possible argument for either is that Adobe 
controls them both.  However, I would state that TIFF has pretty much 
taken on a life of its own outside Adobe (via libtiff).

LDR
--
---
Leonard Rosentholmailto:[EMAIL PROTECTED]
 http://www.lazerware.com
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


[Gimp-developer] gimp 1.3.18 - Pink backgrounds on GIF's

2003-08-11 Thread Steven P. Ulrick
Hello, Everyone :)
I've had this problem for the last two development versions of the Gimp:
1.3.17 and 1.3.18
Hopefully, to maximize the clarity of the information that I have to
give you, and minimize the size of this e-mail, I will proceed with a
series of links to screen shots and brief, appropriate comments.

1.  For the sake of accuracy, I first include a screen-shot of GIF that
has this problem, as viewed in a non-Gimp application: Gqview 1.3.2
http://www.faith4miracle.org/01-GimpSS-GQVIEW.jpg
You will notice that the background is transparent, as represented by
the grey/light gray checks.  No problem here.

2.  Next, I opened up the exact same image with Gimp 1.2.3, the version
that ships by default with Red Hat 9:
http://www.faith4miracle.org/02-GimpSS-gimp-1.2.3.jpg
Just like in example 1, it displays properly.

3.  Next, with the exact same image as in all the other examples, the
current stable version of the Gimp: Gimp 1.2.5:
http://www.faith4miracle.org/03-GimpSS-gimp-1.2.5.jpg
Again, no problem.

4.  Next, the oldest Gimp development version I have installed on my
system: Gimp 1.3.16:
http://www.faith4miracle.org/04-GimpSS-gimp-1.3.16.jpg
Again, no problem.

Here is where the problems start, with Gimp 1.3.17 and 1.3.18:

5.  Gimp 1.3.17:
http://www.faith4miracle.org/05-GimpSS-gimp-1.3.17.jpg
As you can clearly see, the background is now pink.

6.  Gimp 1.3.18:
http://www.faith4miracle.org/06-GimpSS-gimp-1.3.18.jpg
As in example 5, the background is pink.

Before I move on, to clarify, in the making of all these screen-shots,
I used the exact same image.
I can manipulate, copy, paste, etc, the image just fine if I use one of
the first three versions of the Gimp mentioned above.  But if I edit the
image in the two most recent development versions of the Gimp (1.3.17
and 1.3.18), the background permanently becomes pink.
If someone were to suggest that there was an issue with the way that I
made it (I cropped it using a program in Windows, and exported the
actual GIF that you see in the screen-shots from an OpenOffice.org
Impress presentation slide.), I would have to point out that it displays
and edits perfectly in three of the five versions of the Gimp that I
tried it on.
If you have any questions for me, I am more than happy to answer
anything you may have to ask me.
I checked bugzilla.gnome.org and I found nothing but a reference to an
apparently similar issue with an animated GIF.  When I grabbed that
image and opened it up in Gimp 1.3.17 and 1.3.18, I saw absolutely
nothing wrong with it.  The background is transparent on my system, so
as a result, I Assume that my problem is different :)
I am running Red Hat 9, with every package installed.  (That's almost
1400 packages)  I have all the official Red Hat updates installed.  As
far as gtk+ and gtk2, I have the versions that ship with Red Hat 9
installed.
If something relating to a known dependency is affecting Gimp 1.3.17
and 1.3.18 on Red Hat 9, I do apologize and if you say so, I will try
upgrading to newer versions.  The reason I haven't yet is because I've
had really bad luck upgrading Gtk related items in the past.  But if you
say so, with your expert guidance, I will gladly try again :)

Steven P. Ulrick




___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Second try

2003-08-11 Thread Joao S. O. Bueno

hmm...Agreeded.

I'd suggest 10 days instead of 5 (if I, for an example, am on a heavy
workload week, 5 days could not be enough to make my points, if they
need soem expermenting on the codebase), But since the decision was
taken, so mote it be - it's not gonna hurt.

As for the foundation., I'd be happy if it was in Europe. USA is
getting more and more of those stuppid laws, including states passing
super-DMCAs¨ , that if enforced would stop the Internet alltogether.

The foundation has to care off one other thing I did not see on the
summary: most, or all of the codebase must be owned by it. It would
legally allow small adjusts in the license, like the recently one
that clarified that there could be proprietary plug-ins for the GIMP.
(Strictly in terms of the GPL, as currently the copyright holder is
each individual author, there would be the need to have express
permission from each author for this change). Also, there is the GNU
motive - if the need arises to defend GIMP's IP in court, it is
easier if the foundation is the owner, and not a lot of people spread
over the world.

Off course there must be foolproof safeguards to keep the foundation
from doing non-wanted things to the codebase. So, that GIMP should be
free software should be specified in the reason of beingof such a
foundation.

These are my points so far.

Cheers,

JS
--

 - Decisions
 ---

 Not too many of these... we will have a release manager, but we
 need to define exactly what his/her remit will be. And who it will
 be. We agreed that the 5 days and it's dead rule for threads
 makes sense, so that will be done.

 - Future
 

 1) Roadmap - rough release schedule, we will have a first draft
 today. 2) GIMP Foundation - we need to define its responsibilities,
 set up election rules, and get this set up. The principle of the
 foundation is more or less agreed.
 3) Communication
 4) Release Manager - what'll he do, who'll he be. This should be
 short once we have discussed communication channels a bit.
 5) Technie stuff - Sven and mitch are going to talk to us about the
 re-organisation of the code, GObjectification of everything, and
 other stuff. Daniel and Calvin are going to talk to us about Gegl
 and how they feel the GIMP could use it. This will probably be a
 two-way discussion about what kind of things we expect gegl to
 furnish as well. 6) GIMP tutorials - jimmac and nomis are going to
 do some presentations for people, which should be good.
 7) Plug-in distribution - 3 years ago this was discussion, yosh has
 been working on something as a proof-of-concept, it would be nice
 to address this and get something in place soon.

 So there you go. Hello everyone from camp.

 Cheers,
 Dave.




___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GimpCon RFC: Portable XCF

2003-08-11 Thread Leonard Rosenthol
At 6:01 PM -0700 8/8/03, Nathan Carl Summers wrote:
Let us start with an existing graphics format, for inspiration if nothing
else.
	OK.


The format I chose is PNG, because it is arguably the best existing
lossless portable graphics format available.
	Well, I would argue that TIFF has the crown...

	However, PNG is an excellent standard, regardless.


4 capable of representing trees and graphs
	Trees, yes - for things like layers.   But why a graph??


5 recoverable from corruption
6 fast random access of data
9 fast loads and saves
10 compact
	Good goals, but not a requirements.  Perhaps you should 
separate those two things out...

	And I can think of other goals that I'd like to see:

* incremental update
just update a single layer w/o rewriting the whole file!
* rich metadata
(this may be your 7, but needs to be spelled out)

PNG certainly supports 1,2,6,7,9,10, and 11.  Let us examine the other
issues in more detail.
	I would argue that PNG doesn't do 7 - it has no native 
support for CMYK, for example.  (but yes, it does RGB,  Gray and 
indexed).

	And for comparison, I would offer that TIFF does the same 
list and REALLY does 7, including CMYK, Lab, ICC and Spot color 
spaces.   It's extensibility is similar to PNG (in fact, PNG's chunks 
were modelled on TIFF chunks).



A pure XML format, by way of comparison, would fulfill requirements
1,2,3,4,7, and 8.
	I'd add 9, just being in XML doesn't mean it can't be fast.


 Requirement 5 in practice would be difficult to fulfill
in a pure XML format without hand-hacking, which is beyound the skills of
most users.  A zlib-style compression step could make some progress
towards 10.
	But gzipping the entire XML block would then pretty make 6 
impossible unless you want to seriously increase in-memory 
requirements.


An archive with XML metadata and png graphical data, on the other hand,
would satisfy requirements 1,2,3,4,7,8, and 11.
	An archive (zip, tar, ar) with XML metadata plus raster image 
data (ie. my previous proposal) would meet 1,2,3,4,6,7,8,10,11.   5  
10 are related to the archive format of choice since some are better 
at these than others.  But yes, I suspect that it would probably be a 
bit slower.



Requirement 6 is
fulfilled for simple images, but for more complex images XML does not
scale well, since every bite from the begining of the XML file to the
place in which the data you are interested in is.
	But the XML is just a catalog of what's in the archive (at 
least in my proposal).  So you read the catalog up front and then use 
it to quickly find the part of the archive you want and viola - fast 
random access to data.


It seems like all we have to do is combine the strengths of PNG and the
strengths of XML to create a format that satisfies our requirements.  What
we really need is not an extensible text markup language, but an
extensible graphics markup format.
	That's what TIFF and PNG were designed for.


Portable XCF would use a chunk system similar to PNG, with two major
differences.  First, chunk type would be a string instead of a 32-bit
value.  Second, chunks can contain an arbitrary number of subchunks, which
of course can contain subchunks themselves.
	I think sub-chunks is a bad idea.  Although a common way to 
represent hierarchical relationship, they can also put overhead on 
random access and also slow down read/write under certain conditions.


At the end of each chunk is a checksum, as well as a close-chunk marker.
The purpose of the close-chunk marker is to help recover in case of
corruption; if no corruption is detected, the close-chunk marker is
ignored.
	This is a common technique in many file formats for 
corruption detection.  It works.


One of the major advantages of this hybred technique is that if an
implementation does not understand or is not interested in a particular
chunk, it can seek to the next chunk without having to read or parse any
of the data in-between.
	How does it do that?  How do you find start of chunk 
without a catalog?  How do you get random access to a particular 
chunk w/o a catalog?


image data chunks should use png-style adaptive predictive compression.
They should also use adam-7.
	Great - but that's not specific to a file format - we can do 
that anywhere...

Leonard
--
---
Leonard Rosentholmailto:[EMAIL PROTECTED]
 http://www.lazerware.com
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] gimp 1.3.18 - Pink backgrounds on GIF's

2003-08-11 Thread Adam D. Moss
Hi.

Jeff Trefftzs wrote:
Without getting fancy, I just tried this image in gimp-1.3.18 (Linux,
RedHat 9).  It opened with the pink background
Wait, it OPENED with the pink background?  You didn't have
to save it out again first?
--
Adam D. Moss   . ,,^^   [EMAIL PROTECTED]   http://www.foxbox.org/   co:3
I am NOT a nut!  I am the keeper of the seven universal truths!
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Re: GimpCon RFC: Portable XCF

2003-08-11 Thread Nathan Carl Summers
On Mon, 11 Aug 2003, Adam D. Moss wrote:

 IIRC, the Loki guys.  Some ramblings a few years ago on the
 problems of interoperability of game data between
 windows/mac/linuxx86/linuxalpha/etc over network and on disk.
 They made a special point of saying something like 'never, ever
 serialize floats' and it sounded like the voice of experience.

Java doesn't seem to have a problem with it.  Even poor fools like me who
are working on VM's for machines with non-IEEE floats don't have too much
of a problem.

Rockwalrus

___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Cannot save my work ...

2003-08-11 Thread Carol Spears
Philippe wrote:

(gimp-1.3.16-2.fr / gimp-perl-1.2.3-16)

Hi,
I am using gimp from rpm package. After making a image, with multiples
layers, ans saving it under xcf format, I am trying to save it under PNG
or another file type.
 

png does not save layers.  I was wondering while I read this if you are 
trying to save as a png before flattening it.

carol



___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GimpCon RFC: Portable XCF

2003-08-11 Thread Nathan Carl Summers
Good to get some high-quality feedback.

On Sat, 9 Aug 2003, Leonard Rosenthol wrote:
 At 6:01 PM -0700 8/8/03, Nathan Carl Summers wrote:
 Let us start with an existing graphics format, for inspiration if nothing
 else.

   OK.


 The format I chose is PNG, because it is arguably the best existing
 lossless portable graphics format available.

   Well, I would argue that TIFF has the crown...

   However, PNG is an excellent standard, regardless.

Good point.  It can't hurt to take a look at several graphics formats and
take the best parts from each of them.

 4 capable of representing trees and graphs

   Trees, yes - for things like layers.   But why a graph??

GEGL supports graphs.  If we use GEGL graphs, we'll need a representation
;)

 5 recoverable from corruption
 6 fast random access of data
 9 fast loads and saves
 10 compact

   Good goals, but not a requirements.  Perhaps you should
 separate those two things out...

I see fast loads as an absolute requirement.  Being compact is nice as
well, because not everyone has 3 terrabyte harddrives and a T3 line into
their house.

Hopefully, GIMP's file handling will improve to the point where it will
load thing on an as-needed basis.  Therefore, fast random access is
necessary.  A VIPS-like demand-driven pipeline would increase gimp
responsiveness a lot.

   And I can think of other goals that I'd like to see:

 * incremental update
   just update a single layer w/o rewriting the whole file!

This seems like an excellent goal.  It seems like you are suggesting a
database-like format.

 * rich metadata
   (this may be your 7, but needs to be spelled out)

Well, that was what I meant by extensibility and the ablity to represent
anything GIMP can.  I agree that this is important.

 PNG certainly supports 1,2,6,7,9,10, and 11.  Let us examine the other
 issues in more detail.

   I would argue that PNG doesn't do 7 - it has no native
 support for CMYK, for example.  (but yes, it does RGB,  Gray and
 indexed).


   And for comparison, I would offer that TIFF does the same
 list and REALLY does 7, including CMYK, Lab, ICC and Spot color
 spaces.   It's extensibility is similar to PNG (in fact, PNG's chunks
 were modelled on TIFF chunks).

Indeed.

 A pure XML format, by way of comparison, would fulfill requirements
 1,2,3,4,7, and 8.

   I'd add 9, just being in XML doesn't mean it can't be fast.

I guess if you used raw image data instead of base64 or something similar

   Requirement 5 in practice would be difficult to fulfill
 in a pure XML format without hand-hacking, which is beyound the skills of
 most users.  A zlib-style compression step could make some progress
 towards 10.

   But gzipping the entire XML block would then pretty make 6
 impossible unless you want to seriously increase in-memory
 requirements.

right.

 An archive with XML metadata and png graphical data, on the other hand,
 would satisfy requirements 1,2,3,4,7,8, and 11.

   An archive (zip, tar, ar) with XML metadata plus raster image
 data (ie. my previous proposal) would meet 1,2,3,4,6,7,8,10,11.   5 
 10 are related to the archive format of choice since some are better
 at these than others.  But yes, I suspect that it would probably be a
 bit slower.



 Requirement 6 is
 fulfilled for simple images, but for more complex images XML does not
 scale well, since every bite from the begining of the XML file to the
 place in which the data you are interested in is.

   But the XML is just a catalog of what's in the archive (at
 least in my proposal).  So you read the catalog up front and then use
 it to quickly find the part of the archive you want and viola - fast
 random access to data.


 It seems like all we have to do is combine the strengths of PNG and the
 strengths of XML to create a format that satisfies our requirements.  What
 we really need is not an extensible text markup language, but an
 extensible graphics markup format.

   That's what TIFF and PNG were designed for.


 Portable XCF would use a chunk system similar to PNG, with two major
 differences.  First, chunk type would be a string instead of a 32-bit
 value.  Second, chunks can contain an arbitrary number of subchunks, which
 of course can contain subchunks themselves.

   I think sub-chunks is a bad idea.  Although a common way to
 represent hierarchical relationship, they can also put overhead on
 random access and also slow down read/write under certain conditions.

How about a TIFF-like directory chunk at the beginning (except
hierarchical)?

 At the end of each chunk is a checksum, as well as a close-chunk marker.
 The purpose of the close-chunk marker is to help recover in case of
 corruption; if no corruption is detected, the close-chunk marker is
 ignored.

   This is a common technique in many file formats for
 corruption detection.  It works.


 One of the major advantages of this hybred technique is that if an
 implementation does 

Re: [Gimp-developer] gimp 1.3.18 - Pink backgrounds on GIF's

2003-08-11 Thread Adam D. Moss
Tom Mraz wrote:
It is probably this checkin:
http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=contextwhitespace_mode=showfile=gifload.cbranch=root=/cvs/gnomesubdir=/gimp/plug-ins/commoncommand=DIFF_FRAMESETrev1=1.30rev2=1.31 

The guchar - gchar change without correcting the code using the buf 
isn't probably good idea?
I think you're right.  That bogus change totally sneaked under
my radar...  (heads will roll! :D  :D  :D )
If someone who sees the problem can test this fix: 
http://icculus.org/~aspirin/gifload.c that'd be good.

Thanks,
--Adam
--
Adam D. Moss   . ,,^^   [EMAIL PROTECTED]   http://www.foxbox.org/   co:3
I am NOT a nut!  I am the keeper of the seven universal truths!
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer