summaryrefslogtreecommitdiff
path: root/include/mupdf/fitz/compressed-buffer.h
AgeCommit message (Collapse)Author
2018-05-16Keep JBIG2 image data compressed in fz_compressed_buffer.Tor Andersson
2017-10-12Refactor image format magic signature recognition into its own function.Tor Andersson
2016-10-21Clean up FZ_IMAGE_XXX enums and purge unused FZ_IMAGE_JBIG2.Tor Andersson
2016-07-06Add support for decoding pbm/pgm/ppm/pam images.Sebastian Rasmussen
2016-07-06Add optional support for JPEG-XR.Sebastian Rasmussen
2016-07-05Support J2K/JP2 files in CBZ.Sebastian Rasmussen
2016-06-29JBIG2 is supported by jbig2dec/luratech decoders.Sebastian Rasmussen
2016-06-08Move to using size_t for all mallocs.Robin Watts
This has knock on effects in the store. fix
2016-03-23Add support for BMP images.Sebastian Rasmussen
2015-07-29Add support for parsing GIF images.Sebastian Rasmussen
2015-02-17Rename fz_close_* and fz_free_* to fz_drop_*.Tor Andersson
Rename fz_close to fz_drop_stream. Rename fz_close_archive to fz_drop_archive. Rename fz_close_output to fz_drop_output. Rename fz_free_* to fz_drop_*. Rename pdf_free_* to pdf_drop_*. Rename xps_free_* to xps_drop_*.
2014-03-18Fix operator buffering of inline images.Robin Watts
Previously pdf_process buffer did not understand inline images. In order to make this work without needlessly duplicating complex code from within pdf-op-run, the parsing of inline images has been moved to happen in pdf-interpret.c. When the op_table entry for BI is called it now expects the inline image to be in csi->img and the dictionary object to be in csi->obj. To make this work, we have had to improve the handling of inline images in general. While non-inline images have been loaded and held in memory in their compressed form and only decoded when required, until now we have always loaded and decoded inline images immediately. This has been due to the difficulty in knowing how many bytes of data to read from the stream - we know the length of the stream once uncompressed, but relating this to the compressed length is hard. To cure this we introduce a new type of filter stream, a 'leecher'. We insert a leecher stream before we build the filters required to decode the image. We then read and discard the appropriate number of uncompressed bytes from the filters. This pulls the compressed data through the leecher stream, which stores it in an fz_buffer. Thus images are now always held in their compressed forms in memory. The pdf-op-run implementation is now trivial. The only real complexity in the pdf-op-buffer implementation is the need to ensure that the /Filter entry in the dictionary object matches the exact point at which we backstopped the decompression.
2013-08-28add FZ_IMAGE_JXR placeholder for downstream implementorsSimon Bünzli
2013-06-21Initial PDF editing/page creation commitRobin Watts
2013-06-18Add explicit #include for header file interdependencies.Tor Andersson
2013-06-18Split fitz.h into subheaders.Tor Andersson