VPX decode with PowerVR GPU
Reported by
julian....@mediatek.com,
Mar 2 2018
|
|||||||||
Issue descriptionTHIS TEMPLATE IS FOR FILING BUGS ON THE ANDROID SYSTEM WEBVIEW. GENERAL WEB BUGS SHOULD BE FILED USING A DIFFERENT TEMPLATE! Device name: Mediatek MT6739 based platform Android version: Android 8.1 WebView version: 64.0.3282.137 Application: webviewshell.apk Application version: N/A URLs (if applicable): https://m.youtube.com/watch?v=K7C6BH8zx0s We've encountered an issue of video rendering in webview. (Chrome is fine) After m63, the video inside webview will be green-ish with all videos under 240p on m.youtube.com (please refer to the attached image) a) It is found that for video under 240p are VPX, since our platform doesn't support it, chromium uses the it's built-in VPX codec. b) This issue only happens in the platform using PowerVR GPU, Mali GPU platforms is fine. c) This issue only happens in webview (can be reproduced with webviewshell.apk) , Chrome is fine. d) This issue only happens after WebView m63, m61 is fine. We think this is an issue of webview. Our guess is the chromium VPX codec rendered to buffer using a different color space (RGB, maybe) without considering the color space of other layers in webview. GPU driver information: vendor: Imagination Technologies renderer: PowerVR Rogue 8XE driver_version: 1.8ED4490469 Expected result: Video rendering should be normal Actual result: Video becomes green-ish, please refer to the attached image.
,
Mar 4 2018
+Toby because he most recently touched that line.
,
Mar 8 2018
+hubbe for video color stuff
,
Mar 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/acfaf2092828a876a509906653960b13866d4df1 commit acfaf2092828a876a509906653960b13866d4df1 Author: Tobias Sargeant <tobiasjs@google.com> Date: Fri Mar 09 23:35:07 2018 If avoiding one component textures, do not attempt to apply color space. PowerVR drives that have problems with one component textures being bount to an EGLImage require YUV->RGB conversion to be done early in software. In that case it's not correct to pass the color space of the video frame on to the compositor, because it doesn't reflect the color space of the converted frame. Instead, just reset it to the identity color space. Bug: 818072 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: I44751300a134d29240217cf80c6a5c663227745d Reviewed-on: https://chromium-review.googlesource.com/955592 Reviewed-by: ccameron <ccameron@chromium.org> Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Cr-Commit-Position: refs/heads/master@{#542277} [modify] https://crrev.com/acfaf2092828a876a509906653960b13866d4df1/cc/resources/video_resource_updater.cc
,
Mar 10 2018
,
Mar 10 2018
Testing note: Before the fix, this reproduces in the webview shell with the URL in the original report, but only on devices with a PowerVR GPU. Example devices: ja3g Samsung Galaxy S4 Exynyos X3_HK LeEco LE1S Z00A Asus Zenfone 2 jalteskt Samsung Galaxy S4 Exynyos jaltektt Samsung Galaxy S4 Exynyos htc_e56ml_dtul HTC One X9
,
Mar 10 2018
,
Mar 10 2018
,
Mar 11 2018
Your change meets the bar and is auto-approved for M66. Please go ahead and merge the CL to branch 3359 manually. Please contact milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5846356bf853633a51489fb68dd5dd7cacb6d81d commit 5846356bf853633a51489fb68dd5dd7cacb6d81d Author: Tobias Sargeant <tobiasjs@google.com> Date: Mon Mar 12 12:42:06 2018 If avoiding one component textures, do not attempt to apply color space. PowerVR drives that have problems with one component textures being bount to an EGLImage require YUV->RGB conversion to be done early in software. In that case it's not correct to pass the color space of the video frame on to the compositor, because it doesn't reflect the color space of the converted frame. Instead, just reset it to the identity color space. TBR=tobiasjs@google.com (cherry picked from commit acfaf2092828a876a509906653960b13866d4df1) Bug: 818072 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: I44751300a134d29240217cf80c6a5c663227745d Reviewed-on: https://chromium-review.googlesource.com/955592 Reviewed-by: ccameron <ccameron@chromium.org> Commit-Queue: Tobias Sargeant <tobiasjs@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#542277} Reviewed-on: https://chromium-review.googlesource.com/958423 Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org> Cr-Commit-Position: refs/branch-heads/3359@{#157} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/5846356bf853633a51489fb68dd5dd7cacb6d81d/cc/resources/video_resource_updater.cc
,
Mar 13 2018
Verified on Asus Zenfone 2 / LRX21V vs 66.0.3359.30 |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by willy...@mediatek.com
, Mar 3 2018