[Webkit-unassigned] [Bug 98098] New: Parse GIF images without full decoding

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 1 17:09:23 PDT 2012


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

           Summary: Parse GIF images without full decoding
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Images
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hclam at google.com
                CC: pkasting at google.com, jamesr at chromium.org,
                    nduca at chromium.org, nick at chromium.org


This is a mild blocker for deferred image decoding. There are several things that should be improved with GIF image decoder:

1. GIFImageDecoder::frameCount() shouldn't be a O(n^2) operation

frameCount() constructs a GIFImageReader every time there is new bytes coming this is a very inefficient implementation.

This is related to deferred image decoding because frameCount() is progressive and we don't know precisely the frame count from just the header. This means we will erroneously try to defer a GIF image and later find out it is animated.

2. GIFImageDecoder should allow random access to frame header

GIFImageDecoder decodes the image serially and doesn't allow peaking into next frame's header. This prohibits checking if the next frame is complete and query its duration. This is the reason why we don't defer image decoding on an animated GIF.

If we solve these two problems we can support deferred image decoding for *ALL* GIF images or not at all.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list