From 39569866fc022d08e431dd11c4eda5b9985b40f8 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Sun, 30 May 2021 11:43:32 +0300 Subject: [PATCH] Added debug guard checks to LoadAndStretchEdges --- .../Encoder/YCbCrForwardConverter{TPixel}.cs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs index 120b21e107..a059f978d1 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs @@ -115,17 +115,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder } } - // TODO: add DebugGuard checks? + private static void LoadAndStretchEdges(RowOctet source, Span dest, int startX, int width, int height, Size areaSize) { - //Guard.MustBeBetweenOrEqualTo(width, 1, 8, nameof(width)); - //Guard.MustBeBetweenOrEqualTo(height, 1, 8, nameof(width)); - - // TODO: this is a strange check, most likely it was introduces due to 2x 8x8 blocks subsampling, should be gone after new 4:2:0 implementation - if (width <= 0 || height <= 0) - { - return; - } + DebugGuard.MustBeBetweenOrEqualTo(width, 1, areaSize.Width, nameof(width)); + DebugGuard.MustBeBetweenOrEqualTo(height, 1, areaSize.Height, nameof(height)); uint byteWidth = (uint)(width * Unsafe.SizeOf()); int remainderXCount = areaSize.Width - width;