Finally after months of muttering about byte order problems under my breath, Screen Mimic 1.5 has been released!

There are several new features in this version which I am pretty happy with:

  • Screen Mimic is now a Universal Binary

    This is the feature that was the main goal in this relase, and also the feature that took the longest. Flash files use little-endian byte order on every platform. So in the original release, I speant a fair amount of time converting from big-endian (powerPC) format to little-endian.

    So for the Universal Binary I had to first determine which platform the application was running on, (which was pretty easy thanks to the NSHostByteOrder function), and then do some dynamic switching.

    The tricky part (and the part that took the longest), was in making sure that the byte order of the image data was correct. This is compounded by the fact that Flash and Quicktime require different pixel color orders. But all that is now just a happy memory.

  • Encoding Optimization (i.e. files encode MUCH faster now)

    This actually was an accident, I was doing some testing of the aforementioned byte order issues and realized that I had a fairly lengthy (lengthy in a big “O” efficiency sort of way) section of code that was completley unnecessary, I took this out and encoding sped up dramatically.

    I mean, I was really studying image processing algorithms and optimized the uh… ok so it was an accident, but I’m calling it a new feature anyway.

  • Multiple Quicktime Formats Are Now Possible

    You can now choose between MPEG-4, H.263 (the encoding that iChat AV uses), Sorensen-3, and the ultra-cool and efficient H.264.

    In my (rather unscientific) testing of the different formats, H.264 not only produced significantly better quality files, but the file size was also half of the next runner up (Sorensen-3).

So why are you still reading this? Go and download it already! : )