pdf.js/src/core
Jonas Jenwald c5700211d6 Adjust decodeACSuccessive in src/core/jpg.js to improve the rendering quality of (progressive) JPEG images
I've been looking into the remaining point in 8637 about blurry images, to see if we could perhaps improve the rendering quality slightly there. After quite a bit of debugging, it seems that the issue is limited to certain progressive JPEG images.

As mentioned previously, I've got no detailed knowledge of the JPEG format, but this patch does seem to improve things quite a bit for the images in question.
Squinting at https://searchfox.org/mozilla-central/rev/6c33dde6ca02b389c52e8db3d22494df8b916f33/media/libjpeg/jdphuff.c#492-639, it seems reasonable that we should take the sign of the data into account. Furthermore, looking at the specification in https://www.w3.org/Graphics/JPEG/itu-t81.pdf#page=118, the "F.2.4.3 Decoding the binary decision sequence for non-zero DC differences and AC coefficients" section even contains a description of this (even though I cannot claim to really understand the details).
2017-12-30 15:24:09 +01:00
..
annotation.js Button widget annotations: implement support for pushbuttons 2017-11-26 14:09:48 +01:00
arithmetic_decoder.js Fix inconsistent spacing and trailing commas in objects in src/core/ files, so we can enable the comma-dangle and object-curly-spacing ESLint rules later on 2017-06-02 11:20:19 +02:00
bidi.js Fix inconsistent spacing and trailing commas in objects in src/core/ files, so we can enable the comma-dangle and object-curly-spacing ESLint rules later on 2017-06-02 11:20:19 +02:00
ccitt_stream.js Extract the actual decoding in CCITTFaxStream into a new CCITTFaxDecoder "class", which the new CCITTFaxStream depends on 2017-10-24 16:03:08 +02:00
ccitt.js Extract the actual decoding in CCITTFaxStream into a new CCITTFaxDecoder "class", which the new CCITTFaxStream depends on 2017-10-24 16:03:08 +02:00
cff_parser.js Sanitize name index in compile phase of CFF. 2017-10-23 17:13:49 -07:00
charsets.js Convert the files in the /src/core folder to ES6 modules 2017-05-30 22:06:21 +02:00
chunked_stream.js Replace the isInt helper function with the native Number.isInteger function 2017-09-01 16:52:50 +02:00
cmap.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
colorspace.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
crypto.js Rearrange a few declarations so that they precede their uses. 2017-11-03 10:14:32 +00:00
document.js Moves OperatorList and QueueOptimizer into separate file. 2017-10-30 13:29:58 -05:00
encodings.js Implement unit tests for the encodings and fix missing items 2017-12-24 18:14:40 +01:00
evaluator.js Merge pull request #9192 from Snuffleupagus/issue-8229 2017-11-30 10:27:32 +01:00
font_renderer.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
fonts.js Merge pull request #9272 from nveenjain/fix/8846 2017-12-15 22:11:32 +01:00
function.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
glyphlist.js Convert the files in the /src/core folder to ES6 modules 2017-05-30 22:06:21 +02:00
image.js Avoid truncating JPEG images with DeviceGray ColourSpaces when using the src/core/jpg.js built-in decoder 2017-12-29 18:44:07 +01:00
jbig2_stream.js Fix the interface of JpegStream/JpxStream/Jbig2Stream to agree with the other DecodeStreams 2017-11-11 11:22:16 +01:00
jbig2.js Fix JBIG2 symbol offsets in text regions 2017-09-19 23:43:23 +03:00
jpeg_stream.js Attempt to remove the special JpegStream.getBytes method and utilize the regular DecodeStream one instead 2017-12-10 13:31:08 +01:00
jpg.js Adjust decodeACSuccessive in src/core/jpg.js to improve the rendering quality of (progressive) JPEG images 2017-12-30 15:24:09 +01:00
jpx_stream.js Fix the interface of JpegStream/JpxStream/Jbig2Stream to agree with the other DecodeStreams 2017-11-11 11:22:16 +01:00
jpx.js Remove manual clamping code in src/core/jpx.js 2017-08-16 13:24:28 +02:00
metrics.js Convert the files in the /src/core folder to ES6 modules 2017-05-30 22:06:21 +02:00
murmurhash3.js [api-major] Remove the TypedArray polyfills 2017-11-01 10:31:28 +01:00
obj.js Handle PDF files with missing 'endobj' operators, by searching for the "obj" string rather than "endobj" in XRef.indexObjects (issue 9105) 2017-12-18 13:17:45 +01:00
operator_list.js For backwards compatibility: use addOp amount instead of queue size. 2017-11-09 18:46:48 -06:00
parser.js Move JpegStream and JpxStream to their own files 2017-11-11 11:22:16 +01:00
pattern.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
pdf_manager.js Replaced occurence of throw new Error with unreachable where applicable 2017-12-14 12:58:50 +05:30
primitives.js Replace the isArray helper function with the native Array.isArray function 2017-09-01 20:27:13 +02:00
ps_parser.js Removes error() 2017-07-07 09:40:24 -05:00
standard_fonts.js Add a fallback for non-embedded LucidaSans-Demi fonts (issue 9291) 2017-12-24 17:36:58 +01:00
stream.js Move JpegStream and JpxStream to their own files 2017-11-11 11:22:16 +01:00
type1_parser.js Remove a few useless assignments. 2017-11-03 11:36:48 +00:00
unicode.js For non-embedded fonts, map softhyphen (0x00AD) to regular hyphen (0x002D) (issue 9084) 2017-10-31 13:26:04 +01:00
worker.js [api-major] Remove the unused encrypted property from the pdfInfo object sent from the worker via the GetDoc message 2017-12-21 13:10:23 +01:00