Feature Request: WebP Support

Would like the ability to view, see thumbnails for and convert to/from the WebP file format. :slight_smile:

en.wikipedia.org/wiki/WebP

Thanks!

There's a plugin API if anyone wants to add support. It's very simple when it's a still image format.

We may look at WebP ourselves if it becomes more popular but it still seems very niche at the moment so it's not a priority compared to other work. (At least, I've never seen WebP being used anywhere.)

Google Play is exclusively using it now - so when I'm writing reviews I grab graphics from there. Currently I have to run them through a converter to PNG.

I understand it's a bit niche ... but figured no one else had asked so ...

Fair enough :slight_smile:

(BTW, if you access Google Play via IE then it'll serve you PNG images, allowing the conversion process to be skipped, FWIW. Using IE may be more of a pain than converting things, ofc. Although, presumably, you need to end up with PNG screenshots one way or another if you want people using IE etc. to be able to see the images in your reviews.)

Yeah, as a Chrome user, they are serving me WEBP because they know they can. Crazy.

Even my graphics editor (Paint Shop Pro) doesn't support WEBP so I can't even convert that way.

It's all good.

So really all WebP support in Opus would get you is the ability to view screenshots downloaded from one website in one browser, moments before they are converted to PNG anyway? :slight_smile:

Google has a way of making things happen. While it starts this way for now ... :slight_smile:

Corel's Paint Shop Pro supports WebP now .. so I have SOME recourse :wink:

Still would love to see native conversion. The format seems pretty versatile ... I hope it picks up.

It surely will, I think. o)
For doing web-related content, an image format integrating best of jpg (lossy/small) and png (not lossy/alpha channel) was just missing and quite any website is going to benefit from using it - performance or design-wise.

MNG and APNG come to mind. They fix issues with the old/awful animated GIF format, yet never took off.

But the plugin API is there so support for these formats can be added by anyone who cares enough about them. WebP could use the simplest API route where the plugin just has to return a bitmap.

Do we have a sample API for another format I could see/modify? I'd be willing to take a crack at it.

The Maya IFF plugin source is probably the most similar to what you'll need.

pretentiousname.com/pnop_source/ ... ut_mayaiff

Actually, the Targa plugin which comes with the SDK may be even better, and you can also compare it to my updated version of the same plugin, as described here:

pretentiousname.com/pnop_source/ ... bout_targa

Looking at both versions of the Targa will be useful. One is simple to understand and once you've got the basics you can look at the other to see how to do some more advanced stuff.

Most of my experience is in .NET. Is C++ required to make plugins? Are there any .NET plugin samples? I didn't see anything obvious on the plugin page.

Oddly enough, there is a Windows level codec already available:

developers.google.com/speed/webp/download

This allows Dopus to thumbnail WEBP (which is huge) but the viewer still won't show them and of course there is no option to convert (which would be really handy).

Does this help at all? There is source code included, so I might pull that apart too.

.Net wouldn't be a good choice for plugins, unfortunately. It's a fundamental issue with .Net that it doesn't work well inside of other processes. (Or rather, it can work, but only reliably for the first plugin that uses it. As soon as two plugins use it, things start to go wrong.)

It can be used if you go to the trouble to make the plugin out-of-process, but that requires writing a C++ proxy which would be far more work than the plugin itself.

Okay, the codec page provided command line versions for conversion so I got those hooked up to a simple Dopus button.

Make sure dwebp.exe is in your PATH somewhere. This will do conversion in place or to destination lister. Sure, a bunch of different ways to do it - this is just mine.

<?xml version="1.0"?>
<button backcol="none" display="both" textcol="none" type="menu">
	<label>Convert WEBP</label>
	<icon1>#updateexisting</icon1>
	<button backcol="none" display="label" textcol="none">
		<label>Convert WEBP</label>
		<icon1>#newcommand</icon1>
		<function type="batch">
			<instruction>dwebp.exe {filepath} -o {filepath|noext}.png</instruction>
		</function>
	</button>
	<button backcol="none" display="label" textcol="none">
		<label>Convert WEBP to Dest</label>
		<icon1>#newcommand</icon1>
		<function type="batch">
			<instruction>dwebp.exe {filepath} -o {destpath}{file|noext}.png</instruction>
		</function>
	</button>
</button>

We'll be adding basic WebP viewer/thumbnail support in Opus 12.7.2 beta and 12.8.

Dopus - The gift that keeps on giving. Thank you!!