Primary eng (and PM) emails
Spec
WebP Container Spec is part of libwebp v0.3.0 and can be accessed from github:Summary
Animation support was added to WebP in v0.3.0. This patch adds the same support in Blink.
Note: We already support non-animated WebP images, so this is an incremental feature addition.
Usecases
Animated WebP is an excellent alternative to GIF images, and presents some important benefits over GIFs. For example,Compatibility Risk
OWP launch tracking bug?
(A normal bug)Row on feature dashboard?
Fits under an existing row:"WebP image format support"
Mozilla sounds rather negative in that bug.
Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh,
and animated WebP doesn't fare very well according to the criteria under the "compatibility risk" section of chromium.org/blink.
I don't buy the argument that we're just upgrading to a new version of the upstream library - we could add all sorts of crazy undesirable features using that logic.
Just a couple of thoughts:Mozilla sounds rather negative in that bug.Considering that they had previously rejected WebP support outright, their decision to re-open the evaluation is a strong positive signal. I'm hopeful that we now have strong evidence to satisfy their earlier concerns.
Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh,That's a reasonable concern but I'm not sure how Blink's freshness impacts WebP. Is there something specific you fear may break if we proceed now versus later?and animated WebP doesn't fare very well according to the criteria under the "compatibility risk" section of chromium.org/blink.I don't buy the argument that we're just upgrading to a new version of the upstream library - we could add all sorts of crazy undesirable features using that logic.In general I understand your concern; however I view this case as somewhat different. Animation has always been part of the WebP spec, just not implemented until now. In a sense we are just completing work that's been planned for some time, and the ship sailed once we agreed to include WebP in Chromium in the first place. Similarly we added incremental features to WebP in previous releases too, such as lossless and alpha support -- I don't view this case as any different.
On Thu, Apr 11, 2013 at 12:15 PM, Stephen Konig <sko...@chromium.org> wrote:
Just a couple of thoughts:Mozilla sounds rather negative in that bug.Considering that they had previously rejected WebP support outright, their decision to re-open the evaluation is a strong positive signal. I'm hopeful that we now have strong evidence to satisfy their earlier concerns.No, Mozilla has not yet made any decisions to support WebP.
Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh,That's a reasonable concern but I'm not sure how Blink's freshness impacts WebP. Is there something specific you fear may break if we proceed now versus later?and animated WebP doesn't fare very well according to the criteria under the "compatibility risk" section of chromium.org/blink.I don't buy the argument that we're just upgrading to a new version of the upstream library - we could add all sorts of crazy undesirable features using that logic.In general I understand your concern; however I view this case as somewhat different. Animation has always been part of the WebP spec, just not implemented until now. In a sense we are just completing work that's been planned for some time, and the ship sailed once we agreed to include WebP in Chromium in the first place. Similarly we added incremental features to WebP in previous releases too, such as lossless and alpha support -- I don't view this case as any different.Gecko has been shipping Animated PNG for quite some time now (since Firefox 3 IIRC) but that has not been received well by other vendors, and as such Animated PNG is not an interoperable feature right now. There's nothing very special about Animated WebP here, I think that deserves to be considered a web facing new feature.
Just a couple of thoughts:Mozilla sounds rather negative in that bug.Considering that they had previously rejected WebP support outright, their decision to re-open the evaluation is a strong positive signal. I'm hopeful that we now have strong evidence to satisfy their earlier concerns.Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh,That's a reasonable concern but I'm not sure how Blink's freshness impacts WebP. Is there something specific you fear may break if we proceed now versus later?
On Thursday, April 11, 2013 1:11:45 PM UTC-7, Ehsan Akhgari wrote:On Thu, Apr 11, 2013 at 12:15 PM, Stephen Konig <sko...@chromium.org> wrote:
Just a couple of thoughts:Mozilla sounds rather negative in that bug.Considering that they had previously rejected WebP support outright, their decision to re-open the evaluation is a strong positive signal. I'm hopeful that we now have strong evidence to satisfy their earlier concerns.No, Mozilla has not yet made any decisions to support WebP.I didn't say that they had; I said they'd made a decision to re-open consideration of WebP support.
Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh,That's a reasonable concern but I'm not sure how Blink's freshness impacts WebP. Is there something specific you fear may break if we proceed now versus later?and animated WebP doesn't fare very well according to the criteria under the "compatibility risk" section of chromium.org/blink.I don't buy the argument that we're just upgrading to a new version of the upstream library - we could add all sorts of crazy undesirable features using that logic.In general I understand your concern; however I view this case as somewhat different. Animation has always been part of the WebP spec, just not implemented until now. In a sense we are just completing work that's been planned for some time, and the ship sailed once we agreed to include WebP in Chromium in the first place. Similarly we added incremental features to WebP in previous releases too, such as lossless and alpha support -- I don't view this case as any different.Gecko has been shipping Animated PNG for quite some time now (since Firefox 3 IIRC) but that has not been received well by other vendors, and as such Animated PNG is not an interoperable feature right now. There's nothing very special about Animated WebP here, I think that deserves to be considered a web facing new feature.
I'm not sure how that's relevant. Even if we maintained the status quo with respect to browser WebP support, adding animated WebP features wouldn't change anything with respect to WebP's interoperability. Presumably if and when other browser vendors add WebP support, they'll do so based off the 0.3.0 version that supports animation.
Are Animated WebP images backward compatible?Will older browsers just show the first frame, or will older browsers not be able to read the image?
Stephen Konig | | Product Management, Chrome | | sko...@google.com | | 843-327-6289 |
Gecko has been shipping Animated PNG for quite some time now (since Firefox 3 IIRC) but that has not been received well by other vendors, and as such Animated PNG is not an interoperable feature right now. There's nothing very special about Animated WebP here, I think that deserves to be considered a web facing new feature.
Right, and I was trying to say that it should not be counted as a strong positive signal (or a negative signal for that matter.) Nobody at Mozilla has made a decision about WebP support to the best of my knowledge.
Simply because an implementation uses that version of the library doesn't mean that they will support Animated WebP. Shipping this in one engine would probably mean that if another engine adopts WebP in the future but not Animated WebP, then Animated WebP will not be interoperable (assuming that my understanding that Animated WebP is backwards compatible with WebP is correct.)
I'd much rather we support APNG. Adding WebP support doesn't get web interop at all since Gecko doesn't even support the basic format. Adding APNG support would be immediately useful since it's already supported in another browser.
My earlier question was not answered. Since this is a new feature it needs to work well with the general direction of Blink rendering is going (i.e. impl-side painting and deferred image decoding). We certainly don't want to regress single frame WebP. It's not yet clear to me whether this feature will affect deferred image decoding for webp or not.
I'd much rather we support APNG. Adding WebP support doesn't get web interop at all since Gecko doesn't even support the basic format. Adding APNG support would be immediately useful since it's already supported in another browser.Adding animated WebP also now seems almost a slight to the other vendors seeing as we're adding extensions to a format no one else has yet to implement (sadly Presto is dead).
Can we wait until Mozilla or MS agrees to support this format?
But given that we are already shipping WebP, I see no reason why we
shouldn't support this newer version of WebP which includes animation.
The correct response to this is to separately re-raise the APNG issue and argue that we similarly ought to take APNG, and we have been guilty of faulty reasoning in the past for not doing so.
On Thu, Apr 11, 2013 at 3:04 PM, Elliott Sprehn <esp...@chromium.org> wrote:
I'd much rather we support APNG. Adding WebP support doesn't get web interop at all since Gecko doesn't even support the basic format. Adding APNG support would be immediately useful since it's already supported in another browser.Adding animated WebP also now seems almost a slight to the other vendors seeing as we're adding extensions to a format no one else has yet to implement (sadly Presto is dead).
This thread isn't about APNG; if you'd like to propose that Blink support it, feel free to create your own proposal. But I would note that I can apply your argument in reverse, even more powerfully: Adding WebP support elsewhere would be immediately useful since it's already supported in other browsers (two, in fact), and whose proven benefits that far exceed the just the ability to now have animated PNGs. As for Presto, it may be dead but Opera support for WebP will remain thanks to Blink.
Can we wait until Mozilla or MS agrees to support this format?Again, I don't see how this is relevant. If we were discussing whether to introduce WebP support, I could see your point; but we're talking about supporting additional features to a format that's already supported. Adding this now does nothing to change the calculus on the part of other browser vendors on whether to support WebP, nor does their support or lack thereof really inform a question as to whether we should support the latest version of the decoder.
once an engine decides that they want to support WebP, then may not necessarily decide to implement Animated WebP, in which case Animated WebP will end up in the same position as APNG did on the web, and I think that's what the guidelines for shipping new features in Blink were designed to prevent.
Not to say that this is what will happen, but I can definitely see Mozilla implementing WebP but not Animated WebP (if we decide to support WebP at all) in case there is not enough demand for Animated WebP from developers, or at least resist it at first to keep the code simpler etc. Or just simply because of lack of resources to implement support for Animated WebP.
I don't think this represents a feature addition that needs discussion from the "web platform compatibility" side. This is an implementation detail of a feature we're already shipping. Deciding to support WebP, when we weren't already shipping it, would merit such discussion; adding the decoder-framework-side of support for WebP subfeatures like color correction or animation does not.
I agree that the architecture for impl-side painting is moving to cover multi-frame images such as animated GIFs and it can possibly apply to animated WebP as well. But what is our end goal of animated WebP in Blink? There is a significant difference in engineering effort between making it work and making it working beautifully.
I don't think we have discussed the technical merits of animated WebP over other formats in this thread, notably WebM. As I understand WebP is based on-I-Frames of WebM.
Given how bad browsers today handle animated GIFs today
Will older browsers just show the first frame, or will older browsers not be able to read the image at all?
Android 4 - 4.2 (and Opera 11.x - 12.x, I guess) are not going away soon (platform updates are blocked by manufacturer or carriers in too many cases), so there is a compatibility risk with shipping this feature, encouraging websites to use animated WebP when those browser would just show broken images. The server should do much more than it needs if it had to browser sniff support for animated WebP since it must look into the image headers or something to know it is in fact an animated one.
Primary eng (and PM) emails
Spec
WebP Container Spec is part of libwebp v0.3.0 and can be accessed from github:
https://gerrit.chromium.org/gerrit/gitweb?p=webm/libwebp.git;a=blob;f=doc/webp-container-spec.txt;h=f3d753108a939e5c6a5d386018ef99305ee75770;hb=b66caee410bdc0cad5b1de2719098058a64658feSummary
Animation support was added to WebP in v0.3.0. This patch adds the same support in Blink.
Note: We already support non-animated WebP images, so this is an incremental feature addition.
Usecases
Animated WebP is an excellent alternative to GIF images, and presents some important benefits over GIFs. For example,
Adding support to animated WebPs in Chrome would make it possible for web developers to use it widely.
- Each frame in an animated WebP can be lossy or lossless as per need.
- It has a true alpha channel (8-bit) as compared to a binary (1-bit) alpha in GIFs.
Compatibility Risk
- Opera supports non-animated WebP images (libwebp v0.2.0) as of now: http://www.opera.com/docs/specs/presto2.12/#m212-395
- Firefox is considering WebP support as well: https://bugzilla.mozilla.org/show_bug.cgi?id=856375
OWP launch tracking bug?
(A normal bug)https://code.google.com/p/chromium/issues/detail?id=229641
Row on feature dashboard?
Fits under an existing row:"WebP image format support"
Alpha asked [4] why we shouldn't just use <video> for animations. This question was discussed some on the chromium-dev thread about APNG [7]. Unfortunately, when transcoding animated GIFs into WebP, we can't change the embedding context to <video>, we're stuck with <img>, which means we need to support animation in WebP in order to transcode animated GIFs.
On Fri, Apr 12, 2013 at 12:27 PM, Adam Barth <aba...@chromium.org> wrote:
Alpha asked [4] why we shouldn't just use <video> for animations. This question was discussed some on the chromium-dev thread about APNG [7]. Unfortunately, when transcoding animated GIFs into WebP, we can't change the embedding context to <video>, we're stuck with <img>, which means we need to support animation in WebP in order to transcode animated GIFs.Looking at that chromium-dev thread, Scott Hess proposed that <img> tags could be extended to support video resources, and no one followed up on idea. Is that ruled out for some other reasons?
E.g., why not just allow <img> tags to play WebM videos (perhaps without sound or something)? What fundamentally distinguishes an audio-free WebM video from an animated GIF or animated SVG?
If <img> supported WebM, does animated WebP still serve a purpose?
On Mon, Apr 15, 2013 at 2:31 PM, Matthew Dempsky <mdem...@google.com> wrote:
E.g., why not just allow <img> tags to play WebM videos (perhaps without sound or something)? What fundamentally distinguishes an audio-free WebM video from an animated GIF or animated SVG?
I'm not sure there's anything fundamentally different. It might be interesting to read the standards discussions around the introduction of the <video> element to try to understand why the working group chose to introduce a new element rather than re-use <img>.
If <img> supported WebM, does animated WebP still serve a purpose?They're difficult to compare because the standardization and implementation timescales are very different. Animated WebP is just an iteration on the WebP image format, whereas supporting video in <img> is a change to HTML. That's not to say we can't change HTML, just that it requires broader discussion and consensus.
Most image formats are specified somewhat informally on web sites [11, 12], the exception being PNG which is a W3C Recommendation [13].
I don't think we should hold implementation of this back.
Just my $0.02, but I humbly suggest that we postpone this a while, since Blink is so fresh, and animated WebP doesn't fare very well according to the criteria under the "compatibility risk" section of chromium.org/blink.
I don't buy the argument that we're just upgrading to a new version of the upstream library - we could add all sorts of crazy undesirable features using that logic.
- Dominic
If <img> supported WebM, does animated WebP still serve a purpose?They're difficult to compare because the standardization and implementation timescales are very different. Animated WebP is just an iteration on the WebP image format, whereas supporting video in <img> is a change to HTML. That's not to say we can't change HTML, just that it requires broader discussion and consensus.It still doesn't seem to me that supporting WebM in <img> requires a change to the HTML spec. But like you said, it's probably still something worth discussing with other vendors. Not much point in implementing it if everyone else opposes.