diff --git a/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs b/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs
index 000de4f88c..d119d3031f 100644
--- a/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs
+++ b/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs
@@ -10,6 +10,7 @@ internal interface IWebpEncoderOptions
{
///
/// Gets the webp file format used. Either lossless or lossy.
+ /// Defaults to lossy.
///
WebpFileFormatType? FileFormat { get; }
diff --git a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs
index 8640261b17..195fa62bdc 100644
--- a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs
+++ b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs
@@ -70,6 +70,7 @@ internal sealed class WebpEncoderCore : IImageEncoderInternals
///
/// Indicating what file format compression should be used.
+ /// Defaults to lossy.
///
private readonly WebpFileFormatType? fileFormat;
@@ -112,43 +113,43 @@ public void Encode(Image image, Stream stream, CancellationToken
Guard.NotNull(stream, nameof(stream));
this.configuration = image.GetConfiguration();
- bool lossy;
+ bool lossless;
if (this.fileFormat is not null)
{
- lossy = this.fileFormat == WebpFileFormatType.Lossy;
+ lossless = this.fileFormat == WebpFileFormatType.Lossless;
}
else
{
WebpMetadata webpMetadata = image.Metadata.GetWebpMetadata();
- lossy = webpMetadata.FileFormat == WebpFileFormatType.Lossy;
+ lossless = webpMetadata.FileFormat == WebpFileFormatType.Lossless;
}
- if (lossy)
+ if (lossless)
{
- using var enc = new Vp8Encoder(
+ using var enc = new Vp8LEncoder(
this.memoryAllocator,
this.configuration,
image.Width,
image.Height,
this.quality,
this.method,
- this.entropyPasses,
- this.filterStrength,
- this.spatialNoiseShaping);
+ this.transparentColorMode,
+ this.nearLossless,
+ this.nearLosslessQuality);
enc.Encode(image, stream);
}
else
{
- using var enc = new Vp8LEncoder(
+ using var enc = new Vp8Encoder(
this.memoryAllocator,
this.configuration,
image.Width,
image.Height,
this.quality,
this.method,
- this.transparentColorMode,
- this.nearLossless,
- this.nearLosslessQuality);
+ this.entropyPasses,
+ this.filterStrength,
+ this.spatialNoiseShaping);
enc.Encode(image, stream);
}
}
diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs
index cad39224e5..7043549b22 100644
--- a/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs
@@ -18,7 +18,7 @@ public class WebpEncoderTests
private static string TestImageLossyFullPath => Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, Lossy.NoFilter06);
[Theory]
- [WithFile(Flag, PixelTypes.Rgba32, WebpFileFormatType.Lossless)] // if its not a webp input image, it should default to lossless.
+ [WithFile(Flag, PixelTypes.Rgba32, WebpFileFormatType.Lossy)] // If its not a webp input image, it should default to lossy.
[WithFile(Lossless.NoTransform1, PixelTypes.Rgba32, WebpFileFormatType.Lossless)]
[WithFile(Lossy.Bike, PixelTypes.Rgba32, WebpFileFormatType.Lossy)]
public void Encode_PreserveRatio(TestImageProvider provider, WebpFileFormatType expectedFormat)