[Webkit-unassigned] [Bug 212649] New: Multiple SVG Filters Unexpectedly lightens image using linearRGB

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 2 11:59:27 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=212649

            Bug ID: 212649
           Summary: Multiple SVG Filters Unexpectedly lightens image using
                    linearRGB
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: guowei_yang at apple.com
                CC: zimmermann at kde.org

Created attachment 400848

  --> https://bugs.webkit.org/attachment.cgi?id=400848&action=review

List of html files that showcase the bug

feComponentTransfer, feComposite, feConvolveMatrix, feGaussianBlur, feMorphology, feSpecularLighting, feDiffuseLighting unexpectedly brightens result images when color-interpolation-filters has value of linearRGB.

For context: 
All SVG filters have an attribute called color-interpolation-filters, which indicates the color space that the filter is operating in, and it has a default value of linearRGB (except feImage, which only operates in sRGB). On CG platforms, color conversion is expected to be handled by Core Graphics automatically when drawing into image buffers. However there is an exception for the the list of filters above, which don't call CG's draw method to ImageBuffers. Instead, they get the ImageData array from the input ImageBuffer and operates on the raw data stored in the data array. The caveat here is that there is no color space conversion from input color space to current operating color space. 

For example, if we have a filter chain like this:
feImage(sRGB) -> feGaussianBlur(linearRGB) -> output(device RGB), current code won't perform a conversion from input sRGB to gaussianblur's linearRGB. This is the reason why those images looks "brightened"

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200602/40e29ab2/attachment.htm>


More information about the webkit-unassigned mailing list