Ok, guys
I´m porting the libwebp library to RosAsm syntax. So far it seems to be working. Just missing to finish a couple of more exported functions, before making further tests. (Didn´t tested all the exported functions i made so far, so dunno, if it will crash is some of them yet)
Since this is a temporary test, i named the library as "Mylibwebpdemux.dll". When i finishes it i´ll rename it back to the proper name.
The goal is not only fix the webpdemux exported functions in the original Api, but make it work not too much dependent on libwebp.dll (Which also, maybe i´ll port this in the future as well.
In order to make it work better, once i´ll fix the other exported functions, i´ll focus on the dependent exports used from libwebp.dll, such as WebPGetFeaturesInternal.
From libwebp library, the demuxer uses a few of them, such as:
WebPInitDecoderConfigInternal
WebPDecode
WebPSafeCalloc
WebPSafeMalloc
WebPSafeFree
WebPDecode
WebPGetFeaturesInternal
VP8LCheckSignature
VP8CheckSignature
VP8GetInfo
VP8LGetInfo
WebPFreeDecBuffer
WebPCopyPlane
Many of them i also fixed it and inserted inside my version of libwebpdemux.dll. The library itself (libwebp and libwebpdmux) seems to be robust, but seems to has some flaws in memory leaking and not releasing the full allocated memory. Not to mention that some functions do nothing at all (such as: WebPDemuxReleaseChunkIterator, WebPDemuxReleaseIterator)
Btw....if someone wants to give a test on the original libwebpdemux.dll i used to create the RosAsm version, here it is
New version. Can someone test this for me and see if it crashes ? If it do, please send me also the image so i can see what´s wrong.
Btw, it is expected to work for animated webp as well.