Issue 294 in webp: Webpdemux ignores user-defined chunks in webp images using VP8 format.

12 views
Skip to first unread message

jessy.gosselin.grant@gmail.com via Monorail

unread,
Mar 24, 2016, 5:31:48 PM3/24/16
to webp-d...@webmproject.org
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 294 by jessy.go...@gmail.com: Webpdemux ignores user-defined chunks in webp images using VP8 format.
https://bugs.chromium.org/p/webp/issues/detail?id=294

What steps will reproduce the problem?
1. Call WebPEncodeRGBA with a fully opaque (all alpha pixels at 0xFF) image as input.
2. Call WebPMuxSetImage with the encoded image, and WebPMuxSetChunk with any user-defined chunk fourcc and data.
3. Call WebPMuxAssemble to obtain the final webp file data.
4. Call WebPDemux with the final webp data and try retrieving the user-defined chunk with WebPDemuxGetChunk.
5. WebPDemuxGetChunk returns 0, indicating no chunk is present.

What is the expected output? What do you see instead?

The user-defined chunk should still be accessible in demux, regardless of whether it is in VP8 or VP8X format. The user data is written in the file generated by mux, but demux does not process it. Looking at the code, it only does so when the webp file is in the VP8X format.

What version of the product are you using? On what operating system?

libwebp 0.4.3 (x86 and x64) on Windows 8. A quick look on the master branch indicates the code should still currently behave the same.

Please provide any additional information below.



--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

jzern@google.com via Monorail

unread,
May 24, 2016, 8:55:46 PM5/24/16
to webp-d...@webmproject.org
Updates:
Cc: urv...@google.com

Comment #1 on issue 294 by jz...@google.com: Webpdemux ignores user-defined chunks in webp images using VP8 format.
https://bugs.chromium.org/p/webp/issues/detail?id=294#c1

That was by design based on the container specification [1]. One could argue the muxer should force VP8X in this case.

[1] https://developers.google.com/speed/webp/docs/riff_container

urvang@google.com via Monorail

unread,
Jun 3, 2016, 5:55:10 PM6/3/16
to webp-d...@webmproject.org
Updates:
Status: Started

Comment #2 on issue 294 by urv...@google.com: Webpdemux ignores user-defined chunks in webp images using VP8 format.
https://bugs.chromium.org/p/webp/issues/detail?id=294#c2

This is a valid request.

The spec mentions 3 possible formats:
- Simple File Format (Lossy),
- Simple File Format (Lossless), and
- Extended file format

And only extended file format can have unknown chunks.
So, I think it makes sense to output VP8X chunk (with no flags on) in the muxer when some unknown chunks are present.

bugdroid1@chromium.org via Monorail

unread,
Jun 7, 2016, 1:28:15 AM6/7/16
to webp-d...@webmproject.org

Comment #3 on issue 294 by bugdro...@chromium.org: Webpdemux ignores user-defined chunks in webp images using VP8 format.
https://bugs.chromium.org/p/webp/issues/detail?id=294#c3

The following revision refers to this bug:
https://chromium.googlesource.com/webm/libwebp/+/5f8f998d0ec9f2d4f790926ea7f676fdf423c1a7

commit 5f8f998d0ec9f2d4f790926ea7f676fdf423c1a7
Author: Urvang Joshi
Date: Mon Jun 06 16:18:46 2016

mux: Presence of unknown chunks should trigger VP8X chunk output.

As per the spec
(https://developers.google.com/speed/webp/docs/riff_container), only the
extended file format can contain an unknown chunk. So, when assembling a
WebP file with muxer, whenever there is an unknown chunk present, we
should create a VP8X chunk (even though none of the features are
present).

BUG=webp:294

Change-Id: I5da52d311e1853d40063d0f5026100d4325effaa

[modify] https://crrev.com/5f8f998d0ec9f2d4f790926ea7f676fdf423c1a7/src/mux/muxedit.c

urvang@google.com via Monorail

unread,
Jun 7, 2016, 1:10:07 PM6/7/16
to webp-d...@webmproject.org
Updates:
Status: Fixed

Comment #4 on issue 294 by urv...@google.com: Webpdemux ignores user-defined chunks in webp images using VP8 format.
https://bugs.chromium.org/p/webp/issues/detail?id=294#c4

Can you try the HEAD revision of master branch now to see if works for you?
Reply all
Reply to author
Forward
0 new messages