Hi Ken, i've been checking out your pngout recently and was interested in how your compression is done, so far it's the best i've seen.
I was also looking into creating a super-optimized compression/converter for PNG, any good references for PNG format/compression you could recommend?
Reason for this is i'm working on a project that will probably use thousands apon thousands of png files, so every millisecond counts (like 300000+ files)
Thanks
Awesoken at
If you need good compression ratio AND speed, then I would suggest using ADVPNG / ADVDEF or OPTIPNG. PNGOUT was not designed for speed.
Here's a link to the official PNG documentation. I've been using v1.2 of the specification. Also, for technical details of the deflate standard, refer to RFC1951 It includes everything in a nice compact manner.
I'd rather not give out specific details about the algorithms used in PNGOUT (and KZIP) in a public forum right now. I say this because I know of several companies who would be happy to take my ideas, sell them, patent them, and then forget where they came from. I've been thinking about releasing the source code under some kind of free license that would prevent commercial exploitation and protect my credit. Until that happens, you're welcome to search this forum for hints.
Versus at
Thanks Ken,
I can completely understand what you mean by the algorithm, the references should help me figure something out as you mentioned, speed is #1 priority
Thanks again~
space at
Awesoken said
I've been thinking about releasing the source code under some kind of free license that would prevent commercial exploitation and protect my credit.
wasn't GPL made for this?
David at
GPL
space said
Awesoken said
I've been thinking about releasing the source code under some kind of free license that would prevent commercial exploitation and protect my credit.
wasn't GPL made for this?
GPL would protect against use of code, but it wouldn
nonesuch at
Release it with a standard copyright
You want to release the code with a standard copyright.
Since 1983 or so all that is required is to put a (c) 2005 "Your Name"
at the top of the work.
When you do this you retain all rights to the work for about 70 years.
People will be free to look at the code, but will not be able to use it
for any commercial purposes, nor to re-release it.
Standard Copyright by default also includes fair use clauses, that would
individuals to download and test the software at home...or educators
to examine the code for study.
You can request that any bugs found/fixed or improvements be
sent to you, and you could then re-incorporate them in a new
release.
You would have zero legal liability.
Martin at
PNG Compression - Questions
Awesoken said
I'd rather not give out specific details about the algorithms used in PNGOUT (and KZIP) in a public forum right now. I say this because I know of several companies who would be happy to take my ideas, sell them, patent them, and then forget where they came from. I've been thinking about releasing the source code under some kind of free license that would prevent commercial exploitation and protect my credit.
Doesn't the development of PNGOUTWin and the commercial concern interfere with releasing the source? Or do you think PNGOUTWin would be successful anyway? (It shouldn't sound that I would doubt ...)
GothOtaku at
Re: Release it with a standard copyright
nonesuch said
When you do this you retain all rights to the work for about 70 years.
It's 70 years after the death of the creator.
David at
nonesuch said
You want to release the code with a standard copyright.
Since 1983 or so all that is required is to put a (c) 2005 "Your Name"
at the top of the work.
When you do this you retain all rights to the work for about 70 years.
People will be free to look at the code, but will not be able to use it
for any commercial purposes, nor to re-release it.
Standard Copyright by default also includes fair use clauses, that would
individuals to download and test the software at home...or educators
to examine the code for study.
You can request that any bugs found/fixed or improvements be
sent to you, and you could then re-incorporate them in a new
release.
You would have zero legal liability.
I don't think copyright is enforcable. Here's the scenario. Company X reads the code, understands the algorithm that took Ken's original thoughts to invent, and then they add it to their app using their own code, or maybe even Ken's original code.
First, Ken would need to find out that the violation happened. Second, he would need to do a costly suit in order to try to get compensation. This would not only cost money, but also time.
By keeping the code private, anyone who wants to can contact Ken and work out an agreement. For example, IrfanView ships with PNGOUT technology. Companies do write from time to time, but it's not an altruistic world, so most of the time they want something for free when they really should offer to pay for it.