summaryrefslogtreecommitdiff
path: root/vendor/github.com/buckket/go-blurhash/README.md
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-12-01 22:08:04 +0100
commitb1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch)
tree9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/buckket/go-blurhash/README.md
parent[chore] update URLs to forked source (diff)
downloadgotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/buckket/go-blurhash/README.md')
-rw-r--r--vendor/github.com/buckket/go-blurhash/README.md96
1 files changed, 0 insertions, 96 deletions
diff --git a/vendor/github.com/buckket/go-blurhash/README.md b/vendor/github.com/buckket/go-blurhash/README.md
deleted file mode 100644
index c42db42b9..000000000
--- a/vendor/github.com/buckket/go-blurhash/README.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# go-blurhash [![Build Status](https://travis-ci.org/buckket/go-blurhash.svg)](https://travis-ci.org/buckket/go-blurhash) [![Go Report Card](https://goreportcard.com/badge/github.com/buckket/go-blurhash)](https://goreportcard.com/report/github.com/buckket/go-blurhash) [![codecov](https://codecov.io/gh/buckket/go-blurhash/branch/master/graph/badge.svg)](https://codecov.io/gh/buckket/go-blurhash) [![GoDoc](https://godoc.org/github.com/buckket/go-blurhash?status.svg)](https://pkg.go.dev/github.com/buckket/go-blurhash)
-
-**go-blurhash** is a pure Go implementation of the [BlurHash](https://github.com/woltapp/blurhash) algorithm, which is used by
-[Mastodon](https://github.com/tootsuite/mastodon) an other Fediverse software to implement a swift way of preloading placeholder images as well
-as hiding sensitive media. Read more about it [here](https://blog.joinmastodon.org/2019/05/improving-support-for-adult-content-on-mastodon/).
-
-**tl;dr:** BlurHash is a compact representation of a placeholder for an image.
-
-This library allows generating the BlurHash of a given image, as well as
-reconstructing a blurred version with specified dimensions from a given BlurHash.
-
-This library is based on the following reference implementations:
-- Encoder: [https://github.com/woltapp/blurhash/blob/master/C](https://github.com/woltapp/blurhash/blob/master/C) (C)
-- Deocder: [https://github.com/woltapp/blurhash/blob/master/TypeScript](https://github.com/woltapp/blurhash/blob/master/TypeScript) (TypeScript)
-
-BlurHash is written by [Dag Ågren](https://github.com/DagAgren) / [Wolt](https://github.com/woltapp).
-
-| | Before | After |
-| ---------- |:------------------------------:| :-----------------------------:|
-| **Image** | ![alt text][test] | "LFE.@D9F01_2%L%MIVD*9Goe-;WB" |
-| **Hash** | "LFE.@D9F01_2%L%MIVD*9Goe-;WB" | ![alt text][test_blur]
-
-[test]: test.png "Blurhash example input."
-[test_blur]: test_blur.png "Blurhash example output"
-
-## Installation
-
-### From source
-
- go get -u github.com/buckket/go-blurhash
-
-## Usage
-
-go-blurhash exports three functions:
-```go
-func blurhash.Encode(xComponents, yComponents int, rgba image.Image) (string, error)
-func blurhash.Decode(hash string, width, height, punch int) (image.Image, error)
-func blurhash.Components(hash string) (xComponents, yComponents int, err error)
-```
-
-Here’s a simple demonstration. Check [pkg.go.dev](https://pkg.go.dev/github.com/buckket/go-blurhash) for the full documentation.
-
-```go
-package main
-
-import (
- "fmt"
- "github.com/buckket/go-blurhash"
- "image/png"
- "os"
-)
-
-func main() {
- // Generate the BlurHash for a given image
- imageFile, _ := os.Open("test.png")
- loadedImage, err := png.Decode(imageFile)
- str, _ := blurhash.Encode(4, 3, loadedImage)
- if err != nil {
- // Handle errors
- }
- fmt.Printf("Hash: %s\n", str)
-
- // Generate an image for a given BlurHash
- // Width will be 300px and Height will be 500px
- // Punch specifies the contrasts and defaults to 1
- img, err := blurhash.Decode(str, 300, 500, 1)
- if err != nil {
- // Handle errors
- }
- f, _ := os.Create("test_blur.png")
- _ = png.Encode(f, img)
-
- // Get the x and y components used for encoding a given BlurHash
- x, y, err := blurhash.Components("LFE.@D9F01_2%L%MIVD*9Goe-;WB")
- if err != nil {
- // Handle errors
- }
- fmt.Printf("xComponents: %d, yComponents: %d", x, y)
-}
-```
-
-## Limitations
-
-- Presumably a bit slower than the C implementation (TODO: Benchmarks)
-
-## Notes
-
-- As mentioned [here](https://github.com/woltapp/blurhash#how-fast-is-encoding-decoding), it’s best to
-generate very small images (~32x32px) via BlurHash and scale them up to the desired dimensions afterwards for optimal performance.
-- Since [#2](https://github.com/buckket/go-blurhash/pull/2) we diverted from the reference implementation by memorizing sRGBtoLinear values, thus increasing encoding speed at the cost of higher memory usage.
-- Starting with v1.1.0 the signature of blurhash.Encode() has changed slightly (see [#3](https://github.com/buckket/go-blurhash/issues/3)).
-
-## License
-
- GNU GPLv3+
- \ No newline at end of file