Page MenuHome

Using Filmic view transform causes VSE to be lower contrast than it should be
Closed, InvalidPublic

Description

Blender Version
Broken: 2.80

Short description of error
When using the filmic view transform, and setting the sequencer transform to srgb, linear, or filmic log, the image output by the vse will be significantly lower contrast than it should be. Similar issues apply when using filmic log view transform.
In fact, there appears to be no combination of settings that will allow the use of filmic or filmic log and allowing the sequencer to use filmic color transforms while still outputting at full brightness.
While it is possible to make individual strips display properly by setting each one to 'raw' color space, strips such as the color effect strip do not have this option, and will always be much dimmer than they should be.

Exact steps for others to reproduce the error
Switch the scene view transform to Filmic.
Add a color strip to the sequencer.
Set the color strip to full white color.


Here is the solid white strip in filmic mode, notice the waveform shows the brightness at about 75%.


here's what it looks like in standard mode, brightness is at 100%.


And a .blend file for easy testing

Details

Type
Bug

Event Timeline

Brecht Van Lommel (brecht) claimed this task.

This is just how the Filmic transform works.

In order to be able to display HDR values above 1.0, anything that is 1.0 must necessarily be lowered to make room for the HDR values.

Filmic is not usually the right view transform for video editing.

Filmic is useful for video editing for the same reason filmic is useful in compositing.
Displaying hdr values over 1 is not the only way filmic works, the way colors are mixed and the way they clip is also greatly affected (this is why filmic in the vse is useful).
But, the sequencer does not need to have values over 1 displayed, and the real bug is there is currently is NO WAY to get those values TO display (at least for color strips).

Also, between setting the sequencer color transform, and the strip color transform, things are very confusing as to what is actually happening under the hood...

in addition, as i stated, if you set everything to 'filmic log' and strips to 'filmic log' or 'raw', it all behaves correctly, EXCEPT for color strips, which cannot have their color space set.
...also having to set every imported vse strip to a different color transform is not ideal...

@Brecht Van Lommel (brecht) I would agree with @hudson barkley (snuq), that you should be able to transform (all) strips from user defined colorspace to sequencer colorspace, apply look and then to display space.

These are my best knowledge assumptions, so correct me if I am wrong:

@hudson barkley (snuq)
SRGB to linear transformation can not result in color value greater than 1
I think what you are looking for here is reverse filmic transformation, which I think technically can be achieved using modifiers(or crazy blending?). I doubt it's streamlined though.

Displaying hdr values over 1 is not the only way filmic works, the way colors are mixed and the way they clip is also greatly affected (this is why filmic in the vse is useful).

Filmic look is applied on top of mixed colors. It doesnt affect how mixing is done.

But, the sequencer does not need to have values over 1 displayed, and the real bug is there is currently is NO WAY to get those values TO display (at least for color strips).

you can set convert to float, then set multiply to like 16 or what was the correct value.

Also, between setting the sequencer color transform, and the strip color transform, things are very confusing as to what is actually happening under the hood...

https://docs.blender.org/manual/en/latest/render/post_process/color_management.html
Not sure if this is clear enough. I read it and I am still not absolutely certain. But I guess this is due to not being used to think in those terms.

in addition, as i stated, if you set everything to 'filmic log' and strips to 'filmic log' or 'raw', it all behaves correctly

I am really not sure if this is even remotely "correct" way to do this.

Brecht Van Lommel (brecht) reopened this task as Open.EditedMay 30 2019, 2:55 PM

The reason the sequencer color space was added at some point, was to allow using scene linear colors while still giving backwards compatibility for sRGB. Colors in .blend files are also generally assumed to be stored and edited in scene linear color space, only on file save/load and display do we convert to and from color spaces. So normally a color value of 1.0 means 1.0 in scene linear, and tools around that like copy/paste and color pickers assume it too. Supporting video editing in some arbitrary color space could be useful, but personally would consider improvements here outside of the scope of the bug tracker.

@Richard Antalik (ISS) is maintaining the VSE though, so I'll leave the decision to him if he wants to treat this as a bug.

Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Waiting for Developer to Reproduce.

The reason the sequencer color space was added at some point, was to allow using scene linear colors while still giving backwards compatibility for sRGB

The main question is, if VSE should be used in production(mainly by animation studio) for color grading and similar tasks. I think VSE is quite effective tool for such tasks.
Review of stack shouldn't take too much time IMO.

The reason the sequencer color space was added at some point, was to allow using scene linear colors while still giving backwards compatibility for sRGB

The main question is, if VSE should be used in production(mainly by animation studio) for color grading and similar tasks. I think VSE is quite effective tool for such tasks.
Review of stack shouldn't take too much time IMO.

Having recently graded a movie using blender, there are two reasons I used the compositor instead of the vse: higher than 8bit color mixing, and less issues with color space. If those problems were solved, the vse would be a very effective tool for most grading and color management tasks, and I would love to use it for such.

Richard Antalik (ISS) closed this task as Invalid.Jun 21 2019, 6:10 AM

I see several good reasons, why you would want to use scene linear colorspace in sequencer. Apart from working with scene strips, and HDR footage, overall integration with "proper" workflows and pipelines would be nice to have or being capable of.

I will close this task as invalid and write some TODO, outlining what has to be done / how things should be.