You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/05/06 18:46:53 UTC
svn commit: r1889578 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java
Author: tilman
Date: Thu May 6 18:46:53 2021
New Revision: 1889578
URL: http://svn.apache.org/viewvc?rev=1889578&view=rev
Log:
PDFBOX-4892: optimize by changing sequence
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java?rev=1889578&r1=1889577&r2=1889578&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/SampledImageReader.java Thu May 6 18:46:53 2021
@@ -198,7 +198,6 @@ final class SampledImageReader
final int width = (int) Math.ceil(clipped.getWidth() / subsampling);
final int height = (int) Math.ceil(clipped.getHeight() / subsampling);
final int bitsPerComponent = pdImage.getBitsPerComponent();
- final float[] decode = getDecodeArray(pdImage);
if (width <= 0 || height <= 0 || pdImage.getWidth() <= 0 || pdImage.getHeight() <= 0)
{
@@ -220,7 +219,8 @@ final class SampledImageReader
WritableRaster raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
numComponents, new Point(0, 0));
final float[] defaultDecode = pdImage.getColorSpace().getDefaultDecode(8);
- if (bitsPerComponent == 8 && Arrays.equals(decode, defaultDecode) && colorKey == null)
+ final float[] decode = getDecodeArray(pdImage);
+ if (bitsPerComponent == 8 && colorKey == null && Arrays.equals(decode, defaultDecode))
{
// convert image, faster path for non-decoded, non-colormasked 8-bit images
return from8bit(pdImage, raster, clipped, subsampling, width, height);