Skip to content

Embedpdf/sync/9c866a447 - #82

Merged
bobsingor merged 10 commits into
embedpdf/mainfrom
embedpdf/sync/9c866a447
Oct 19, 2026
Merged

bobsingor merged 10 commits into
embedpdf/mainfrom
embedpdf/sync/9c866a447

Conversation

@bobsingor

Copy link
Copy Markdown
Contributor

No description provided.

leizleiz and others added 10 commits October 16, 2026 09:55
https://pdfium-review.googlesource.com/c/147470 accidentally included a
diff of this file in itself.

Change-Id: I2ab29ef95fd63c8dc9b32fcfb1f29b3ec366701a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/161090
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Replace bitmap comparisons in FPDFFlattenEmbedderTest with
DisplayListRenderer assertions. This tests the presence of annotation
text and vector paths directly against display list output instead of
platform-specific rasterized bitmaps, eliminating 17 obsolete golden
PNG files.

-- Add missing name to unicode translations from "a1".."a206" for the
   fontations case provided in FT, as indicated by logging differences.

Change-Id: Ic04c3cc963a064a140ff37f1a1cef861d3bee5e9
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/160352
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Replace bitmap comparisons in FPDFPPOEmbedderTest with
DisplayListRenderer assertions. This tests page organization, N-up
import, page-to-XObject conversions, and page import directly against
display list output instead of rasterized bitmaps, eliminating 23
obsolete golden PNG files.

Change-Id: I19d59b3953e4002cde952d8eddec26ee02048fdd
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/160353
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Replace bitmap comparisons in FPDFParserDecodeEmbedderTest with
DisplayListRenderer assertions. This verifies stream decoding behavior,
blank page generation, image drawing commands, and text rendering
directly from display list output without rasterizing bitmaps,
eliminating 1 obsolete golden PNG file.

Change-Id: I89fbaab1c7cc61f938cd7e02cd509ff9e5e4b821
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/160354
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Replace bitmap comparisons in FPDFAnnotEmbedderTest with
DisplayListRenderer assertions. This tests rollover appearances,
annotation flag modifications, link annotation creation, and focus
ring rendering directly against display list output instead of
rasterized bitmaps, eliminating 17 obsolete golden PNG files.

Change-Id: Icac252c643acb814e6e4c4b1223209c5c7fbb0ab
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/160355
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
This mirrors what ~CFXJSE_Engine() already did for every other bound
object. Also throw an error in V8FunctionCallback_Wrapper should the
binding somehow be gone.

Bug: 574302978
Change-Id: I9778cc265ab2bcb311842ae3c168bb8c842befc0
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/161150
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Compare pre-deletion page display lists with post-deletion page
display lists directly instead of rasterizing each page and comparing
against bitmap expectations, eliminating 10 obsolete golden PNG files.

Change-Id: I664a3d90b24a82efc2b566ec466868598ea206c5
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/160356
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Convert `kAltTableDate` and `kAltTableTime` to std::arrays. Then
accessing them is safe because operator[] is hardened to do bounds
checking.

Change-Id: I0a71c6d7b7f081665bd21306ac5f288085e99c2e
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/161190
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Andy Phan <andyphan@chromium.org>
In core/fxcodec/jpx/cjpx_decoder.cpp, sycc_to_rgb() used unsuffixed
double-precision literals (1.402, 0.344, 0.714, 1.772), forcing
int32-to-fp64 conversions and 64-bit floating-point arithmetic per
pixel across sycc420_to_rgb(), sycc422_to_rgb(), and sycc444_to_rgb().

Use single-precision float literals (1.402f, 0.344f, 0.714f, 1.772f)
so compilers use 32-bit float instructions and wider SIMD vectors.

Performance (2048x200 sYCC, Coral NPU v3 RVV 256 px):
CPU                          Before       After  Improvement
------------------------------------------------------------
Google Coral NPU v3 (RVV)   245494c      19952c       12.30x
NVIDIA Grace (Neoverse-V2) 499.5 us    310.9 us        1.61x
ARM Neoverse-N1 (NEON)     988.4 us    623.5 us        1.59x
AmpereOne (NEON)          1006.1 us    631.6 us        1.59x
ARM Neoverse-V2 (NEON)     988.0 us    623.5 us        1.58x
AMD Zen 3 (AVX2)           313.8 us    226.4 us        1.39x
Intel Ivy Bridge (SSE4.2)  722.5 us    519.2 us        1.39x
AMD Zen 5 (AVX512)         212.3 us    160.1 us        1.33x
AMD Zen 4 (AVX512)         253.8 us    190.5 us        1.33x
AMD Zen 2 (AVX2)           416.9 us    330.7 us        1.26x
AMD Zen 6 (AVX512)         230.1 us    183.7 us        1.25x
ARM Cortex-A53 (NEON)    51602.2 us  41322.9 us        1.25x
Intel Haswell (AVX2)       495.7 us    435.5 us        1.14x
Intel Ice Lake (AVX512)    361.5 us    339.4 us        1.07x
Intel Emerald Rapids       339.7 us    320.3 us        1.06x
Intel Sapphire Rapids      253.1 us    240.5 us        1.05x

Change-Id: Ia28af085c8c618fde7369f6203cf9b219f60a951
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/161270
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
@bobsingor
bobsingor merged commit 5f19d1f into embedpdf/main Oct 19, 2026
1 check passed
@bobsingor
bobsingor deleted the embedpdf/sync/9c866a447 branch October 19, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants