1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-26 10:08:06 +02:00

Improve handling of JPEG images with non-standard /Decode-entries (issue 16395)

The /Decode-implementation in the our JPEG decoder, i.e. `src/core/jpg.js`, seems to only handle *inverting* of images properly. To support arbitrary /Decode-entries correctly we'll always use the `PDFImage.decodeBuffer` method, even for "simple" JPEG images, which should be fine since non-default /Decode-entries aren't a very common occurrence.

*Please note:* This patch will lead to a little bit of movement in some existing test-cases, however it should be virtually imperceivable to the naked eye.
This commit is contained in:
Jonas Jenwald 2023-05-06 13:29:42 +02:00
parent 3aa96e071b
commit 722e5910e1
3 changed files with 16 additions and 1 deletions

View file

@ -746,7 +746,12 @@ class PDFImage {
}
return imgData;
}
if (this.image instanceof JpegStream && !this.smask && !this.mask) {
if (
this.image instanceof JpegStream &&
!this.smask &&
!this.mask &&
!this.needsDecode
) {
let imageLength = originalHeight * rowBytes;
if (isOffscreenCanvasSupported && !mustBeResized) {
let isHandled = false;