summaryrefslogtreecommitdiff
path: root/internal/media/util.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-07-19 15:28:43 +0000
committerLibravatar GitHub <noreply@github.com>2024-07-19 17:28:43 +0200
commit50c9b5498b9be266bd04278a97978e38984424a2 (patch)
treea371b4b5b8796af3f8262916c69e53b9c1e5af24 /internal/media/util.go
parent[docs] update README with our corporate sponsorship policy (#3112) (diff)
downloadgotosocial-50c9b5498b9be266bd04278a97978e38984424a2.tar.xz
[feature] use webp for thumbnails (#3116)
* update to use webp for thumbnails * bump webp quality up to 40% from 12% (it's a bit different to jpeg quality setting) * update to use yuva colorspace, and use thumbnail=n=10 to select frame * fix missing comma in ffmpeg args * add links to appropriate ffmpeg docs * update tests * add file size tests for thumbnails --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/media/util.go')
-rw-r--r--internal/media/util.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/internal/media/util.go b/internal/media/util.go
index 4a31c9f8e..b643cd9c8 100644
--- a/internal/media/util.go
+++ b/internal/media/util.go
@@ -22,13 +22,15 @@ import (
"errors"
"fmt"
"image"
- "image/jpeg"
"io"
"os"
+ "golang.org/x/image/webp"
+
"codeberg.org/gruf/go-bytesize"
"codeberg.org/gruf/go-iotools"
"codeberg.org/gruf/go-mimetypes"
+
"github.com/buckket/go-blurhash"
"github.com/disintegration/imaging"
)
@@ -63,8 +65,8 @@ func thumbSize(width, height int) (int, int) {
}
}
-// jpegDecode decodes the JPEG at filepath into parsed image.Image.
-func jpegDecode(filepath string) (image.Image, error) {
+// webpDecode decodes the WebP at filepath into parsed image.Image.
+func webpDecode(filepath string) (image.Image, error) {
// Open the file at given path.
file, err := os.Open(filepath)
if err != nil {
@@ -72,7 +74,7 @@ func jpegDecode(filepath string) (image.Image, error) {
}
// Decode image from file.
- img, err := jpeg.Decode(file)
+ img, err := webp.Decode(file)
// Done with file.
_ = file.Close()
@@ -83,7 +85,7 @@ func jpegDecode(filepath string) (image.Image, error) {
// generateBlurhash generates a blurhash for JPEG at filepath.
func generateBlurhash(filepath string) (string, error) {
// Decode JPEG file at given path.
- img, err := jpegDecode(filepath)
+ img, err := webpDecode(filepath)
if err != nil {
return "", err
}