[PNG] FF Image rendering mismatch
Reported by
qingzhao...@gmail.com,
Jun 4 2018
|
||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36 Steps to reproduce the problem: 1. make a adobe png 2. make this png as ui frame image 3. at some computers, will decode fail randomly. What is the expected behavior? What went wrong? PNG will decode fail. This is caused by Change-Id: I14a39940ae113b5a67ba70a99c3741e289b1796b Did this work before? N/A Chrome version: 67.0.3396.62 Channel: stable OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version:
,
Jun 4 2018
Reporter@ Thanks for the issue. Request you to provide a sample file to reproduce this issue which will help in further triaging. Thanks..
,
Jun 6 2018
@susan.boorgula I found this issue is related with ssse3 (128 bit number operation) in some computers. May be is bugs about cpu?? Attanchment file is png image that decode failed.
,
Jun 6 2018
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 6 2018
@susan.boorgula Use gfx png decoder, will reproduce this issue in some computers. computer cpu is i5 6600
,
Jun 11 2018
qingzhao2008@ Thanks for the update. As this issue is related to libpng with ssse3 (128 bit number operation), this is out of scope of triaging at TE end. Hence adding 'TE-NeedsTriageHelp' label and requesting someone from 'Internals>Core' team to look into this issue and help in further triaging. Thanks..
,
Aug 29
Adding a few folks who recently worked on libpng and zlib.
,
Sep 13
Sorry for the delay, was busy with other stuff. I can start looking into it and will report back soon.
,
Sep 13
,
Sep 13
@qingzhao2008: you mentioned that this was observed on some computers (but not others). Could you provide further information? Another question: how did you track it down to a specific change id? In a test I disabled that patch and observed no changes in the current behavior.
,
Sep 26
An update: disabling (https://gist.github.com/Adenilson/4846c10e404d8a006f3c860944e2d08f) *all* the zlib optimizations (Adler-32, crc32, inflate_fast) the rendering results are the same, please see attached screenshots. That being said, I can confirm a difference in rendering results when compared to FF. It seems that upstream FF is using libpng 1.6.35 (https://github.com/mozilla/gecko-dev/blob/master/media/libpng/png.h#L4) while we are using 1.6.34 (https://cs.chromium.org/chromium/src/third_party/libpng/README?l=1). A look into upstream libpng points to some possibly related fixes in their changelog (https://github.com/glennrp/libpng/blob/libpng16/CHANGES#L6042), with 1.6.35 released last July (3 months ago). I also noticed that eog (Eye of Gnome) will fail to render the test image correctly, my workstation's libpng version is 1.6.34 (please see attached image). Since Ubuntu's libpng/zlib lacks any of our optimizations, I guess is safe to assume that the optimizations are not causing this rendering mismatch. Maybe is a good time to upgrade our libpng?. Adding a libpng OWNER in the issue.
,
Sep 26
,
Sep 26
,
Sep 26
,
Sep 26
The image is transparent on the left so maybe Eye of Gnome is drawing a different background (a checkerboard board but the looks). Anyho, I attached an sRGB IEC1966-2.1 color profile (standard sRGB) to the test image (attached) ...
,
Sep 26
... and then created a test program to draw the image on a <canvas> element and extract and checksum the decoded pixels via getImageData() (test.html attached). Note that since the <canvas> element is an sRGB surface, per spec, by default, no color correction occurs in browsers that detect that the input image is also sRGB and hence skip the application of color correction in this case (Chrome, Safari).
,
Sep 26
On a MacBook Pro 13" which does have SSSE3, my results in different browsers are:
,
Sep 26
I verified that the SSSE3 optimization was being used in #17 in Chrome. Firefox (at the bottom) does not spot that the image and the <canvas> have the same color profile, and applies an sRGB -> sRGB color transform, which adds some distortion. Chrome and Safari (top two) agree on the image checksum. I also disabled the SSSE3 optimization (per #11) and repeated the test, and the output is identical to the result shown in #17. Some computers might have broken SSSE3 but I not seeing any evidence of that here, other than in the issue title). I'm not seeing broken or incompatible rendering of the given PNG image.
,
Sep 27
@Noel: Really interesting. So I guess we can mark it as not-a-bug/won't fix?
,
Sep 27
,
Sep 27
> So I guess we can mark it as not-a-bug/won't fix? Heading that way: we are really in "NeedFeedback" given your questions in #10. We have a test case now (#16) and it would be very exciting if it could be used to provide evidence of CPU with broken SSSE3 implementations.
,
Nov 23
*** UI Mass triage *** adding labels for expert review. |
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by gov...@chromium.org
, Jun 4 2018Labels: Needs-Triage-M67