Open Bug 1850669 Opened 10 months ago Updated 5 months ago

Colour management stopped working when playing Youtube videos starting from version 115

Categories

(Core :: Audio/Video: Playback, defect)

Firefox 117
defect

Tracking

()

UNCONFIRMED

People

(Reporter: aledon2000, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0

Steps to reproduce:

Open a Youtube video inside Firefox with the browser versions 115, 116 and 117.

Actual results:

The video is oversaturated because it is not colour managed despite the about:config section being correctly set up.

Expected results:

The video should have been colour managed as it used to happen up till version 114 (which is the last version in which colour management works for videos being played inside the browser).

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(jmathies)

The default mode is 2, tagged only. Meaning we color correct if we know how to do so. Mode 1 is color correct everything. I'm guessing this is expected behavior. Andrew, would you agree?

https://searchfox.org/mozilla-central/rev/c56cc57d547a5febcc34160e581f9d58c0326aa7/gfx/thebes/gfxPlatform.h#81

Flags: needinfo?(jmathies) → needinfo?(aosmond)

We would like to color manage everything, including CSS colors which are in the sRGB space. Part of the problem is how to deal with the canvas problem efficiently. Bug 1618345 got us to the point we are at least consistent and enforce which colorspace is used in which context. We tried turning that on but had to revert in bug 1639574.

With that said, it sounds like this is a different problem. I know Kelsey has implemented more sophisticated color management on OSX/Windows using the OS specific compositing functionality to tag a particular layer as having a particular colorspace, and letting the platform deal with the color management problem. I'd say this work may be related. For example, bug 1799258 landed in Firefox 113. I suspect bug 1833030 might be related.

Given you can reproduce this, would you be willing to do a regression window for us to pinpoint which change happened in 115? These issues will often be tied to a particular video configuration and device colorspace. Thanks!
https://mozilla.github.io/mozregression/quickstart.html

Flags: needinfo?(aosmond) → needinfo?(aledon2000)

(In reply to Andrew Osmond [:aosmond] (he/him) from comment #4)

We would like to color manage everything, including CSS colors which are in the sRGB space. Part of the problem is how to deal with the canvas problem efficiently. Bug 1618345 got us to the point we are at least consistent and enforce which colorspace is used in which context. We tried turning that on but had to revert in bug 1639574.

With that said, it sounds like this is a different problem. I know Kelsey has implemented more sophisticated color management on OSX/Windows using the OS specific compositing functionality to tag a particular layer as having a particular colorspace, and letting the platform deal with the color management problem. I'd say this work may be related. For example, bug 1799258 landed in Firefox 113. I suspect bug 1833030 might be related.

Given you can reproduce this, would you be willing to do a regression window for us to pinpoint which change happened in 115? These issues will often be tied to a particular video configuration and device colorspace. Thanks!
https://mozilla.github.io/mozregression/quickstart.html

I'll try that, however I need to install 114 first then 115 since I clean installed Windows in the meantime.

Flags: needinfo?(aledon2000)

If you use mozregression, you don't need to reinstall 114:
https://mozilla.github.io/mozregression/quickstart.html

It will automatically download different builds of Firefox, in order to find a particular change or candidate set of changes that introduced the issue.

(In reply to Andrew Osmond [:aosmond] (he/him) from comment #6)

If you use mozregression, you don't need to reinstall 114:
https://mozilla.github.io/mozregression/quickstart.html

It will automatically download different builds of Firefox, in order to find a particular change or candidate set of changes that introduced the issue.

I have not had much time these days, I have installed mozregression however I do not know how should I use it, do you have a tutorial or something which can pinpoint me towards how I should I set it up and what I should look for in order to give you the information you need?
Sorry but I am not a programmer and my question may sound pretty stupid I know.

(In reply to Archer_Legend from comment #7)

I have not had much time these days, I have installed mozregression however I do not know how should I use it, do you have a tutorial or something which can pinpoint me towards how I should I set it up and what I should look for in order to give you the information you need?
Sorry but I am not a programmer and my question may sound pretty stupid I know.

No worries, I can appreciate your first mozregression may be a bit confusing. There is a video tutorial that you can watch:
https://www.youtube.com/watch?v=IwrWot3jVFI

A bit more step by step for this case:

  1. When you are presented the screen at https://youtu.be/IwrWot3jVFI?t=136, just hit next. We don't need any special configuration.
  2. When you are selecting the build range from https://youtu.be/IwrWot3jVFI?t=139, you should select "release" for both of the drop downs on the right, 114 for the last "working" build, 115 for the first "broken" build, and leave the checkbox unticked. Hit next.
  3. Now it should start loading builds and you should do your STR to see if color management is working or not. Once you finish, close the browser window it just opened. It will ask you whether or not the build was "good", "bad", or "other". In our case, "good" means color management worked as desired, and "bad" means color managed did not work as desired.

By the end of the process, it will give you a specific change or set of changes where we regressed. Paste that into the bug and you are done :). Hopefully that helps!

Flags: needinfo?(aledon2000)

(In reply to Archer_Legend from comment #7)

(In reply to Andrew Osmond [:aosmond] (he/him) from comment #6)

If you use mozregression, you don't need to reinstall 114:
https://mozilla.github.io/mozregression/quickstart.html

It will automatically download different builds of Firefox, in order to find a particular change or candidate set of changes that introduced the issue.

I have not had much time these days, I have installed mozregression however I do not know how should I use it, do you have a tutorial or something which can pinpoint me towards how I should I set it up and what I should look for in order to give you the information you need?
Sorry but I am not a programmer and my question may sound pretty stupid I know.

(In reply to Andrew Osmond [:aosmond] (he/him) from comment #8)

(In reply to Archer_Legend from comment #7)

I have not had much time these days, I have installed mozregression however I do not know how should I use it, do you have a tutorial or something which can pinpoint me towards how I should I set it up and what I should look for in order to give you the information you need?
Sorry but I am not a programmer and my question may sound pretty stupid I know.

No worries, I can appreciate your first mozregression may be a bit confusing. There is a video tutorial that you can watch:
https://www.youtube.com/watch?v=IwrWot3jVFI

A bit more step by step for this case:

  1. When you are presented the screen at https://youtu.be/IwrWot3jVFI?t=136, just hit next. We don't need any special configuration.
  2. When you are selecting the build range from https://youtu.be/IwrWot3jVFI?t=139, you should select "release" for both of the drop downs on the right, 114 for the last "working" build, 115 for the first "broken" build, and leave the checkbox unticked. Hit next.
  3. Now it should start loading builds and you should do your STR to see if color management is working or not. Once you finish, close the browser window it just opened. It will ask you whether or not the build was "good", "bad", or "other". In our case, "good" means color management worked as desired, and "bad" means color managed did not work as desired.

By the end of the process, it will give you a specific change or set of changes where we regressed. Paste that into the bug and you are done :). Hopefully that helps!

I have been playing around with Mozregression and I have a question, I keep being presented with Nightly builds, I guess it is fine.
My problem is that I need to have the gfx.colour management set to 1. I can of course set in about:config but for the change to take effect I need to restart the browser but if I do that I cannot open that regression version anymore, how can I do that?

Flags: needinfo?(aledon2000)

I have managed to apply the changes first by rebooting each build in troubleshoot mode (I am dumb) and then by inserting the argument in the configuration of the dissection.
I am having issues however, if for example I set run a single build (114) the Nightly version downloaded is branch 113, furthermore I have not been able to have videos colour managed in Youtube despite trying various releases which I know have working colour management.

See Also: → 1842755
Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: