@rcrsn51
Would it be possible to include the Webp format in your PeasyScale utilising FFmpeg?
Moderator: fredx181
@rcrsn51
Would it be possible to include the Webp format in your PeasyScale utilising FFmpeg?
Jasper wrote: Sun Mar 23, 2025 3:07 pmWould it be possible to include the Webp format in your PeasyScale utilising FFmpeg?
As usual, these transformations are handled by the command-line tool image-changer which is part of the package. Image-changer is a small, fast C program that uses builtin GTK functions.
Only if GTK recognized Webp in addition to standard graphic formats like PNG.
1. Working in the Daedalus Starter Kit, I installed from the Debian repo: webp-pixbuf-loader
2. This immediately makes the Viewnior image viewer work with webp images!
3. I patched image-changer and PeasyScale to recognize webp.
4. Package attached. I made webp-pixbuf-loader a dependency.
5. Everything works so far: converting between webp and other formats, changing size, rotating, etc.
[Update] See v3.3 below.
@rcrsn51
Do you want to add to the Webp in the dialogue box on the top line?
It's not a deal-breaker for me
[Update] Thank you to Jasper for spearheading the work on Webp.
I have combined the various Puppy Pet packages into a single tarball and posted it here. In the absence of any feedback I will assume that they are OK.
These packages are self-contained. They include all the required webp stuff and should work OOTB.
Just set your image viewer app to recognize the new webp type (usually viewnior or gpicview).
Work on the Debian version of PeasyScale will continue below.
In previous versions of PeasyScale, you could not scale an image and do a transformation like "Rotate" at the same time. It took separate runs for each task, which resulted in multiple files and PEASYSCALE subfolders. Now v3.3 can finally do this in one step.
Continuing from v3.2, this is Webp-enabled. To handle HEIF image files, install the package: heif-gdk-pixbuf.
I received today some photos in the new HEIF High Efficiency Image File format with .heic extensions. Naturally, I had no app that could view them. But a little research found that Debian has the package heif-gdk-pixbuf which contains the file libpixbufloader-heif.so in /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders. This is the same setup as with Webp!
Initially, it looked like this loader needs a lot of dependencies, but it turned out that my Starter Kit setup already has them, possibly as part of openbox. So it was just a matter of grabbing the loader's .so file and running gdk-pixbuf-query-loaders --update-cache.
I then selected a .heic file and associated it with Viewnior. Now I had a viewer! But better yet, I could also load .heic files into PeasyScale and convert them to JPEGs!
@rcrsn51
Thanks again for the update once again
I am surprised at your comment regarding transformation & scaling (tested by width x height). For me it worked straight away on a single file and popped up in Viewnior.
I did compile the libwebp libraries myself and maybe this could be the reason why ???
Just general info if you are unfamiliar with this format:
HEIF stands for High-Efficiency Image File format, which is basically a container that is capable of storing an image, or a sequence of images in a single file.
Designed to be extremely lightweight and efficient, the HEIF format can store images at a very high compression ratio that is about twice more efficient than an equivalent-quality JPEG image.
HEIF is based on High Efficiency Video Coding (HEVC) standard.
Jasper wrote: Fri Mar 28, 2025 3:46 pmI am surprised at your comment regarding transformation & scaling (tested by width x height). For me it worked straight away on a single file and popped up in Viewnior.
In previous versions, if you selected a new scaling size AND a transformation like "rotate", you could only do one function at a time. The transformation would always take priority and the size would NOT change. In order to do the scaling, you had to set the transformation to "None".
That's why the old heading said "Or a transformation".
This is now fixed in v3.3 above.