ImageCapture.grabFrame()/<video>.captureStream() returns colour channels swapped on Android |
|||||
Issue description- Open https://simpl.info/ic in Canary on Android and start either camera. I'm using a N5X. - click on grabFrame() - check the resulting picture: looks blueish, because the UV channels are swapped in Android (thinks is I420, when it is YV12 or viceversa).
,
Jul 13 2016
,
Jul 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fce8860058fcbfab7c49d674d578dea1c180ac95 commit fce8860058fcbfab7c49d674d578dea1c180ac95 Author: mcasas <mcasas@chromium.org> Date: Thu Jul 14 21:18:41 2016 ImageCapture.grabFrame()/<video>.captureStream(), use ABGR pixel format for Android This CL corrects the code to use the pixel format: must use ABGR instead of the incorrect ARGB, for the JS APIs mentioned in the title and for Android platform. BUG= 627983 Verified on N7.2, N6. TEST= two parts, e.g. on a N5X or N6 phone: 1) Navigate to [1], open either camera, click on grabFrame() and verify correct colours 2) Navigate to [2], click on "Start <video> playback", then on "Create Stream..." and then on "Play back..." and verify correct colours. [1] https://simpl.info/ic [2] https://rawgit.com/Miguelao/demos/master/videoelementcapture.html Review-Url: https://codereview.chromium.org/2150453003 Cr-Commit-Position: refs/heads/master@{#405572} [modify] https://crrev.com/fce8860058fcbfab7c49d674d578dea1c180ac95/content/renderer/media/html_video_element_capturer_source.cc [modify] https://crrev.com/fce8860058fcbfab7c49d674d578dea1c180ac95/content/renderer/media/image_capture_frame_grabber.cc
,
Jul 15 2016
Fixed. To be Verified in tomorrow's Canary.
,
Jul 21 2016
verified with the demo in #2 for Android Canary 54.0.2802.0
,
Jul 21 2016
Also verified with https://simpl.info/ic
,
Nov 23 2016
,
Jan 23 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by mcasas@chromium.org
, Jul 13 2016Components: Blink>MediaStream>CaptureFromElement
Summary: ImageCapture.grabFrame()/<video>.captureStream() returns colour channels swapped on Android (was: ImageCapture grabFrame() on Android returns colour channels swapped)
739 KB
739 KB View Download