From 535372da099204758283cac57d4ce727c17a380c Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 21 May 2022 22:57:29 +0200 Subject: [PATCH] Another attempt to get deducing jpeg color space right --- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 1e7f5a92e3..b3d7f60f51 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -524,9 +524,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg return JpegColorSpace.RGB; } - if (this.hasJFif) + if (!this.adobe.Equals(default) && this.adobe.ColorTransform == JpegConstants.Adobe.ColorTransformYCbCr) { - // JFIF implies YCbCr. return JpegColorSpace.YCbCr; } @@ -537,6 +536,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg return JpegColorSpace.RGB; } + if (this.hasJFif) + { + // JFIF implies YCbCr. + return JpegColorSpace.YCbCr; + } + // If these values are 1-3 for a 3-channel image, then the image is assumed to be YCbCr. if (this.Components[2].Id == 3 && this.Components[1].Id == 2 && this.Components[0].Id == 1) {