Using Filmic view transform causes VSE to be lower contrast than it should be #65271

Closed
opened 2019-05-29 13:39:50 +02:00 by hudson barkley · 14 comments

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.

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

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

filmic sequencer test.blend
And a .blend file for easy testing

**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. ![Clipboard01.jpg](https://archive.blender.org/developer/F7077979/Clipboard01.jpg) Here is the solid white strip in filmic mode, notice the waveform shows the brightness at about 75%. ![Clipboard02.jpg](https://archive.blender.org/developer/F7078026/Clipboard02.jpg) here's what it looks like in standard mode, brightness is at 100%. [filmic sequencer test.blend](https://archive.blender.org/developer/F7078072/filmic_sequencer_test.blend) And a .blend file for easy testing
Author

Added subscriber: @snuq

Added subscriber: @snuq

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brecht Van Lommel self-assigned this 2019-05-29 13:47:54 +02:00

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.

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.
Author

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...

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...
Author

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...

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...

Added subscriber: @iss

Added subscriber: @iss

@brecht I would agree with @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:

@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 I would agree with @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: @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.

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

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.

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

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. @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 removed their assignment 2019-05-31 19:02:40 +02:00
Richard Antalik was assigned by Brecht Van Lommel 2019-05-31 19:02:40 +02:00

In #65271#691416, @brecht wrote:
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.

> In #65271#691416, @brecht wrote: > 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.
Author

In #65271#698263, @iss wrote:

In #65271#691416, @brecht wrote:
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.

> In #65271#698263, @iss wrote: >> In #65271#691416, @brecht wrote: >> 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.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

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.

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.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#65271
No description provided.