commit 9881b32bd1cda8b6dac428b03eadedeb276baadf
parent 2c27660c379f4dc04d54852fccc8f883b0fdef72
Author: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Date: Thu, 19 Oct 2023 16:44:40 +0800
webp/encode: [perf] special-case *RGBA to avoid conversion penalty
Signed-off-by: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/webp/encode.go b/webp/encode.go
@@ -58,6 +58,9 @@ func (enc *Encoder) Encode(w io.Writer, m image.Image) error {
if enc.Quality <= 0.0 || enc.Quality > 1 {
enc.Quality = 1.0
}
+ if rgba, ok := m.(*image.RGBA); ok {
+ return enc.encode(w, rgba)
+ }
rgba := image.NewRGBA(m.Bounds())
b := m.Bounds()
for y := b.Min.Y; y < b.Max.Y; y++ {