Video Player adds +20% white

Hi Leapers,

I addressed this bug some time ago, but the problem currently is still there...
Will I be able to render black as black soon to use an additive shader to show
crazy hologram animations? :slight_smile:

Right now the video plane always looks like beeing lit by 20% - it seems to
overwrite the shader settings and always shows it's borders:

Hi @pepone, thanks for your post. I'm looking into this and will report back here asap.

@pepone I talked with our multimedia team and one possible explanation could be that the video has been compressed with limited color range [16..235] instead of full range [0..255] . This is a video encoder setting for the source video. In general it depends on the encoder you use to create the content.

The settings of the surface used for the player could also have an effect - for example if it's sRRGB vs. RGB - but we recommend checking the encoding of the video content first.

Please let me know if this helps.

Hi Leapers,

I tried different video codecs (VP8) but the problem still exists.
You guys can see it for yourself if you try to render a video to an additive shader -
and it's doesn't look like a 16...235 RGB problem, cause the brightness seems to be +20% or more.
I use a special sprite shader now to dim the brightness to 75% now and add 400% contrast -
then it looks similar to what it should naturally - but this not really shows the shine and glow I use
in the videos and would like to present in the holographic projections.

Using the shader from
https://forum.unity.com/threads/videoplayer-black-is-transparent-is-it-possible.515000
cuts the black parts - so black seems to be 100% black, but that shader isn't additive,
it's a cutout effect.

Hi @pepone, if you update to May's release: OS 1.3.0-dev-1 and Unity SDK 1.7.0, are you still experiencing this issue?

Hi kdowney,

yes. Using this video for a test:
https://www.pepworks.com/spin.mp4
and as you see the black is 100% black...

Just change the link pointing to the rabbit movie in your current examples and
set the video playback plate to an additive shader.
It always has about +20% white added.

Hi @pepone,

the video you shared has limited range (black is represented by luma = 16), even though black is rendered as black on a normal video player.

You could try converting it to full-range with something like the following:

ffmpeg -i spin.mp4 -vf scale=in_range=limited:out_range=full -color_range 2 -movflags +write_colr  spin-full-range.mp4

See the difference in the encoded frames (here I used YUView to analyze the content and zoomed in to a black area):

However depending on how you are rendering the content this might not be the only issue.

With the players I tried (not Unity tho) both the original file and the re-encoded one seem to have a transparent black.
What is the example player that you mention in your last message?