libmng - The MNG reference library & related info
Ok. Let's get things cleared up a bit. MNG is mostly about animations.
It can do other things, but lets focus on web-content. Why would we need MNG?
Well, there's animated-GIFtm, and we should by now all be understanding why GIF has lost it's appeal.
So PNG can replace single-image GIFs, and MNG can replace animated-GIFs. As simple as that.
Besides the obvious advantage that PNG and MNG are unencumbered by patents,
they generally compress better and have more features. And we wouldn't be human if we didn't want more features,
right? So that's the deal. Now how do you display a MNG in one of the current web-browsers. Easy.
Grab a standards-compliant freely available open-source one like Mozilla,
or Netscape6+ (based on the same code),
or KDE Konqueror. If you have an older browser or don't want to switch,
then just get one of the plugins or
the ActiveX control for Internet Explorer.
This is really where libmng has come into play. It's sole purpose in life is to offer other applications
an easy way to integrate MNG display-support into them. And that's what all this is about.
It's called a library as it doesn't function autonomically. It's gotta be embedded in one or the other app.
And boy, has it.... check out the download-pages if you don't believe me ;)
So far the libmng code has been adopted into several Web-browsers, animation authoring tools, image viewers and others.
There are also plugins and an ActiveX control for Internet Explorer. Things are definitely looking on the up-and-up!
Now I said that things are going to be freely available. As it goes with libraries that does include the source-code.
I've adapted the libpng license, which generally means that you can freely copy,
modify and use it, as long as you leave the original copyright notice and license in tact.
Oh, and I'd also appreciate an acknowledgment of some sort.
Having the source available also means that code-guru's can dive in and provide optimizations and perhaps even bug-fixes.
This is encouraged, but please check with me first, so things can be coordinated in an orderly fashion.
Note that I'm quite fussy, and not at all easy-going when it comes to my code. I'm not trying to scare you off here,
just making sure you're forewarned. I'm very sure there's a whole bunch of things that can be optimized,
but the main focus is on getting all functionality in place first.
If you're interested you can checkout the latest source in the
SourceForge CVS repository.
Now, with all that out of the way, I say we have a look at the code.
Or if you're not that type of person, perhaps the download-pages are more to your liking....
Do you have a plugin or ActiveX control, or are you lucky enough to have the latest state of the art browser
with native MNG/JNG support? Then you can try out the official JNG test-suite
or the MNG test-suite.