From 7d475e477c75f75eead40050afdf85bd342a9304 Mon Sep 17 00:00:00 2001 From: j-t-1 <120829237+j-t-1@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:11:37 +0100 Subject: [PATCH 1/3] STY: Increase readability Add comments and remove noisy comments. --- pypdf/filters.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pypdf/filters.py b/pypdf/filters.py index 5e6a10f782..ec0c94c4c7 100644 --- a/pypdf/filters.py +++ b/pypdf/filters.py @@ -184,22 +184,25 @@ def _decode_png_prediction(data: bytes, columns: int, rowlength: int) -> bytes: raise PdfReadError("Image data is not rectangular") output = [] prev_rowdata = (0,) * rowlength - bpp = (rowlength - 1) // columns # recomputed locally to not change params + bpp = rowlength - 1 // columns # recomputed locally to not change params for row in range(0, len(data), rowlength): rowdata: List[int] = list(data[row : row + rowlength]) filter_byte = rowdata[0] if filter_byte == 0: + # PNG None Predictor pass elif filter_byte == 1: + # PNG Sub Predictor for i in range(bpp + 1, rowlength): rowdata[i] = (rowdata[i] + rowdata[i - bpp]) % 256 elif filter_byte == 2: + # PNG Up Predictor for i in range(1, rowlength): rowdata[i] = (rowdata[i] + prev_rowdata[i]) % 256 elif filter_byte == 3: + # PNG Average Predictor for i in range(1, bpp + 1): - # left = 0 floor = prev_rowdata[i] // 2 rowdata[i] = (rowdata[i] + floor) % 256 for i in range(bpp + 1, rowlength): @@ -207,12 +210,9 @@ def _decode_png_prediction(data: bytes, columns: int, rowlength: int) -> bytes: floor = (left + prev_rowdata[i]) // 2 rowdata[i] = (rowdata[i] + floor) % 256 elif filter_byte == 4: + # PNG Paeth Predictor for i in range(1, bpp + 1): - # left = 0 - up = prev_rowdata[i] - # up_left = 0 - paeth = up - rowdata[i] = (rowdata[i] + paeth) % 256 + rowdata[i] = (rowdata[i] + prev_rowdata[i]) % 256 for i in range(bpp + 1, rowlength): left = rowdata[i - bpp] up = prev_rowdata[i] From 225f21e78542486297f7d33bb3c427a0c601d83d Mon Sep 17 00:00:00 2001 From: j-t-1 <120829237+j-t-1@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:16:06 +0100 Subject: [PATCH 2/3] STY: Increase readability Add comments and remove noisy comments. --- pypdf/filters.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pypdf/filters.py b/pypdf/filters.py index ec0c94c4c7..a04f43618d 100644 --- a/pypdf/filters.py +++ b/pypdf/filters.py @@ -190,18 +190,18 @@ def _decode_png_prediction(data: bytes, columns: int, rowlength: int) -> bytes: filter_byte = rowdata[0] if filter_byte == 0: - # PNG None Predictor + # PNG None Predictor pass elif filter_byte == 1: - # PNG Sub Predictor + # PNG Sub Predictor for i in range(bpp + 1, rowlength): rowdata[i] = (rowdata[i] + rowdata[i - bpp]) % 256 elif filter_byte == 2: - # PNG Up Predictor + # PNG Up Predictor for i in range(1, rowlength): rowdata[i] = (rowdata[i] + prev_rowdata[i]) % 256 elif filter_byte == 3: - # PNG Average Predictor + # PNG Average Predictor for i in range(1, bpp + 1): floor = prev_rowdata[i] // 2 rowdata[i] = (rowdata[i] + floor) % 256 @@ -210,7 +210,7 @@ def _decode_png_prediction(data: bytes, columns: int, rowlength: int) -> bytes: floor = (left + prev_rowdata[i]) // 2 rowdata[i] = (rowdata[i] + floor) % 256 elif filter_byte == 4: - # PNG Paeth Predictor + # PNG Paeth Predictor for i in range(1, bpp + 1): rowdata[i] = (rowdata[i] + prev_rowdata[i]) % 256 for i in range(bpp + 1, rowlength): From 161a8efbcec53c88a19905b7067eba29a7fc718d Mon Sep 17 00:00:00 2001 From: j-t-1 <120829237+j-t-1@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:27:27 +0100 Subject: [PATCH 3/3] STY: Increase readability Add comments and remove noisy comments. --- pypdf/filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pypdf/filters.py b/pypdf/filters.py index a04f43618d..137e3603a3 100644 --- a/pypdf/filters.py +++ b/pypdf/filters.py @@ -184,7 +184,7 @@ def _decode_png_prediction(data: bytes, columns: int, rowlength: int) -> bytes: raise PdfReadError("Image data is not rectangular") output = [] prev_rowdata = (0,) * rowlength - bpp = rowlength - 1 // columns # recomputed locally to not change params + bpp = (rowlength - 1) // columns # recomputed locally to not change params for row in range(0, len(data), rowlength): rowdata: List[int] = list(data[row : row + rowlength]) filter_byte = rowdata[0]