New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 890745 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 29
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Some downscaled images gain a 1px dark line at the bottom of the image

Reported by ind...@ardel.eu, Oct 1

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

Steps to reproduce the problem:
1. Use the image from the test case
2. Downscale (by specifying image dimensions) it by at least factor of four, to get uneven division of the image dimensions.

What is the expected behavior?
The image will be downscaled without noticeable artifacts.

What went wrong?
The image gains a dark line to the bottom of the downscaled image when the page loads. Zooming in or changing image dimensions on the fly gets rid of the line and makes the image look as intended.

Did this work before? Yes Last known version, 68.0.3440.0 however early 69 stable releases might be unaffected as well

Does this work in other browsers? Yes

Chrome version: 69.0.3497.100  Channel: stable
OS Version: OS X 10.14.0
Flash Version: 

Appears both on Windows and Mac.
 
image-downscaling-test-case.zip
24.4 KB Download
Screen Shot 2018-10-01 at 16.48.46.png
20.4 KB View Download
Correction, Chromium 69.0.3497.0 is affected as well.
Bisect results:

You are probably looking for a change made after 569023 (known good), but no later than 569049 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/85adaf2debc78cda97f3e694ed3faaa826250357..261b27df2fef8a0bcc00e63e6e85806ea3ac1b86

Labels: Needs-Bisect
Labels: Needs-Triage-M69
On Windows we managed to narrow this down a bit further with 569040 now being the first known bad. 

https://chromium.googlesource.com/chromium/src/+log/85adaf2debc78cda97f3e694ed3faaa826250357..100c6dbfb73b158fdc04daae4c5eafae7b4cedae
Cc: phanindra.mandapaka@chromium.org
Components: Internals>GPU>Image
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable Triaged-ET Target-70 Target-71 RegressedIn-69 M-70 FoundIn-71 FoundIn-70 Target-69 FoundIn-69 OS-Linux OS-Windows Pri-1
Owner: khushals...@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on the reported chrome 69.0.3497.100,latest canary 71.0.3568.0 using Windows 10, Ubuntu 14.04 and Mac 10.13.6. Below is the information for same. 

Bisect Info:
================
Good build: 69.0.3466.0
Bad build:  69.0.3468.0

CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/d81475b06bcebdbe4797d42ea2bf5cdca57b6e63..f9e3faeda46f0fc37bccfe697265200971596533

Suspect: https://chromium.googlesource.com/chromium/src/+/f9e3faeda46f0fc37bccfe697265200971596533

Reviewed-on: https://chromium-review.googlesource.com/1102025

Khushal:Please confirm the issue and help in re-assigning if it is not related to your change.Adding RBS label for M-70 feel free to change it if not required.

