macOS hw decoded frames bt709 frames have inconsistent transfer function as overlays |
|||||||||
Issue description
When we draw bt709 hardware decoded frames as overlays, the WindowServer interprets bt709 to mean gamma=1.961
When we draw the same frames using GL, we use the sRGB transfer function.
See discussion at [1], pasted below
// With respect to rendering BT709
// * SMPTE 1886 suggests that we should be using gamma 2.4.
// * Most displays actually use a gamma of 2.2, and most media playing
// software uses the sRGB transfer function.
// * User studies shows that users don't really care.
// * Apple's CoreVideo uses gamma=1.961.
// Bearing all of that in mind, use the same transfer funciton as sRGB,
// which will allow more optimization, and will more closely match other
// media players.
[1] https://cs.chromium.org/chromium/src/ui/gfx/color_space.cc?rcl=d493f21106da2a51325e1e9efc0e0f1215285974&l=761
This can result in flickering if we rapidly switch between GL and CA compositing -- see attached synthetic video which switches modes for 1 of every 5 frames.
,
Apr 25 2018
@Christopher Cameron: Could you please provide sample test file/URL which reproduces the issue with actual and excepted behaviour which helps us in verifying the fix from TE end. Thanks!
,
Apr 25 2018
Re #2, I've tested this manually, but it required a custom build to verify. I'll make sure that it is verified by the internal team that reported it.
,
Apr 25 2018
Verified on 68.0.3406.0. Thank you for the fix. M67 still has this bug, though.
,
Apr 26 2018
The bug is marked as P3 or Feature. It should not be merged as M67 is in beta. Please contact the approriate milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 27 2018
qaz@ may have a higher priority for this
,
Apr 27 2018
This represents a significant user experience degradation in a significant usecase (screencasting). Pumping priority and re-requesting.
,
Apr 27 2018
This bug requires manual review: M67 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 27 2018
Approving merge to M67 branch 3396 based on comments #4 and #7. Please merge ASAP.
,
Apr 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/71337d68efb202fc4239ee68994a0ed6dde58693 commit 71337d68efb202fc4239ee68994a0ed6dde58693 Author: Christopher Cameron <ccameron@chromium.org> Date: Fri Apr 27 18:41:02 2018 Use Apple interpretation of bt709 for hardware decoded video frames The Apple interpretation as gamma=1.961 will be used when the video frame is displayed as an overlay, so use that interpretation in the GL compositing path as well. TBR=ccameron@chromium.org (cherry picked from commit 8ff73532d13aeea8d125042e3ff44074fda7fadc) Bug: 836351 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I7aee20d08e8162dd2bbfdc20ba3235789a5a6216 Reviewed-on: https://chromium-review.googlesource.com/1026430 Reviewed-by: Fredrik Hubinette <hubbe@chromium.org> Commit-Queue: ccameron <ccameron@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#553277} Reviewed-on: https://chromium-review.googlesource.com/1033552 Reviewed-by: ccameron <ccameron@chromium.org> Cr-Commit-Position: refs/branch-heads/3396@{#356} Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428} [modify] https://crrev.com/71337d68efb202fc4239ee68994a0ed6dde58693/media/gpu/vt_video_decode_accelerator_mac.cc [modify] https://crrev.com/71337d68efb202fc4239ee68994a0ed6dde58693/ui/gfx/color_space.cc [modify] https://crrev.com/71337d68efb202fc4239ee68994a0ed6dde58693/ui/gfx/color_space.h [modify] https://crrev.com/71337d68efb202fc4239ee68994a0ed6dde58693/ui/gfx/color_space_win.cc
,
Apr 27 2018
Merged to 67
,
Apr 27 2018
Thanks. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by bugdroid1@chromium.org
, Apr 24 2018