media: Ensure that ColorSpace assigned to TextureDrawQuads be consistent |
|||
Issue descriptionSome video frames are passed as RGBA textures to the compositor. RGBA conversion is done beforehand in various ways (for 422 textures, this can be done in hardware at texture fetch time, for 420 textures, this has to be done manually in the command buffer bowels). Despite the fact that YUV to RGB conversion has been applied, these textures are still tagged with a YUV color space. This can result in us applying YUV to RGB conversion twice (as in issue 699123 and its sub-bugs). This bug is to audit all of the places where TextureMailboxes are populated by media code, and ensure that the ColorSpace attached to the mailbox be the ColorSpace that we will get from texturing out of the resource we create from the TextureMailbox.
,
Mar 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a5328db5be00d556034c92224f05904e863b410 commit 5a5328db5be00d556034c92224f05904e863b410 Author: ccameron <ccameron@chromium.org> Date: Tue Mar 14 11:45:44 2017 color: Ensure that VideoResourceUpdater give consistent colors Update VideoResourceUpdater to use the right color spaces. In particular, some of the resources from VideoResourceUpdater will have YUV to RGB conversion done ahead of time, so ensure that we don't specify that these resources are in YUV color space (or they will be converted twice, and look wrong). Add lots of DCHECKs to ensure that only YUV draw quads are using YUV resources. In order to use DCHECK_EQ with color spaces, add some helper functions to print color spaces as vaguely-JSON-like strings. While we're adding a function to split off the range-and-YUV part of a color space, use that function to clean up some of the confusing behavior of ColorSpace::GetICCProfile. BUG=699243 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2738713003 Cr-Commit-Position: refs/heads/master@{#456673} [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/cc/output/gl_renderer.cc [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/cc/resources/video_resource_updater.cc [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/cc/resources/video_resource_updater.h [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/ui/gfx/color_space.cc [modify] https://crrev.com/5a5328db5be00d556034c92224f05904e863b410/ui/gfx/color_space.h
,
Apr 6 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 3
This bug has an owner, thus, it's been triaged. Changing status to "assigned". |
|||
►
Sign in to add a comment |
|||
Comment 1 by ccameron@chromium.org
, Mar 7 2017