Files
CBZOptimizer/pkg/converter/webp/webp_provider.go
2025-09-09 10:12:38 -04:00

27 lines
522 B
Go

package webp
import (
"github.com/belphemur/go-webpbin/v2"
"image"
"io"
"sync"
)
const libwebpVersion = "1.6.0"
var prepareMutex sync.Mutex
func PrepareEncoder() error {
prepareMutex.Lock()
defer prepareMutex.Unlock()
container := webpbin.NewCWebP(webpbin.SetLibVersion(libwebpVersion))
return container.BinWrapper.Run()
}
func Encode(w io.Writer, m image.Image, quality uint) error {
return webpbin.NewCWebP(webpbin.SetLibVersion(libwebpVersion)).
Quality(quality).
InputImage(m).
Output(w).
Run()
}