summaryrefslogtreecommitdiff
path: root/internal/media/image.go
diff options
context:
space:
mode:
authorLibravatar Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>2022-12-06 14:15:25 +0100
committerLibravatar GitHub <noreply@github.com>2022-12-06 14:15:25 +0100
commit1a3f26fb5c515f5672561449f91f6be6383b5a3a (patch)
tree801c8469ea8ae122cf583953940d3e28bdbfa90f /internal/media/image.go
parent[docs] Remove filesystem logging directives from example systemd unit config ... (diff)
downloadgotosocial-1a3f26fb5c515f5672561449f91f6be6383b5a3a.tar.xz
[feature] media: add webp support (#1155)
* media: add webp support Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> * bump exif-terminator to v0.5.0 Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> Signed-off-by: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
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{