summaryrefslogtreecommitdiff
path: root/internal/media/image.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/media/image.go')
-rw-r--r--internal/media/image.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/media/image.go b/internal/media/image.go
index e1fc5c331..b095a6c49 100644
--- a/internal/media/image.go
+++ b/internal/media/image.go
@@ -30,6 +30,7 @@ import (
"github.com/buckket/go-blurhash"
"github.com/disintegration/imaging"
+ _ "golang.org/x/image/webp" // blank import to support WebP decoding
)
const (
@@ -71,7 +72,7 @@ func decodeImage(r io.Reader, contentType string) (*imageMeta, error) {
var err error
switch contentType {
- case mimeImageJpeg:
+ case mimeImageJpeg, mimeImageWebp:
i, err = imaging.Decode(r, imaging.AutoOrientation(true))
case mimeImagePng:
strippedPngReader := io.Reader(&PNGAncillaryChunkStripper{
@@ -104,7 +105,7 @@ func decodeImage(r io.Reader, contentType string) (*imageMeta, error) {
}
// deriveThumbnail returns a byte slice and metadata for a thumbnail
-// of a given jpeg, png, or gif, or an error if something goes wrong.
+// of a given jpeg, png, gif or webp, or an error if something goes wrong.
//
// If createBlurhash is true, then a blurhash will also be generated from a tiny
// version of the image. This costs precious CPU cycles, so only use it if you
@@ -117,7 +118,7 @@ func deriveThumbnail(r io.Reader, contentType string, createBlurhash bool) (*ima
var err error
switch contentType {
- case mimeImageJpeg, mimeImageGif:
+ case mimeImageJpeg, mimeImageGif, mimeImageWebp:
i, err = imaging.Decode(r, imaging.AutoOrientation(true))
case mimeImagePng:
strippedPngReader := io.Reader(&PNGAncillaryChunkStripper{