Viewing profile — jcupitt
jcupitt
HN member- Joined
- Fri, Nov 14, 2014, 11:24 AM UTC
- HN karma
- 49
- Public activity
- 41 items
- HN profile
- View on Hacker News ↗
About jcupitt
No profile information was provided.
Recent public activity
-
comment
Comment #49136538
libvips shouldn't be calling imagemagick for heif decode, it has a nice one built in. Unless you were using a very old libvips! I've found jemalloc works best for long running libv…
-
comment
Comment #49081677
Hello, looks nice! I had a few thoughts: - I'd consider adding support for libvips smartcrop, ICC colour management, HDR, image alpha - can you join pipelines? you could have one m…
-
comment
Comment #48368527
Some packages with native code components (like sharp) will use these hooks to download the correct precompiled native binary for you.
-
comment
Comment #48368496
sharp downloads over https and checks the sha256 (I think?) of the archive.
-
comment
Comment #48368485
sharp does this too: https://sharp.pixelplumbing.com/install/#prebuilt-binaries it can sometimes need to compile the C++ shim that sits between node and libvips, but that's rare.
-
comment
Comment #48368471
sharp does not rebuild libvips, it downloads a pre-compiled libvips for your platform. https://sharp.pixelplumbing.com/install/#prebuilt-binaries It can usually also download a pre…
-
comment
Comment #47374375
Hello, libvips author here, you can get it to do the OKLab averaging for you. For example, using pyvips (ahem, untested): image = pyvips.Image.new_from_file(filename, access="seque…
-
comment
Comment #47075646
libvips uses imagemagick (via libMagick) for BMP load and save, fwiw
-
comment
Comment #46356868
It's just `vips copy src.heic dst.jpg`.
-
comment
Comment #46343868
libvips, the library behind sharp, has just released version 8.18.0: https://www.libvips.org/2025/12/04/What's-new-in-8.18.html It includes support for UltraHDR (HDR and SDR in one…
-
comment
Comment #45435379
Cleanup can be very useful if you depend on a library that does not support arenas.
-
comment
Comment #45435368
`free(NULL);` will crash on some platforms that gcc supports, I believe.
-
comment
Comment #45322848
I'm the libvips author, I should have said, so I'm not very neutral. But at least on that test it's usefully quicker and less memory hungry.
-
comment
Comment #45322827
pyvips (the libvips Python binding) is quite a bit better than pillow-simd --- 3x faster, 10x less memory use, same quality. On this benchmark at least: https://github.com/libvips/…
-
comment
Comment #45260812
Ah no problem! I'm glad it's useful. `govips` was a pretty early binding and wasn't really done the libvips way. It doesn't expose all the operations or options, it's mostly done b…
-
comment
Comment #45249217
Hello, libvips author here, the JPEG loader has a flag to do this for you. You can write: VipsImage *image = vips_image_new_from_file("something.jpg", "autorotate", TRUE, NULL); an…
-
comment
Comment #45249148
Applying rotation can have a large performance penalty (both cpu and memory), so you want to be able to avoid it if possible.
-
comment
Comment #44283046
Those three all use libvips as the image processing engine, fwiw, so it's maybe not a very wide survey. libvips is fairly highly threaded and does a lot of alloc/free, so it's chal…
-
comment
Comment #44282405
Hello, libvips author here. This is probably the canonical thread about libvips and memory fragmentation, and the funniest graph: https://github.com/lovell/sharp/issues/955#issueco…
-
comment
Comment #43671679
The wasm build of libvips (the image processing library this thing uses) does not include HEIC because of the various patent issues: https://github.com/kleisauke/wasm-vips/issues/3…
-
comment
Comment #41481659
Although I think this technique was well known before then -- Crosfield were using channel-independent histogram normalization to restore faded transparencies back in the 80s.
-
comment
Comment #41481425
libvips dev here -- the CLI interface is deliberately really basic, you'll see much better performance and flexibility with one of the language bindings. pyvips works well: https:/…
-
comment
Comment #41481377
imagemagick 7 (the current version) is namespaced under "magick", fwiw
-
comment
Comment #40584159
I made an image viewer for large images: https://github.com/jcupitt/vipsdisp It should be fine with your huge PNGs. Internally it's a bit like a tiled map viewer, but it makes the …
-
comment
Comment #39927046
nip2 does this. It's a little like a spreadsheet, but cells can contain images, matrices, text, widgets, stuff like that. You can add scraps of code to link them together (just lik…