diff --git a/src/ImageSharp/Formats/ImageDecoderUtilities.cs b/src/ImageSharp/Formats/ImageDecoderUtilities.cs
index 6bb9116cd..617b4b8ce 100644
--- a/src/ImageSharp/Formats/ImageDecoderUtilities.cs
+++ b/src/ImageSharp/Formats/ImageDecoderUtilities.cs
@@ -1,4 +1,4 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System.IO;
diff --git a/src/ImageSharp/Formats/WebP/AlphaCompressionMethod.cs b/src/ImageSharp/Formats/WebP/AlphaCompressionMethod.cs
index 17cf6a8d2..45f9b3441 100644
--- a/src/ImageSharp/Formats/WebP/AlphaCompressionMethod.cs
+++ b/src/ImageSharp/Formats/WebP/AlphaCompressionMethod.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/AlphaDecoder.cs b/src/ImageSharp/Formats/WebP/AlphaDecoder.cs
index 9a47d567f..edb72564e 100644
--- a/src/ImageSharp/Formats/WebP/AlphaDecoder.cs
+++ b/src/ImageSharp/Formats/WebP/AlphaDecoder.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs b/src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs
index 4a3a5f84f..75b846458 100644
--- a/src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs
+++ b/src/ImageSharp/Formats/WebP/BitReader/BitReaderBase.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs b/src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs
index 5c8e4be21..b482a861d 100644
--- a/src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs
+++ b/src/ImageSharp/Formats/WebP/BitReader/Vp8BitReader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Buffers;
using System.Buffers.Binary;
diff --git a/src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs b/src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs
index 421481ba8..c2647f559 100644
--- a/src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs
+++ b/src/ImageSharp/Formats/WebP/BitReader/Vp8LBitReader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Buffers;
using System.IO;
diff --git a/src/ImageSharp/Formats/WebP/IWebPDecoderOptions.cs b/src/ImageSharp/Formats/WebP/IWebPDecoderOptions.cs
index 276a488c5..7a50a6370 100644
--- a/src/ImageSharp/Formats/WebP/IWebPDecoderOptions.cs
+++ b/src/ImageSharp/Formats/WebP/IWebPDecoderOptions.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs b/src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs
index 614e76639..d1d46a7a6 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/ColorCache.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
diff --git a/src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs b/src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs
index e54cff0b8..359fbc201 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/HTreeGroup.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Collections.Generic;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs b/src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs
index 7456802bf..d1fc50741 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/HuffIndex.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
diff --git a/src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs b/src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs
index 1a444a152..2830538c7 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/HuffmanCode.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Diagnostics;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs b/src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs
index 3eafe6047..fb1de6bef 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/HuffmanUtils.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs b/src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs
index 00dbc1275..738ed17bb 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/LosslessUtils.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Runtime.CompilerServices;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs b/src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs
index 9d7049b25..02777ec61 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/Vp8LDecoder.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs b/src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs
index c6f208cc3..29d41aa83 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/Vp8LMetadata.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs b/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs
index 29245d5f9..0dc849362 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransform.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Buffers;
using System.Diagnostics;
diff --git a/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs b/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs
index ecb932b44..2aa2eb9d4 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/Vp8LTransformType.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossless
{
diff --git a/src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs b/src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs
index 1b3cc2d03..bf59394d3 100644
--- a/src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs
+++ b/src/ImageSharp/Formats/WebP/Lossless/WebPLosslessDecoder.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs b/src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs
index 8aeb04b03..b135c3c5e 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/IntraPredictionMode.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs b/src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs
index 5fa258a31..c9a823ef8 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/LoopFilter.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs b/src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs
index 081513a73..5d8d8b545 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/LossyUtils.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers.Binary;
diff --git a/src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs b/src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs
index 34867ed9d..50cb1ebfc 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/VP8BandProbas.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs
index e94b9fc31..f7ef1c8db 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8Decoder.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs
index bacb9d84e..4f5cad659 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterHeader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs
index efd1e9e29..64f4f1d3f 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8FilterInfo.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs
index 9cb923236..73a9e1841 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8FrameHeader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs
index 09a4c9691..6a4184450 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8Io.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs
index 6c84d0e8e..cc8c174e8 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlock.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs
index 82ea04bd7..1503a467a 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8MacroBlockData.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs
index 2db20eb3b..8277dccaf 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8PictureHeader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs
index 758f75704..98d237d91 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8Proba.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs
index ded1f7d77..793905b72 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8ProbaArray.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs
index fd6f3ac29..c8b0df12b 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8QuantMatrix.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs
index 266440e92..3c399fe2e 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8SegmentHeader.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs b/src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs
index 1c09c3823..1f4c4de5a 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/Vp8TopSamples.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP.Lossy
{
diff --git a/src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs b/src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs
index 88c71ef5f..1b1884cdc 100644
--- a/src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs
+++ b/src/ImageSharp/Formats/WebP/Lossy/WebPLossyDecoder.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/Vp8HeaderType.cs b/src/ImageSharp/Formats/WebP/Vp8HeaderType.cs
index 21264f4b3..bb1baece7 100644
--- a/src/ImageSharp/Formats/WebP/Vp8HeaderType.cs
+++ b/src/ImageSharp/Formats/WebP/Vp8HeaderType.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/WebPAlphaFilterType.cs b/src/ImageSharp/Formats/WebP/WebPAlphaFilterType.cs
index c4e03c633..d8a5b3deb 100644
--- a/src/ImageSharp/Formats/WebP/WebPAlphaFilterType.cs
+++ b/src/ImageSharp/Formats/WebP/WebPAlphaFilterType.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/WebPBitsPerPixel.cs b/src/ImageSharp/Formats/WebP/WebPBitsPerPixel.cs
index 8a6b635e4..7fd7da1b6 100644
--- a/src/ImageSharp/Formats/WebP/WebPBitsPerPixel.cs
+++ b/src/ImageSharp/Formats/WebP/WebPBitsPerPixel.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/WebPChunkType.cs b/src/ImageSharp/Formats/WebP/WebPChunkType.cs
index f1db66a27..c448ff344 100644
--- a/src/ImageSharp/Formats/WebP/WebPChunkType.cs
+++ b/src/ImageSharp/Formats/WebP/WebPChunkType.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/WebPConstants.cs b/src/ImageSharp/Formats/WebP/WebPConstants.cs
index 24fc5b1bc..a2e742b68 100644
--- a/src/ImageSharp/Formats/WebP/WebPConstants.cs
+++ b/src/ImageSharp/Formats/WebP/WebPConstants.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Collections.Generic;
diff --git a/src/ImageSharp/Formats/WebP/WebPDecoder.cs b/src/ImageSharp/Formats/WebP/WebPDecoder.cs
index 89dadba42..6e905173b 100644
--- a/src/ImageSharp/Formats/WebP/WebPDecoder.cs
+++ b/src/ImageSharp/Formats/WebP/WebPDecoder.cs
@@ -1,7 +1,8 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.IO;
+using System.Threading.Tasks;
using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Formats.WebP
@@ -35,5 +36,26 @@ namespace SixLabors.ImageSharp.Formats.WebP
///
public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream);
+
+ ///
+ public Task> DecodeAsync(Configuration configuration, Stream stream)
+ where TPixel : unmanaged, IPixel
+ {
+ Guard.NotNull(stream, nameof(stream));
+
+ return new WebPDecoderCore(configuration, this).DecodeAsync(stream);
+ }
+
+ ///
+ public async Task DecodeAsync(Configuration configuration, Stream stream)
+ => await this.DecodeAsync(configuration, stream).ConfigureAwait(false);
+
+ ///
+ public Task IdentifyAsync(Configuration configuration, Stream stream)
+ {
+ Guard.NotNull(stream, nameof(stream));
+
+ return new WebPDecoderCore(configuration, this).IdentifyAsync(stream);
+ }
}
}
diff --git a/src/ImageSharp/Formats/WebP/WebPDecoderCore.cs b/src/ImageSharp/Formats/WebP/WebPDecoderCore.cs
index 0dc2905bb..6953dffce 100644
--- a/src/ImageSharp/Formats/WebP/WebPDecoderCore.cs
+++ b/src/ImageSharp/Formats/WebP/WebPDecoderCore.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers.Binary;
@@ -19,18 +19,13 @@ namespace SixLabors.ImageSharp.Formats.WebP
///
/// Performs the webp decoding operation.
///
- internal sealed class WebPDecoderCore
+ internal sealed class WebPDecoderCore : IImageDecoderInternals
{
///
/// Reusable buffer.
///
private readonly byte[] buffer = new byte[4];
- ///
- /// The global configuration.
- ///
- private readonly Configuration configuration;
-
///
/// Used for allocating memory during processing operations.
///
@@ -53,7 +48,7 @@ namespace SixLabors.ImageSharp.Formats.WebP
/// The options.
public WebPDecoderCore(Configuration configuration, IWebPDecoderOptions options)
{
- this.configuration = configuration;
+ this.Configuration = configuration;
this.memoryAllocator = configuration.MemoryAllocator;
this.IgnoreMetadata = options.IgnoreMetadata;
}
@@ -68,6 +63,9 @@ namespace SixLabors.ImageSharp.Formats.WebP
///
public ImageMetadata Metadata { get; private set; }
+ ///
+ public Configuration Configuration { get; }
+
///
/// Decodes the image from the specified and sets the data to the image.
///
@@ -87,16 +85,16 @@ namespace SixLabors.ImageSharp.Formats.WebP
WebPThrowHelper.ThrowNotSupportedException("Animations are not supported");
}
- var image = new Image(this.configuration, (int)imageInfo.Width, (int)imageInfo.Height, this.Metadata);
+ var image = new Image(this.Configuration, (int)imageInfo.Width, (int)imageInfo.Height, this.Metadata);
Buffer2D pixels = image.GetRootFramePixelBuffer();
if (imageInfo.IsLossless)
{
- var losslessDecoder = new WebPLosslessDecoder(imageInfo.Vp8LBitReader, this.memoryAllocator, this.configuration);
+ var losslessDecoder = new WebPLosslessDecoder(imageInfo.Vp8LBitReader, this.memoryAllocator, this.Configuration);
losslessDecoder.Decode(pixels, image.Width, image.Height);
}
else
{
- var lossyDecoder = new WebPLossyDecoder(imageInfo.Vp8BitReader, this.memoryAllocator, this.configuration);
+ var lossyDecoder = new WebPLossyDecoder(imageInfo.Vp8BitReader, this.memoryAllocator, this.Configuration);
lossyDecoder.Decode(pixels, image.Width, image.Height, imageInfo);
}
@@ -326,11 +324,11 @@ namespace SixLabors.ImageSharp.Formats.WebP
}
var vp8FrameHeader = new Vp8FrameHeader()
- {
- KeyFrame = true,
- Profile = (sbyte)version,
- PartitionLength = partitionLength
- };
+ {
+ KeyFrame = true,
+ Profile = (sbyte)version,
+ PartitionLength = partitionLength
+ };
var bitReader = new Vp8BitReader(
this.currentStream,
@@ -340,18 +338,18 @@ namespace SixLabors.ImageSharp.Formats.WebP
bitReader.Remaining = remaining;
return new WebPImageInfo()
- {
- Width = width,
- Height = height,
- XScale = xScale,
- YScale = yScale,
- BitsPerPixel = features?.Alpha == true ? WebPBitsPerPixel.Pixel32 : WebPBitsPerPixel.Pixel24,
- IsLossless = false,
- Features = features,
- Vp8Profile = (sbyte)version,
- Vp8FrameHeader = vp8FrameHeader,
- Vp8BitReader = bitReader
- };
+ {
+ Width = width,
+ Height = height,
+ XScale = xScale,
+ YScale = yScale,
+ BitsPerPixel = features?.Alpha == true ? WebPBitsPerPixel.Pixel32 : WebPBitsPerPixel.Pixel24,
+ IsLossless = false,
+ Features = features,
+ Vp8Profile = (sbyte)version,
+ Vp8FrameHeader = vp8FrameHeader,
+ Vp8BitReader = bitReader
+ };
}
///
@@ -396,14 +394,14 @@ namespace SixLabors.ImageSharp.Formats.WebP
}
return new WebPImageInfo()
- {
- Width = width,
- Height = height,
- BitsPerPixel = WebPBitsPerPixel.Pixel32,
- IsLossless = true,
- Features = features,
- Vp8LBitReader = bitReader
- };
+ {
+ Width = width,
+ Height = height,
+ BitsPerPixel = WebPBitsPerPixel.Pixel32,
+ IsLossless = true,
+ Features = features,
+ Vp8LBitReader = bitReader
+ };
}
///
diff --git a/src/ImageSharp/Formats/WebP/WebPFeatures.cs b/src/ImageSharp/Formats/WebP/WebPFeatures.cs
index 16e420451..53ff5f54d 100644
--- a/src/ImageSharp/Formats/WebP/WebPFeatures.cs
+++ b/src/ImageSharp/Formats/WebP/WebPFeatures.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Buffers;
diff --git a/src/ImageSharp/Formats/WebP/WebPFormat.cs b/src/ImageSharp/Formats/WebP/WebPFormat.cs
index 8f0c665c3..38787cbf8 100644
--- a/src/ImageSharp/Formats/WebP/WebPFormat.cs
+++ b/src/ImageSharp/Formats/WebP/WebPFormat.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Collections.Generic;
diff --git a/src/ImageSharp/Formats/WebP/WebPFormatType.cs b/src/ImageSharp/Formats/WebP/WebPFormatType.cs
index 0c8fbf05f..e4ed01e84 100644
--- a/src/ImageSharp/Formats/WebP/WebPFormatType.cs
+++ b/src/ImageSharp/Formats/WebP/WebPFormatType.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/src/ImageSharp/Formats/WebP/WebPImageFormatDetector.cs b/src/ImageSharp/Formats/WebP/WebPImageFormatDetector.cs
index 4d86bd0a6..12b360560 100644
--- a/src/ImageSharp/Formats/WebP/WebPImageFormatDetector.cs
+++ b/src/ImageSharp/Formats/WebP/WebPImageFormatDetector.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
diff --git a/src/ImageSharp/Formats/WebP/WebPImageInfo.cs b/src/ImageSharp/Formats/WebP/WebPImageInfo.cs
index 544de48c3..526521436 100644
--- a/src/ImageSharp/Formats/WebP/WebPImageInfo.cs
+++ b/src/ImageSharp/Formats/WebP/WebPImageInfo.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using SixLabors.ImageSharp.Formats.WebP.BitReader;
diff --git a/src/ImageSharp/Formats/WebP/WebPLookupTables.cs b/src/ImageSharp/Formats/WebP/WebPLookupTables.cs
index 65a082696..362bc7889 100644
--- a/src/ImageSharp/Formats/WebP/WebPLookupTables.cs
+++ b/src/ImageSharp/Formats/WebP/WebPLookupTables.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Collections.Generic;
diff --git a/src/ImageSharp/Formats/WebP/WebPMetadata.cs b/src/ImageSharp/Formats/WebP/WebPMetadata.cs
index 9c0a61a0b..0d8e8b323 100644
--- a/src/ImageSharp/Formats/WebP/WebPMetadata.cs
+++ b/src/ImageSharp/Formats/WebP/WebPMetadata.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.Collections.Generic;
diff --git a/src/ImageSharp/Formats/WebP/WebPThrowHelper.cs b/src/ImageSharp/Formats/WebP/WebPThrowHelper.cs
index 7183c526a..c2abd31a8 100644
--- a/src/ImageSharp/Formats/WebP/WebPThrowHelper.cs
+++ b/src/ImageSharp/Formats/WebP/WebPThrowHelper.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System;
using System.Runtime.CompilerServices;
diff --git a/src/ImageSharp/Formats/WebP/WebpConfigurationModule.cs b/src/ImageSharp/Formats/WebP/WebpConfigurationModule.cs
index 6911f4605..d5e6eea6d 100644
--- a/src/ImageSharp/Formats/WebP/WebpConfigurationModule.cs
+++ b/src/ImageSharp/Formats/WebP/WebpConfigurationModule.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.WebP
{
diff --git a/tests/ImageSharp.Benchmarks/Codecs/DecodeWebp.cs b/tests/ImageSharp.Benchmarks/Codecs/DecodeWebp.cs
index 654421a34..5aa1810cc 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/DecodeWebp.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/DecodeWebp.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.IO;
using BenchmarkDotNet.Attributes;
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs
index 7fc7745c3..3eb51a597 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using System.IO;
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebPMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebPMetaDataTests.cs
index be26964a8..9a5bef8c1 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebPMetaDataTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebPMetaDataTests.cs
@@ -1,5 +1,5 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the GNU Affero General Public License, Version 3.
+// Copyright (c) Six Labors.
+// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.WebP;
using SixLabors.ImageSharp.PixelFormats;