Permalink
Switch branches/tags
Nothing to show
Commits on Jun 24, 2011
  1. Fixed a memory leak.

    johnezang committed Jun 24, 2011
    Removed some old commented out debugging statements.
    Fixed a problem where the recompression buffer could be too small for some corner cases.
    Fixed a problem where chunks after IDAT besides the special end chunk were not handled currectly.
    Added support for (hopefully all) the possible image types and bit depth combinations.
Commits on Jun 22, 2011
  1. Added gitignore

    soffes committed Jun 22, 2011
Commits on Jun 18, 2011
Commits on Jun 16, 2011
Commits on Jun 15, 2011
  1. First commit of the local iPhone optimized changes.

    johnezang committed Jun 15, 2011
    Summary of modifications:
    
    The original distribution was modified so that its zlib compatible optimized compressor can emit the default zlib header/trailer/CRC (this was the behavior before modifications), or optionally not emit the zlib header/trailer/CRC (this is called a 'raw zlib stream').  The optimized iPhone .png format requires a 'raw zlib stream' for the compressed IDAT chunk, whereas the PNG standard mandatated behavior is to include the zlib header/trailer/CRC.
    
    An additional tool was added: `adviphone`.  After some trial and error, I went with this approach.  The `advpng` and `adviphone` tools do two different things.
    
    The `advpng` tool was already present, and it *does not* work on iPhone .png files.  It does additional processing and decoding of the .png file that caused some difficulties in adapting it to read / write iPhone .png files.
    
    What was really needed was a tool that did nothing more than decompress the .png's IDAT chunk and recompress it using the compression optimizing 7z zlib/deflat/rfc 1950 compression engine.  This preserves the .png filter settings that have likely already been optimized by a `pngcrush` pass.  The `advpng` tool does not do .png filter optimization, which is often a considerable source of compression gains.
    
    Therefore, the `adviphone` tool was created.  The one and only thing it does is decompress the .png IDAT chunk and recompress it using the 7z compression engine.  This is vastly simpler and it doesn't require any special knowledge or handling of whatever h0h0 magical hacks Apple put in their Xcode `pngcrush` tool.  The .png file that comes out of `adviphone` is exactly the same as the original .png file EXCEPT for the IDAT chunk, and the only modification to that was that it was decompressed and recompressed, and that's all.  The decompressed IDAT bytes aren't examined, decoded, or interperted in any way.  Assuming there are no bugs in the 7z compressor (reasonable assumption), the decompressed bytes are identical to the originals.
  2. Added info about the original source / distribution that was used as …

    johnezang committed Jun 15, 2011
    …the basis of this fork.
  3. Initial check in of the AdvanceCOMP source, which resides in the src/…

    johnezang committed Jun 15, 2011
    … directory. The files in the src/ directory is the unpacked files from the http://sourceforge.net/projects/advancemame/files/advancecomp/1.15/advancecomp-1.15.tar.gz distribution.
  4. Initial commit.

    johnezang committed Jun 15, 2011