summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2016-12-27Strip extraneous blank lines.Tor Andersson
2016-12-27Stylistic cleanups.Tor Andersson
2016-12-27Common code to ensure we only premultiply pixmaps with additive colors.Tor Andersson
2016-12-26Bug 697362: GIF frames use LZW encoding similar to TIFF.Sebastian Rasmussen
Commit c0759acc6e5bd8167ab4983fc51eb1212da6a216 introduced a laxer LZW encoding. The bug shows that this may also apply to GIF images.
2016-12-23Don't add bogus entries when pdf_update_object is called with NULL.Tor Andersson
Treat such calls as deleting the object, as per pdf_delete_object.
2016-12-23Cope with NULL resource and concents arguments to pdf_add_page.Tor Andersson
2016-12-19SVG output: Fix dropped group alpha.Robin Watts
2016-12-19Fix broken mutool draw SVG outputRobin Watts
SVG output in mutool produces a file per page; attempting to reopen the same file each time was tripping the new fz_remove call. Now only open a page at a time.
2016-12-19Add MuOfficeLib functions to safely run native MuPDF ops.Robin Watts
It seems likely that we'll want people to able to use the MuPDF C API as well as the MuOfficeLib helper lib. We therefore need a way to get fz_context and fz_document values out of MuOfficeLib. Potential problems exist with people calling MuPDF C API functions using an fz_context that is in use elsewhere. Similarly, if an fz_document is in use in a background thread (for instance in a page render), we need to ensure that it can't be used at the same time elsewhere. We therefore provide MuOffice{Lib,Doc,Page}_run functions that allow this to happen safely. This largely insulates callers from the complexities of having to clone contexts etc, it safely ensures that exceptions cannot be propogated beyond the topmost fz_try/ fz_catch, and it ensures that appropriate locking is used.
2016-12-19mu-threads: Fix windows thread and semaphore creationRobin Watts
Was returning errors on successful creation.
2016-12-19mu-office-lib: Move threads out of statics.Robin Watts
Avoid using statics to hold the mutexes. This is safer for multiple-instantiation.
2016-12-19mu-threads: Fix Windows mu_destroy_threadRobin Watts
When destroying a thread, set the thread handle to NULL so we know that subsequent calls shouldn't try to destroy it again.
2016-12-19Fix typo in dictionary entry sorting.Sebastian Rasmussen
Commit a92f0db5987b408bef0d9b07277c8ff2329e9ce5 introduced a typo causing pdf_sort_dict() to try to sort non-dict objects. Attempting to do this for non-dict objects causes a segmentation fault. For dictionary objects this causes a performance degradation that has not been noticed. pdf_sort_dict() is called in two places: pdf_dict_get_put() and showgrep(). The resson that calling pdf_sort_dict() from pdf_dict_get_put() does not cause a segmentation fault is that pdf_dict_get_put() makes sure that the object is a dictionary before calling pdf_sort_dict(), which will then decide NOT to sort the dict keys. showgrep() on the other hand does not make sure that it is only processing dict objects before calling pdf_sort_dict() which caused a segmentation fault.
2016-12-19Make pdf_trailer() return NULL if there is no xref.Sebastian Rasmussen
2016-12-16Also repair object streams when repairing on the fly.Tor Andersson
2016-12-16Bug 697412: When repairing, forget the previous xref.Tor Andersson
2016-12-16Fix memory leaks on errors in text searching utility functions.Tor Andersson
2016-12-16Fix 697355: Use @page background color.Tor Andersson
2016-12-16Move page size and margins into fz_html struct.Tor Andersson
2016-12-16gl: Print warning when link destinations cannot be found.Tor Andersson
2016-12-16pdf: Don't allow incremental writes on a new document.Tor Andersson
2016-12-14Have callers of fz_new_image_from_pixmap() drop supplied mask.Sebastian Rasmussen
This makes handling of the mask identical to that of the pixmap argument.
2016-12-14Move checks as early as possible, outside of fz_try().Sebastian Rasmussen
Also remove unused variable.
2016-12-14jpx: Delay determining if colorspace is indexed.Sebastian Rasmussen
2016-12-14jpx: Quietly limit number of components for openjpeg decoder.Sebastian Rasmussen
2016-12-14jpx: Create openjpeg decoder state.Sebastian Rasmussen
This allows for communicating the colorspace without using a pixmap.
2016-12-14jpx: Only do YCC-to-RGB conversion if decoding image samples.Sebastian Rasmussen
2016-12-14jpx: Optimize sample writing function.Sebastian Rasmussen
2016-12-14jpx: Delay reading metadata until parsing samples where possible.Sebastian Rasmussen
2016-12-14jpx: Only compute signed offsets once.Sebastian Rasmussen
2016-12-14jpx: Use local variables instead of repeatedly dereferencing state.Sebastian Rasmussen
2016-12-14jpx: Share YCC-to-RGB conversion for luratech/openjpeg decoders.Sebastian Rasmussen
2016-12-14jpx: Move state which is not shared among functions to decoder stack.Sebastian Rasmussen
In the case of fz_context *, use that for the allocator callbacks.
2016-12-14jpx: Use macro to check for palette.Sebastian Rasmussen
2016-12-14jpx: Max components is known, so avoid allocating arrays.Sebastian Rasmussen
2016-12-14jpx: Use fz_context directly, don't wrap it in state.Sebastian Rasmussen
2016-12-14jpx: Reuse structs for luratech/openjpeg decoders.Sebastian Rasmussen
2016-12-14jpx: Remove unused struct.Sebastian Rasmussen
2016-12-14jpx: Plug pixmap leak in case of error during decoding.Sebastian Rasmussen
2016-12-14Split out jpx handling in separate function.Sebastian Rasmussen
2016-12-14Let pixmap colorspace conversion create new pixmap.Sebastian Rasmussen
This moves dropping the converted pixmap into fz_convert_pixmap(), which relieves every caller from doing so. Moreover resolution, position and interpolation are kept.
2016-12-14Create a pixmap color converter.Sebastian Rasmussen
This is in preparation for moving fz_convert_pixmap() out of colorspace.c.
2016-12-14Always create colorless pixmaps with alpha.Sebastian Rasmussen
2016-12-14Plug pixmap leak when fz_convert_pixmap() throws.Sebastian Rasmussen
2016-12-14Fix document leak when mutool info throws.Sebastian Rasmussen
2016-12-14Bug 697400: Mark visited objects when counting OCG layer entries.Sebastian Rasmussen
2016-12-12Make more pdf functions private.Tor Andersson
2016-12-12Tweak pdf portfolio: automatically use incremental writing.Tor Andersson
Windows cannot remove open files, so we can't save non-incrementally to the same file name as the open document. Force incremental saves if the input and output file names are the same. NOTE: We will also create corrupt files if saving a new document incrementally, so take care not to turn on incremental saves if we have created a new blank document.
2016-12-12Tweak pdf portfolio to create blank portfolios and add multiple entries.Tor Andersson
Will overwrite input file unless a separate output file is specified.
2016-12-12PDF Portfolio support.Robin Watts
New PDF Portfolio manipulation API. Simple mutool 'portfolio' tool for listing/extracting/embedding files.