mockingbird Posted December 17, 2021 Posted December 17, 2021 WEBP would also be nice... Didn't WEBP work before in Irfanview on XP? Anyway, attached are the errors with the latest WEBP.DLL plugin (4.57.0.0).
RamonUn Posted December 17, 2021 Posted December 17, 2021 Thanks for your work, I started trying to make a build with cmake+mingw but I got problems with missing unix timing functions and I stopped. On my windows server2003 with your plugin, I still see the same error on loading an jpx file, however I see the dll on the plugin list (without version number because you of missing GetPlugInInfo I guess). The dependency log is attached as rtf file (so you get colors). GetPlugInInfo is used at least for version information, but I suspect it also returns a structure, pointing to a list of functions. that contains the function name to be used for encoding/decoding. In the original I got: ReadAnimatedJXL_W ReadJXL_W SaveJXL_W ScanJXL_W ShowPlugInOptions_W ShowPlugInSaveOptions_W GetPlugInInfo Those are iview only functions that are probably listed when you call GetPluginInfo. this is why (I guess), at the end of the log iview is trying to get an empty proc address. in JPE You would need to re-implement some of those functions but I do not know their prototype. probably iview forum may help you. Loading JPpeg_XL.rtf
user57 Posted December 17, 2021 Posted December 17, 2021 (edited) that list says MSVCP140.DLL is the reason ? thats part of Microsoft Visual C++ Redistributable/vc_redist.x86.exe what version of MSVCP140.DLL is used ? microsoft said latest supported version is v 14.27 anyway here is the entire project, here the IrfanView author can add his export functions he maybe programmed that dll to use his functions instead of the export of jxl.dll that can be done that way more common or flexible way would be to use the export functions that jxl.dll (renamed Jpeg_XL.dll) gives those exported functions handle the encode/decode/compression the readme.txt has information about how to do the next part but i do not think msvcp140.dll is the reason https://www.file-upload.net/download-14783581/files.zip.html ------------------------------------------ seems i got confused a bit, it looked to me his jpeg_xl.dll loaded that unwanted functions in kernel32.dll but it doesnt, i must have eaten something wrong that InitializeCriticalSectionEx is result of dynamic CRT (for both the one i compiled (where i know it works on xp) and for the jpeg_xl.dll from IrfanView author, also for that "api-ms-win-core" dlls the CRT Irfanview author use work for xp the reason why this is not in the import list is that it loads this at runtime and its that CRT (i wrote something about that in msfn forum) it doesnt use InitializeCriticalSectionEx on xp it trys to load it, but then choose a working alternativ now we left with a new question why it doesnt work on xp ? maybe that msjava.dll or that MPR.dll ? the jpeg_xl.dll i compiled do not use those but is not having that export functions RamonUn is right those are not part of the compiled jxl.dll that then get renamed to jpeg_xl.dll ReadAnimatedJXL_W ReadJXL_W SaveJXL_W ScanJXL_W ShowPlugInOptions_W ShowPlugInSaveOptions_W GetPlugInInfo Edited December 17, 2021 by user57
RamonUn Posted December 18, 2021 Posted December 18, 2021 Your DLL works probably perfectly fine on XP, missing dynamic import are non problematic because none of them are made by jxl.dll, I just think iview needs his functions to be defined, the dll, this is why those extra functions are exported by the iview's jpeg_xl.dll. If we had access to the documentation of plugin interface of iview, it would not be difficult, I think to implement those functions. I looked for such doc/sdk but could not find it, I guess iview developer does not want random people to make plugins.
user57 Posted January 28, 2022 Posted January 28, 2022 (edited) ok but since we seems to found the problem, why this is not progressing? the idea to make a jpegxl.dll and just replaceing jpegxl.dll do probaly not work for the reason that the irvanview´s author wrote plugin functions to jpegxl.dll (instead of using the jpegxl.dll directly) his are added functions to jpegxl.dll are: "ReadAnimatedJXL_W ReadJXL_W SaveJXL_W ScanJXL_W ShowPlugInOptions_W ShowPlugInSaveOptions_W GetPlugInInfo" i wrote a post about that problem, that also goes for that WEBP.dll format (what is probaly linked with 16.8 or newer) v 16.8 + create InitializeCriticalSectionEx 16.7 has a working c-runtime for xp it trys to use InitializeCriticalSectionEx but if cant use it use a working other code you either need to fix the crt described in the other post or you go back to Visual Studio 2019 version 16.7 (maximum) the microsoft website also says something about Visual C++ Redistributable version 14.27.29114.0 (maximum) microsoft source: https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170 Edited April 4, 2023 by user57
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now