diff options
author | Robin Watts <robin.watts@artifex.com> | 2015-01-05 17:34:29 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2015-01-06 17:16:03 +0000 |
commit | 90c560641d9b459a658029eefc4cbb02fdbca0b5 (patch) | |
tree | 036e64aef09d403c0d2f5d699a9c858eebe556f9 /include | |
parent | e460246943441078ff28dd413a19ee6f186c3764 (diff) | |
download | mupdf-90c560641d9b459a658029eefc4cbb02fdbca0b5.tar.xz |
Add xref_index to speed searching of sparse xrefs.
Add a new index that quickly maps object number to the first
xref in which an object appears. This appears to get us the
speed back that we lost when moving to sparse xrefs.
Diffstat (limited to 'include')
-rw-r--r-- | include/mupdf/pdf/document.h | 1 | ||||
-rw-r--r-- | include/mupdf/pdf/xref.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/mupdf/pdf/document.h b/include/mupdf/pdf/document.h index c9851a47..f208b549 100644 --- a/include/mupdf/pdf/document.h +++ b/include/mupdf/pdf/document.h @@ -213,6 +213,7 @@ struct pdf_document_s int max_xref_len; int num_xref_sections; pdf_xref *xref_sections; + int *xref_index; int xref_altered; int freeze_updates; int has_xref_streams; diff --git a/include/mupdf/pdf/xref.h b/include/mupdf/pdf/xref.h index ac8525ac..63580723 100644 --- a/include/mupdf/pdf/xref.h +++ b/include/mupdf/pdf/xref.h @@ -96,7 +96,7 @@ void pdf_replace_xref(pdf_document *doc, pdf_xref_entry *entries, int n); void pdf_xref_ensure_incremental_object(pdf_document *doc, int num); int pdf_xref_is_incremental(pdf_document *doc, int num); -void pdf_repair_xref(pdf_document *doc, pdf_lexbuf *buf); +void pdf_repair_xref(pdf_document *doc); void pdf_repair_obj_stms(pdf_document *doc); pdf_obj *pdf_new_ref(pdf_document *doc, pdf_obj *obj); void pdf_ensure_solid_xref(pdf_document *doc, int num); |