Thanks!
Cc: khushals...@chromium.org
Owner: scroggo@chromium.org
Looks like a JpegDecoder issue. That patch made it so when computing mip levels the calculation in cc matches what the Jpeg decoder supports when the size is odd so we could use decode to scale for these cases. If I keep the size calculation the same but disable using decode to scale (just comment out this code: https://cs.chromium.org/chromium/src/cc/paint/paint_image.cc?q=paint_image.cc&sq=package:chromium&g=0&l=160, so PaintImage::GetSupportedDecodeSize always returns the full image size), it works.

scroggo@, could you take a look?
 Issue 891316  has been merged into this issue.
Sorry for the intrusion. I'm cc'd on this bug and can confirm that the last row of the output of the JpegImageDecoder is a bunch of FF7F7F7F's which corresponds exactly to the line shown. If scroggo@ hasn't started working on this, I'll be glad to look into it since I've interacted with the decoder lately.
Cc: dcasta...@chromium.org
Some findings after discussing with dcastagna@:

This is a 4:4:4 image, so we expect to be encoding blocks of 8x8 pixels. However, 430 (the height of the image) is not a multiple of 8, so the last row of blocks goes out of the bounds of the image. This means that the encoder had to use some extra data to be able to create those blocks in the last row. In this case, the encoder seems to have used bogus data. When decoding into the original size, the decoder could simply decode those blocks as they are (resulting in a 600x432 image) and then crop 2 pixels from the bottom to get to the expected size (which avoids the bogus data). However, when downscaling to 1/4 the size, we get a downsampling artifact: some filtering must be occurring that causes an output pixel in the last row to be an "average" of the corresponding pixels from the original image, and this average includes the bogus data inserted by the encoder.

dcastagna@ had written a program to visualize all the MCUs in the luminance plane of the original image before cropping. It shows the extra data described above (see luminance.png).

If we print the blocks in the file, we can see that the next to the last row of blocks has a bunch of 8x8 blocks that look like:

 508    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0

Which is expected for a solid color. However the last row of blocks has a bunch of blocks that look like:

 253    0    0    0    0    0    0    0 
 327    0    0    0    0    0    0    0 
-236    0    0    0    0    0    0    0 
 115    0    0    0    0    0    0    0 
   0    0    0    0    0    0    0    0 
 -51    0    0    0    0    0    0    0 
  28    0    0    0    0    0    0    0 
 -13    0    0    0    0    0    0    0

Which indicates some bogus combination of horizontal patterns.

If you re-export this image to JPEG using GIMP, it will be displayed as expected. I suspect (but have no hard data) that instead of using garbage data, most encoders will repeat the last row of the image to make the height a multiple of the MCU size.

I guess one way to fix this behavior is by preventing the JpegImageDecoder from claiming that it can downscale images whose dimensions are not a multiple of the MCU size. Unfortunately, this penalizes images encoded the normal way (having libjpeg_turbo downscale apparently produces better performance).

On the other hand, the current behavior seems to be expected based on what the encoder produces.
luminance.png
22.7 KB View Download
Labels: -Target-69 -Target-70 -M-70 M-71
Friendly ping to get an update as stable release is coming soon and this bug is marked as RBS.

Thanks..!
Owner: andrescj@chromium.org
Status: Started (was: Assigned)
Gentle ping to get an update as stable release is coming soon and this bug is marked as RBS.

Thanks..!
The CL that fixes this is currently undergoing review: https://chromium-review.googlesource.com/c/chromium/src/+/1274845
Project Member

Comment 16 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b9172a61f4e507b2eef30b2af438d2c19c0992d

commit 8b9172a61f4e507b2eef30b2af438d2c19c0992d
Author: Andres Calderon Jaramillo <andrescj@chromium.org>
Date: Tue Oct 16 20:58:58 2018

Disallow libjpeg_turbo downscaling of images with non-whole MCUs.

This CL changes JpegImageDecoder so that it doesn't advertise that it
can support smaller decode sizes if the original size cannot fit a whole
number of MCUs in both dimensions. This is done to prevent artifacts
from showing up when downscaling certain images.

dark line at the bottom.

Test: opened the JPEG attached to the bug and verified that there is no
Bug:  890745 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I884edcefc4bbd0612e621109c24aedc09cad3452
Reviewed-on: https://chromium-review.googlesource.com/c/1274845
Reviewed-by: Leon Scroggins <scroggo@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600115}
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/css3/blending/background-blend-mode-different-image-formats-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/css3/blending/background-blend-mode-image-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize21-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize22-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-zoomed-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/images/jpeg-yuv-progressive-canvas-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/images/jpeg-yuv-progressive-image-expected.png
[add] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-420-height-not-whole-mcu.jpg
[add] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-420-width-not-whole-mcu.jpg
[add] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-422-whole-mcus.jpg
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/size/contain-and-cover-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/2b7fffb1d398c887e93e8b85a8a98c91744c2269/third_party/WebKit/LayoutTests/platform/win7/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/jpeg-yuv-progressive-canvas-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/virtual/gpu-rasterization/images/exif-orientation-height-image-document-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/WebKit/LayoutTests/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/blink/renderer/platform/graphics/bitmap_image_test.cc
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
[modify] https://crrev.com/8b9172a61f4e507b2eef30b2af438d2c19c0992d/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder_test.cc

Labels: Merge-Request-69 Merge-Request-71 Merge-Rejected-70
Status: Fixed (was: Started)
Labels: -Merge-Rejected-70 Merge-Request-70
Project Member

Comment 19 by sheriffbot@chromium.org, Oct 17

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: Request affecting a post-stable build
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: abdulsyed@chromium.org
Labels: -Merge-Request-69 -Merge-Review-70 Merge-Request-70
I'll reopen the bug for the merge request. I'm not sure if its too late for a M70 merge but we definitely need to merge this to 71.
Project Member

Comment 21 by sheriffbot@chromium.org, Oct 17

Labels: -Merge-Request-70 Merge-Review-70
This bug requires manual review: Request affecting a post-stable build
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Assigned (was: Fixed)
Labels: -Merge-Request-71 -Merge-Review-70 Merge-Rejected-70 Merge-Approved-71
M70 just went out to Stable. Let's target 71 for the fix, since this has been present in M69.

Approving merge for M71. Rejecting merge for M70.  
Pls merge your change to M71 branch 3578 ASAP so we can pick it up for next M71 Dev/Beta release. Thank you.
Project Member

Comment 25 by bugdroid1@chromium.org, Oct 17

Labels: -merge-approved-71 merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5cff05d06e05d4bf8df80c82f32facb52b14c6d5

commit 5cff05d06e05d4bf8df80c82f32facb52b14c6d5
Author: Andres Calderon Jaramillo <andrescj@chromium.org>
Date: Wed Oct 17 22:38:19 2018

Disallow libjpeg_turbo downscaling of images with non-whole MCUs.

This CL changes JpegImageDecoder so that it doesn't advertise that it
can support smaller decode sizes if the original size cannot fit a whole
number of MCUs in both dimensions. This is done to prevent artifacts
from showing up when downscaling certain images.

