You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2012/03/11 14:53:43 UTC
svn commit: r1299358 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java
Author: lehmi
Date: Sun Mar 11 13:53:42 2012
New Revision: 1299358
URL: http://svn.apache.org/viewvc?rev=1299358&view=rev
Log:
PDFBOX-1233: fixed the length of extended codes as proposed by Dave Smith
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java?rev=1299358&r1=1299357&r2=1299358&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ccitt/CCITTFaxG31DDecodeInputStream.java Sun Mar 11 13:53:42 2012
@@ -225,8 +225,8 @@ public class CCITTFaxG31DDecodeInputStre
buildUpTerminating(BLACK_TERMINATING, BLACK_LOOKUP_TREE_ROOT, false);
buildUpMakeUp(WHITE_MAKE_UP, WHITE_LOOKUP_TREE_ROOT);
buildUpMakeUp(BLACK_MAKE_UP, BLACK_LOOKUP_TREE_ROOT);
- buildUpMakeUp(LONG_MAKE_UP, WHITE_LOOKUP_TREE_ROOT);
- buildUpMakeUp(LONG_MAKE_UP, BLACK_LOOKUP_TREE_ROOT);
+ buildUpMakeUpLong(LONG_MAKE_UP, WHITE_LOOKUP_TREE_ROOT);
+ buildUpMakeUpLong(LONG_MAKE_UP, BLACK_LOOKUP_TREE_ROOT);
LookupTreeNode eolNode = new EndOfLineTreeNode();
addLookupTreeNode(EOL_STARTER, WHITE_LOOKUP_TREE_ROOT, eolNode);
addLookupTreeNode(EOL_STARTER, BLACK_LOOKUP_TREE_ROOT, eolNode);
@@ -250,6 +250,15 @@ public class CCITTFaxG31DDecodeInputStre
}
}
+ private static void buildUpMakeUpLong(short[] codes, NonLeafLookupTreeNode root)
+ {
+ for (int len = 0, c = codes.length; len < c; len++)
+ {
+ LookupTreeNode leaf = new MakeUpTreeNode((len + 28) * 64);
+ addLookupTreeNode(codes[len], root, leaf);
+ }
+ }
+
private static void addLookupTreeNode(short code, NonLeafLookupTreeNode root,
LookupTreeNode leaf)
{