Issue metadata
Sign in to add a comment
|
VP9 video preview with alpha displaying incorrectly
Reported by
m...@launchinteractive.com.au,
Jan 4
|
||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Steps to reproduce the problem: visit https://codepen.io/anon/pen/mapvyE click inline button to toggle resize What is the expected behavior? preview is supposed to be a 50% white box on pink What went wrong? white box is displayed grey when video is display block Did this work before? Yes 71.0.3578.98 Does this work in other browsers? Yes Chrome version: 73.0.3660.0 Channel: canary OS Version: OS X 10.14.2 Flash Version: This was discovered here: https://bugs.chromium.org/p/chromium/issues/detail?id=905249#c30
,
Jan 4
,
Jan 7
Seems like it's working fine on Linux 72.0.3626.28 -- don't have a Mac today but can try on Wednesday. Can you try going to chrome://flags and disabling accelerated canvas?
,
Jan 7
Also try running with --disable-gpu-memory-buffer-video-frames
,
Jan 7
disabling accelerated canvas doesn't help but adding the --disable-gpu-memory-buffer-video-frames argument does. Doing that also fixes https://bugs.chromium.org/p/chromium/issues/detail?id=905249
,
Jan 7
Seems something specific to Mac, enabling GPU memory buffers on Linux doesn't show the same issue. I wonder if alpha resources aren't being created correctly. Will test on Wednesday when I have my mac if ccameron doesn't beat me to it.
,
Jan 9
The NextAction date has arrived: 2019-01-09
,
Jan 9
Yeah specific to Mac.
,
Jan 10
https://chromium-review.googlesource.com/c/chromium/src/+/1404579 fixes this, but not sure it's correct / won't break other platforms. Will test.
,
Jan 15
Mac fix breaks Linux. For some reason the Mac GpuMemoryBuffer's are expecting the alpha channel _without_ pre-attenuatation/pre-multiply while Linux wants the opposite. +dcastagna dcastagna/ccameron: Any idea why Mac and Linux might be functioning differently in regard to their alpha channels? Is it because we're directly using an IOSurface backed GMB on Mac that may not go through our compositor?
,
Jan 16
(6 days ago)
We usually use premul in the compositor, https://chromium-review.googlesource.com/c/chromium/src/+/1404579 will likely break other platforms. Scanning out from a buffer with non premul doesn't work, we noticed that when a webgl canvas outputs non premultiplied colors. Dale, can you try forcing GL composition on Mac and verify if we have the same issue?
,
Jan 16
(6 days ago)
--disable-gpu fixes the issue as well. I think GL composition is enabled by default, so not sure what you wanted me to test otherwise.
,
Jan 17
(5 days ago)
What I meant by forcing GL composition is to avoid deferring compositing of IOSurface to Core Animation and always use GLRenderer to flatten quads. const char kDisableMacOverlays[] = "disable-mac-overlays"; is the flag I'd try. If with that flag we observe the same issue, at least we know that GL Compositing and IOSurface overlay display path behave the same way.
,
Jan 17
(5 days ago)
Okay, will try when I have my mac next.
,
Jan 17
(5 days ago)
FTR I just compiled Chromium ToT on my MBP 10.14.2, and run with and without the command-line flag --disable-mac-overlays, the site https://simpl.info/videoalpha/, which has two VP8 videos with transparency, and in both cases the reproduction was visually correct: the transparent background of the two floating videos was fully transparent etc. The video [1] is indeed recognised as VP9 with transparency, in all cases decoded by VpxVideoDecoder, all producing PIXEL_FORMAT_I420A. More importantly, I cannot repro the bug description, i.e. using my Chromium ToT build and the codepen, I'm always seeing the box as grey in the original video, both when inline and when not. ToT is r623723 for me now. [1] https://launchinteractive.com.au/chrome/whiteSquare.webm
,
Jan 17
(5 days ago)
Definitely still pink on Linux ToT, so something Mac specific must be happening.
,
Jan 18
(4 days ago)
The NextAction date has arrived: 2019-01-18
,
Jan 18
(4 days ago)
--disable-gmb still fixes the issue. --disable-mac-overlays doesn't help. I can confirm that I always see grey now on ToT even without capturing. @mcasas are you on Mojave? I just upgraded on Wednesday, otherwise maybe something changed in ToT.
,
Today
(5 hours ago)
@dcastagna, ccameron: Any further tips? |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by mcasas@chromium.org
, Jan 4Status: Untriaged (was: Unconfirmed)