diff --git a/src/ImageSharp/Formats/Jpeg/PdfJsPort/PdfJsJpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/PdfJsPort/PdfJsJpegDecoderCore.cs
index 1ba4826a24..2322758eec 100644
--- a/src/ImageSharp/Formats/Jpeg/PdfJsPort/PdfJsJpegDecoderCore.cs
+++ b/src/ImageSharp/Formats/Jpeg/PdfJsPort/PdfJsJpegDecoderCore.cs
@@ -22,7 +22,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort
{
///
/// Performs the jpeg decoding operation.
- /// Ported from with additional fixes to handle common encoding errors
+ /// Originally ported from
+ /// with additional fixes for both performance and common encoding errors.
///
internal sealed class PdfJsJpegDecoderCore : IRawJpegData
{
@@ -31,7 +32,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort
///
public const int SupportedPrecision = 8;
-#pragma warning disable SA1401 // Fields should be private
///
/// The global configuration
///
@@ -242,7 +242,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort
case PdfJsJpegConstants.Markers.SOF0:
case PdfJsJpegConstants.Markers.SOF1:
case PdfJsJpegConstants.Markers.SOF2:
-
this.ProcessStartOfFrameMarker(remaining, fileMarker, metadataOnly);
break;
@@ -291,17 +290,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort
break;
case PdfJsJpegConstants.Markers.APP0:
-
this.ProcessApplicationHeaderMarker(remaining);
break;
case PdfJsJpegConstants.Markers.APP1:
-
this.ProcessApp1Marker(remaining);
break;
case PdfJsJpegConstants.Markers.APP2:
-
this.ProcessApp2Marker(remaining);
break;
@@ -320,7 +316,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.PdfJsPort
break;
case PdfJsJpegConstants.Markers.APP14:
-
this.ProcessApp14Marker(remaining);
break;
diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/Identify.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs
similarity index 98%
rename from tests/ImageSharp.Benchmarks/Codecs/Jpeg/Identify.cs
rename to tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs
index 79e9e9e764..c3c1281001 100644
--- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/Identify.cs
+++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs
@@ -10,7 +10,7 @@ using SixLabors.ImageSharp.Tests;
namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg
{
[Config(typeof(Config.ShortClr))]
- public class Identify
+ public class IdentifyJpeg
{
private byte[] jpegBytes;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
index 0b8daac72d..701d6b5d7c 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs
@@ -478,6 +478,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[InlineData(TestImages.Jpeg.Baseline.Ycck, 32)]
[InlineData(TestImages.Jpeg.Baseline.Jpeg400, 8)]
[InlineData(TestImages.Jpeg.Baseline.Snake, 24)]
+ [InlineData(TestImages.Jpeg.Baseline.Jpeg420Exif, 24)]
public void DetectPixelSizeGolang(string imagePath, int expectedPixelSize)
{
var testFile = TestFile.Create(imagePath);
@@ -494,6 +495,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[InlineData(TestImages.Jpeg.Baseline.Ycck, 32)]
[InlineData(TestImages.Jpeg.Baseline.Jpeg400, 8)]
[InlineData(TestImages.Jpeg.Baseline.Snake, 24)]
+ [InlineData(TestImages.Jpeg.Baseline.Jpeg420Exif, 24)]
public void DetectPixelSizePdfJs(string imagePath, int expectedPixelSize)
{
var testFile = TestFile.Create(imagePath);
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
index 0d563a7b77..b665d69e88 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs
@@ -33,7 +33,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{
var expecteColorSpace = (JpegColorSpace)expectedColorSpaceValue;
- using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, true))
+ using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, false))
{
Assert.Equal(expecteColorSpace, decoder.ColorSpace);
}
@@ -42,11 +42,11 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
[Fact]
public void ComponentScalingIsCorrect_1ChannelJpeg()
{
- using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(TestImages.Jpeg.Baseline.Jpeg400, true))
+ using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(TestImages.Jpeg.Baseline.Jpeg400, false))
{
Assert.Equal(1, decoder.ComponentCount);
Assert.Equal(1, decoder.Components.Length);
-
+
Size expectedSizeInBlocks = decoder.ImageSizeInPixels.DivideRoundUp(8);
Assert.Equal(expectedSizeInBlocks, decoder.ImageSizeInMCU);
@@ -68,7 +68,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{
var sb = new StringBuilder();
- using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, true))
+ using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, false))
{
sb.AppendLine(imageFile);
sb.AppendLine($"Size:{decoder.ImageSizeInPixels} MCU:{decoder.ImageSizeInMCU}");
@@ -103,23 +103,23 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
Size fLuma = (Size)expectedLumaFactors;
Size fChroma = (Size)expectedChromaFactors;
- using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, true))
+ using (OrigJpegDecoderCore decoder = JpegFixture.ParseStream(imageFile, false))
{
Assert.Equal(componentCount, decoder.ComponentCount);
Assert.Equal(componentCount, decoder.Components.Length);
-
+
OrigComponent c0 = decoder.Components[0];
OrigComponent c1 = decoder.Components[1];
OrigComponent c2 = decoder.Components[2];
var uniform1 = new Size(1, 1);
- Size expectedLumaSizeInBlocks = decoder.ImageSizeInMCU.MultiplyBy(fLuma) ;
+ Size expectedLumaSizeInBlocks = decoder.ImageSizeInMCU.MultiplyBy(fLuma);
Size divisor = fLuma.DivideBy(fChroma);
Size expectedChromaSizeInBlocks = expectedLumaSizeInBlocks.DivideRoundUp(divisor);
-
+
VerifyJpeg.VerifyComponent(c0, expectedLumaSizeInBlocks, fLuma, uniform1);
VerifyJpeg.VerifyComponent(c1, expectedChromaSizeInBlocks, fChroma, divisor);
VerifyJpeg.VerifyComponent(c2, expectedChromaSizeInBlocks, fChroma, divisor);