Age | Commit message (Collapse) | Author |
|
|
|
Reintroduce fz_load_jpeg() (previously removed in 12c1466) improved with:
* application agnostic memory handler support from 6a8abce
* colorspace context from 93bd1ff
* resolution detection from 4dc6cbe
|
|
|
|
* Use a better 4-bit fallback palette (use vga palette as
indicated by variable name instead of 16 color web palette)
* Determine if existing palette entries are grayscale and if so
use a grayscale palette instead of the vga or web palette
* Extend the web palette with black entries to make it eaiser
to copy from.
|
|
|
|
|
|
|
|
* The component bitmasks in the header are only valid for
bitfields compression
* The extra component bitmasks are only present if using
bitfields compression and for 16-/32-bit images if not
already present in header
|
|
|
|
The rle8 encoding already uses the same comparison
|
|
|
|
gcc whines about strict-aliasing rules. Tweak the code to avoid
them.
Short version = gcc dislikes accessing the same memory
through different typed pointers unless they are void * or char *.
|
|
Tell Memento to treat all blocks allocated within given harfbuzz
calls as being leaks.
|
|
Harfbuzz allocates blocks that it keeps around as statics.
There are a finite number of these, and they are never freed
(at least not in the build we use). Having Memento report
them as leaks is a pain.
So we extend Memento so that we can label blocks as being
leaks, and thus never have to be bothered by them.
|
|
|
|
This was causing blocks to be free'd rather than fz_free'd.
|
|
Avoid library warnings when including libfonts.
|
|
|
|
If another routine 'wraps' memento blocks (such as a chunk allocator
or the 'trace' allocator in mudraw), then the address passed to
Memento_label, Memento_takeRef etc, can be inside the block rather
than at the start of the block.
Update Memento to cope with this.
|
|
|
|
|
|
Introduce a 'generic' PCL setting (basically ljet4 with custom
page sizes for now).
Ensure we send explicit sizes before the custom page sizes, and
don't use Ricoh page sizes unless we are allowed to.
|
|
Output uses adaptive compression mode.
|
|
|
|
|
|
Now covers non-ARM arch's too, and both load/stores.
|
|
Fix do_threshold_1 and implement do_threshold_4.
do_threshold_1 checks for white and shortcuts the work if it
can.
There are 2 ARM variants of do_threshold_4. One for ARMs that
support unaligned loads, and one for the (rare configurations)
that don't. The former checks for white and shortcuts the work.
|
|
Both C and ARM versions. ARM version is noticably faster than C
version.
|
|
I missed a font while reworking the generate.bat font generation.
|
|
(And presumably other platforms).
.align is broken - on some archs it wants the padding size, on others
(like ARM) it wants log2(padding size). Use .balign which is consistent.
Avoid using @ or # as these are comment chars on some archs.
Use the STT_OBJECT form instead.
|
|
|
|
pdf.createObject() will create a new (blank) object and return an indirect
reference to it. This wraps pdf_create_object.
ref.writeObject(obj) will update the object pointed to. This wraps
pdf_update_object.
|
|
|
|
Update generate.bat to generate generate/fontname.c files rather
than generate/fontname.{ttc,ttf,cff} etc.
Add a new libfonts target that builds those, and make libmupdf
depend on it.
Fix build problem in load-bmp.c - don't declare in the middle of
blocks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|