New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 699243 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

media: Ensure that ColorSpace assigned to TextureDrawQuads be consistent

Project Member Reported by ccameron@chromium.org, Mar 7 2017

Issue description

Some 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.
 
This just means going through all of the places where we create cc::Resources in VideoResourceUpdater.
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Project Member

Comment 3 by sheriffbot@chromium.org, Apr 6 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
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
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment