From 5088d2e3f1d92d37cdb84f83b08fe1b1e083c6f2 Mon Sep 17 00:00:00 2001 From: Redi Date: Tue, 14 Mar 2023 15:57:21 +0900 Subject: [PATCH] image/png: Add huffmanOnly compression level to png Add the HuffmanOnly compression level to png, which was only supported by the zlib library. --- src/image/png/fuzz.go | 1 + src/image/png/fuzz_test.go | 1 + src/image/png/writer.go | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/image/png/fuzz.go b/src/image/png/fuzz.go index 688b6c99361339..1a4539a6d901a4 100644 --- a/src/image/png/fuzz.go +++ b/src/image/png/fuzz.go @@ -28,6 +28,7 @@ func Fuzz(data []byte) int { NoCompression, BestSpeed, BestCompression, + HuffmanOnly, } for _, l := range levels { var w bytes.Buffer diff --git a/src/image/png/fuzz_test.go b/src/image/png/fuzz_test.go index 4b639459e71598..07e276b8744943 100644 --- a/src/image/png/fuzz_test.go +++ b/src/image/png/fuzz_test.go @@ -50,6 +50,7 @@ func FuzzDecode(f *testing.F) { NoCompression, BestSpeed, BestCompression, + HuffmanOnly, } for _, l := range levels { var w bytes.Buffer diff --git a/src/image/png/writer.go b/src/image/png/writer.go index 0d747da17055cc..596ed3d3f7a826 100644 --- a/src/image/png/writer.go +++ b/src/image/png/writer.go @@ -59,6 +59,7 @@ const ( NoCompression CompressionLevel = -1 BestSpeed CompressionLevel = -2 BestCompression CompressionLevel = -3 + HuffmanOnly CompressionLevel = -4 // Positive CompressionLevel values are reserved to mean a numeric zlib // compression level, although that is not implemented yet. @@ -578,6 +579,8 @@ func levelToZlib(l CompressionLevel) int { return zlib.BestSpeed case BestCompression: return zlib.BestCompression + case HuffmanOnly: + return zlib.HuffmanOnly default: return zlib.DefaultCompression }