libvips / build-win64-mxe

76 stars 15 forks source link

Add an option to build with MozJPEG #8

Closed kleisauke closed 5 years ago

kleisauke commented 5 years ago

See: https://github.com/kleisauke/net-vips/issues/26#issuecomment-492344680.

The pre-compiled binaries released here should still depend on libjpeg-turbo, since image compression in MozJPEG is slower than with libjpeg-turbo.

kleisauke commented 5 years ago

If anyone wants to test this, you can download the 64-bit libvips Windows binaries built with MozJPEG here: https://libvips-packaging.s3.amazonaws.com/vips-dev-w64-web-8.8.0-mozjpeg.zip https://libvips-packaging.s3.amazonaws.com/vips-dev-w64-all-8.8.0-mozjpeg.zip

See commit 62bdc7c and README.md#mozjpeg.

kleisauke commented 4 years ago

The 64-bit libvips 8.9.2 Windows binaries built with MozJPEG can be found here: https://libvips-packaging.s3.amazonaws.com/vips-dev-w64-web-8.9.2-mozjpeg.zip https://libvips-packaging.s3.amazonaws.com/vips-dev-w64-all-8.9.2-mozjpeg.zip

These binaries were built against the drop-vista-xp (commit https://github.com/libvips/build-win64-mxe/commit/2228360255a191a40b18af0c2f7028ccb0ea1db1) branch.

keiviv commented 4 years ago

Tested on W10 — very large batch in a single loop — no issues with Vips or MozJPEG. Many, many thanks for that, this is most useful.

bkarlson commented 3 years ago

Thank you so much for pre-build MozJPEG binaries. I managed to make it work with sharp, but whenever I try to save a file in jpeg, I get this warning:

** (sharp:7372): WARNING **: 19:32:04.322: jpegsave: no property named `subsample_mode'

Yet the jpeg file is created successfully.

Same script on OSX gives no warnings, and both jpegs are byte-to-byte equal. So, I assume the warning is an empty threat, but is there a way to suppress it?

MXE builds w/o MozJPEG work silently, but compression is not as good obviously.

Using sharpv.0.26.3 and vips-dev-w64-all-8.9.2-mozjpeg.zip linked above (tried the web version -- same same).

kleisauke commented 3 years ago

@bkarlson sharp v0.26.3 requires libvips v8.10.0 and is therefore not compatible with the above libvips v8.9.2 MozJPEG binaries.

Note that I do not officially support and test the MozJPEG build, it's done on a best effort basis. If you need Windows binaries with MozJPEG included, I can recommend you to run the build script with:

./build.sh web x86_64 static --with-mozjpeg
bkarlson commented 3 years ago

Thanks @kleisauke, it worked. Very straightworward building process, I appreciate the work you've done here!

kleisauke commented 3 years ago

fwiw, the v8.10.6 binaries has switched from libjpeg-turbo to MozJPEG with PR #21.

Note that libvips resets to libjpeg-turbo's JCP_FASTEST defaults so this can be considered a "no-op" unless MozJPEG features are explicitly set.