Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 4.0 - Beta, 4.0
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      None

      Description

      The JBIG2 image format is a bi-level (black/white) image compression. It offers significant advantages over other compress types and is becoming more and more popular as the next fax format standard. We currently don't support this format but should probably start thinking about it.

        Issue Links

          Activity

          Patrick Corless created issue -
          Hide
          Patrick Corless added a comment -

          It looks like there are been some advances in JBIG2 Java Library support. Surprisingly JPedal has release a JAI JBIG2 Image Decoder plugin under BSD license.

          Show
          Patrick Corless added a comment - It looks like there are been some advances in JBIG2 Java Library support. Surprisingly JPedal has release a JAI JBIG2 Image Decoder plugin under BSD license.
          Patrick Corless made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 3.1 [ 10181 ]
          Patrick Corless made changes -
          Fix Version/s 3.2 [ 10212 ]
          Fix Version/s 3.1 [ 10181 ]
          Patrick Corless made changes -
          Assignee Patrick Corless [ patrick.corless ] Mark Collette [ mark.collette ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19960 Fri Dec 11 11:06:29 MST 2009 mark.collette PDF-9 : JBIG2 Image support
          Check-in of the 3rd party library we're using for JBIG2 integration.
          Files Changed
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/halftone
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/FileFilterer.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/refinement/RefinementRegionFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/jai/JBIG2ReaderPluginTester.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/HuffmanDecoder.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/tables/JBIG2CodeTable.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/Segment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pageinformation/PageInformationFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/stripes
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/util/BinaryOperation.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/NavigationToolbar.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionHuffmanFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/halftone/HalftoneRegionFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/MMRDecoder.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/generic/GenericRegionSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/start.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/io
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/symboldictionary/SymbolDictionarySegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/JBIG2StreamDecoder.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/symboldictionary/SymbolDictionaryFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/docs/licenses/JBIG2_license.txt
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/forward.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/save.png
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pageinformation
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/tables
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/refinement/RefinementRegionSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/symboldictionary
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pattern/PatternDictionarySegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pattern/PatternDictionaryFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/ArithmeticDecoder.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/DecodeIntResult.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/SegmentHeader.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/jai
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/JBIG2Exception.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image/BitmapPointer.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/halftone/HalftoneRegionSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/generic
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/JBIG2Decoder.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/decoders/ArithmeticDecoderStats.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/RegionFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/util
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/jai/JBIG2ImageReaderSpi.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/extensions
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/fforward.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/back.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/io/StreamReader.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/open.png
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/pdf/PDFSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/fback.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/Flags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/end.gif
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/stripes/EndOfStripeSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pageinformation/PageInformationSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/JBIG2Viewer.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/generic/GenericRegionFlags.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/extensions/ExtensionSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/jai
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/RegionSegment.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/pattern
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/refinement
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/pdf
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/jai/JBIG2ImageReader.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer/res/properties.png
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image/JBIG2Bitmap.java
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region
          Commit graph ADD /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/segment/region/text/TextRegionSegment.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19961 Fri Dec 11 11:11:21 MST 2009 mark.collette PDF-9 : JBIG2 Image support
          Integrate with 3rd party library we're using for JBIG2 support.
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Stream.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19962 Fri Dec 11 11:23:48 MST 2009 mark.collette PDF-9 : JBIG2 Image support
          Remove unnecessary example code.
          Files Changed
          Commit graph DEL /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/examples/viewer
          Hide
          Mark Collette added a comment -

          Evaluated JPedal JBIG2 library, and it works with the test JBIG2 files that we have. Added license file into our docs/licenses directory. Added library package into our subversion.

          Subversion 19960

          Show
          Mark Collette added a comment - Evaluated JPedal JBIG2 library, and it works with the test JBIG2 files that we have. Added license file into our docs/licenses directory. Added library package into our subversion. Subversion 19960
          Hide
          Mark Collette added a comment -

          Integrate with 3rd party library we're using for JBIG2 support. The JBIG2 library seems to do unnecessary memory allocations, so we'll come back later and optimise that. In the mean while, we'll integrate at the highest level possible.

          Subversion 19961
          icepdf\core\src\org\icepdf\core\pobjects\Stream.java

          Show
          Mark Collette added a comment - Integrate with 3rd party library we're using for JBIG2 support. The JBIG2 library seems to do unnecessary memory allocations, so we'll come back later and optimise that. In the mean while, we'll integrate at the highest level possible. Subversion 19961 icepdf\core\src\org\icepdf\core\pobjects\Stream.java
          Hide
          Mark Collette added a comment -

          Remove unnecessary example code.

          Subversion 19962

          Show
          Mark Collette added a comment - Remove unnecessary example code. Subversion 19962
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #19965 Fri Dec 11 13:46:21 MST 2009 mark.collette PDF-9 : JBIG2 Image support
          Optimise memory usage
          Files Changed
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/JBIG2Decoder.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/Stream.java
          Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/jpedal/jbig2/image/JBIG2Bitmap.java
          Hide
          Mark Collette added a comment -

          Profiled typical memory usage spikes, and added the appropriate calls to the memory manager to handle them. Reduced the memory spike involved in deriving the BufferedImage from the decoder's internal data structures.

          Subversion 19965
          icepdf\core\src\org\icepdf\core\pobjects\Stream.java
          icepdf\core\src\org\jpedal\jbig2\image\JBIG2Bitmap.java
          icepdf\core\src\org\jpedal\jbig2\JBIG2Decoder.java

          Show
          Mark Collette added a comment - Profiled typical memory usage spikes, and added the appropriate calls to the memory manager to handle them. Reduced the memory spike involved in deriving the BufferedImage from the decoder's internal data structures. Subversion 19965 icepdf\core\src\org\icepdf\core\pobjects\Stream.java icepdf\core\src\org\jpedal\jbig2\image\JBIG2Bitmap.java icepdf\core\src\org\jpedal\jbig2\JBIG2Decoder.java
          Mark Collette made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Mark Collette made changes -
          Link This issue blocks PDF-109 [ PDF-109 ]
          Ken Fyten made changes -
          Fix Version/s 4.0 [ 10222 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mark Collette
              Reporter:
              Patrick Corless
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: