Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This has caught a couple of oddities...
|
|
Also change unsigned char into const char for embedded data.
|
|
All the groundwork was in place for this, I'd just forgotten
to actually enable it.
|
|
Use the LCM of the different tile widths rather than a complete
line copy. This should play better with caches on devices like
the pi.
|
|
No clever SIMD tricks.
|
|
Simple unrolling.
|
|
|
|
Try to limit aliasing issues.
|
|
"make build=gperf" will now build and link the google perf tools
library into mutool. When mutool is then run, a mutool.prof file
is dropped into the current directory that can be analysed.
|
|
An l2factor of 3 is equivalent to downscaling by a factor of 8.
We can get an l2factor of 3 downscale out of the jpeglib. We can
reasonably downscale by a further l2factor of 3 manually. Any more
than that and we start to completely drop pixels without them
having any effect.
Therefore it's pointless us keeping any tiles around with l2factors
> 6.
Fix the bug (which was that we were using < instead of <=) and
update the value to a more reasonable one anyway.
|
|
In the quest for better mutool draw timings, make fz_outputs going
to /dev/null be represented by a NULL pointer.
Spot this in the output routines and just exit.
|
|
It makes a strangely large difference in timings if we close
and reopen the output file for every page. Only close and
reopen the output file for each page if we really need to.
|
|
Simple PS wrapped images with flate compression.
|
|
|
|
AWT pulls in the system freetype library, which in turn pulls in system zlib.
Avoid symbol collisions and possible header/library conflicts by using
the system libraries for desktop java builds.
|
|
Debian stable still ships with freetype 2.5.2. We normally wouldn't care,
but desktop java builds need to use the system freetype library as that's
what AWT links against.
|
|
|
|
|
|
Add an explicit 'page setup' matrix to pdf-write device, which is only used
when creating top level page content stream and not the child annotation
content streams.
|
|
|
|
|
|
A request for a .pkm file will produce the same as a pamcmyk4 does
on ghostscript. Ghostscripts pkmraw device does a 1bpp cmyk and
then converts to rgb as writing to ppm, but that seems silly.
|
|
|
|
|
|
To avoid having to duplicate a fairly large block of code several
times, use repeated inclusion of a header with some macros to
generate optimised glyph plotters.
|
|
We have optimised plotters for 2 and 4 components (i.e. greyscale
and rgb). Add equivalent ones for CMYK.
|
|
|
|
|
|
Thanks to Marcos for spotting the missing case.
|
|
|
|
In the current code, when we hit the fz_try(), we check to see
if we are about to overflow the exception stack. If we are,
we throw. This does NOT throw to the fz_catch following the
try, but rather to the enclosing fz_always/fz_catch blocks.
This can cause leaks, as it's very hard to code correctly.
It would be a far nicer behaviour to have a failure in fz_try()
cause us to throw to the immediately following fz_always/fz_catch.
This commit achieves that.
|
|
This leads to a leak.
|
|
|
|
Use LIBS, not LDFLAGS to ensure that the lib appears at the
end of the link line.
|
|
|
|
|
|
|
|
Neatness.
|
|
|
|
These work with MEMENTO_DETAILS to allow us to store the events where
reference counts change.
|
|
|
|
|
|
Previously this would overrun buffers in the pathological
case (ABBABBABB...). We now only break from literals to
runs for a run of at least 3 (except at the start).
|