dark line at the bottom.

TBR=andrescj@chromium.org

(cherry picked from commit 8b9172a61f4e507b2eef30b2af438d2c19c0992d)

Test: opened the JPEG attached to the bug and verified that there is no
Bug:  890745 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I884edcefc4bbd0612e621109c24aedc09cad3452
Reviewed-on: https://chromium-review.googlesource.com/c/1274845
Reviewed-by: Leon Scroggins <scroggo@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600115}
Reviewed-on: https://chromium-review.googlesource.com/c/1287075
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#105}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/css3/blending/background-blend-mode-different-image-formats-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/css3/blending/background-blend-mode-image-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize21-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/backgroundSize22-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-zoomed-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/images/jpeg-yuv-progressive-canvas-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/images/jpeg-yuv-progressive-image-expected.png
[add] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-420-height-not-whole-mcu.jpg
[add] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-420-width-not-whole-mcu.jpg
[add] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/images/resources/icc-v2-gbr-422-whole-mcus.jpg
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/fast/backgrounds/size/contain-and-cover-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/mac-mac10.12/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/svg/custom/image-rescale-clip-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/svg/custom/image-rescale-scroll-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/bloomberg-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[delete] https://crrev.com/4008c4636794cf8c42cd0c99849914740129d38d/third_party/WebKit/LayoutTests/platform/win7/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/jpeg-yuv-progressive-canvas-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/virtual/gpu-rasterization/images/exif-orientation-height-image-document-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/WebKit/LayoutTests/virtual/gpu-rasterization/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/blink/renderer/platform/graphics/bitmap_image_test.cc
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
[modify] https://crrev.com/5cff05d06e05d4bf8df80c82f32facb52b14c6d5/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder_test.cc

Hello,

This hasn't fixed the issue reported in https://bugs.chromium.org/p/chromium/issues/detail?id=891316.
It looks like the issue in https://bugs.chromium.org/p/chromium/issues/detail?id=891316 is unrelated to the one here. I'll undup that bug and report my findings.
Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/5cff05d06e05d4bf8df80c82f32facb52b14c6d5

Commit: 5cff05d06e05d4bf8df80c82f32facb52b14c6d5
Author: andrescj@chromium.org
Commiter: andrescj@chromium.org
Date: 2018-10-17 22:38:19 +0000 UTC

Disallow libjpeg_turbo downscaling of images with non-whole MCUs.

This CL changes JpegImageDecoder so that it doesn't advertise that it
can support smaller decode sizes if the original size cannot fit a whole
number of MCUs in both dimensions. This is done to prevent artifacts
from showing up when downscaling certain images.

dark line at the bottom.

TBR=andrescj@chromium.org

(cherry picked from commit 8b9172a61f4e507b2eef30b2af438d2c19c0992d)

Test: opened the JPEG attached to the bug and verified that there is no
Bug:  890745 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I884edcefc4bbd0612e621109c24aedc09cad3452
Reviewed-on: https://chromium-review.googlesource.com/c/1274845
Reviewed-by: Leon Scroggins <scroggo@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600115}
Reviewed-on: https://chromium-review.googlesource.com/c/1287075
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#105}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
Project Member

Comment 29 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efa5d73bbd968d51eb5a28bbcfa0c8395ba65f57

commit efa5d73bbd968d51eb5a28bbcfa0c8395ba65f57
Author: Andres Calderon Jaramillo <andrescj@chromium.org>
Date: Tue Oct 23 16:58:56 2018

Blink: re-add test to check rounding match between cc and JPEG decoder.

This CL restores a test that checks that the size of a mip level
calculated by the cc matches exactly a size supported by the JPEG
decoder. This test was originally added in CL 1107049 but removed in CL
1274845 because it was failing after the bug fix addressed in that CL.

Here, we modify the original test to be able to exercise the path under
test by artificially limiting the maximum bytes allowed for decoding.

and made sure that the restored test failed.

Test: commented the relevant lines added in mipmap_util.cc in CL 1107049
Bug:  890745 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I8177e25365eeb91a9f4e9cf83a3a400eaa078622
Reviewed-on: https://chromium-review.googlesource.com/c/1286740
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601991}
[add] https://crrev.com/efa5d73bbd968d51eb5a28bbcfa0c8395ba65f57/third_party/WebKit/LayoutTests/images/resources/original-cat-420-629x473.jpg
[modify] https://crrev.com/efa5d73bbd968d51eb5a28bbcfa0c8395ba65f57/third_party/blink/renderer/platform/graphics/bitmap_image_test.cc

M71 Stable promotion is coming VERY soon. Your bug is labelled as Stable  ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Thank you.
M71 Stable promotion is coming VERY soon. Your bug is labelled as Stable  ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Thank you.
Labels: -ReleaseBlock-Stable
Status: Fixed (was: Assigned)

Sign in to add a comment