logo Sign In

age

User Group
Members
Join date
24-Jan-2015
Last activity
11-Sep-2019
Posts
60

Post History

Post
#1147281
Topic
Info: Fixing a new hope bluray encode levels and single pass regrade
Time

The a new hope’s bluray has an encode issue and it shows clipped highlights like in this shot

Ideally we should convert it to rgb without expand the luma levels

And then make a color correction

I’ve tried to leave the overall brightness of the bluray untouched and remove a little of the blue/magenta color cast

Here the file .cube to download : https://filebin.net/d0rzizw0qww0w484

some before/after comparison : http://www.framecompare.com/image-compare/screenshotcomparison/0FJNNN8U

and more screenshots : https://imgur.com/a/KCb55


I’ve used Vapoursynth

code

import vapoursynth as vs

core = vs.get_core()
c = core.ffms2.Source(source = "D:/.../00301.m2ts")

c=core.std.CropRel(clip=c, top=132, bottom=132)
c=core.resize.Bicubic(clip=c, format=vs.YUV420P16, filter_param_a=0.0,filter_param_b=0.75, range_in_s="full", 
range_s="full", chromaloc_in_s="center", dither_type="none")

c=core.resize.Bicubic(clip=c, format=vs.YUV444P16,filter_param_a=0.0,filter_param_b=0.75, range_in_s="full", 
range_s="full", chromaloc_in_s="center", dither_type="none")

c=core.resize.Lanczos(clip=c, format=vs.RGB48, matrix_in_s="709", filter_param_a=4, range_in_s="full", 
chromaloc_in_s="center",dither_type="none")
c=core.timecube.Cube(clip=c, cube="C:/.../blurayswfix.cube")


c=core.resize.Bicubic(clip=c, format=vs.YUV444P16, matrix_s="709", filter_param_a=0, filter_param_b=0.75, 
range_in_s="full",range_s="full", chromaloc_in_s="center",dither_type="none")

c=core.resize.Bicubic(clip=c, format=vs.YUV420P16, filter_param_a=0.0, filter_param_b=0.50, range_in_s="full", 
range_s="full", chromaloc_in_s="center",dither_type="none")
c=core.resize.Bicubic(clip=c, format=vs.YUV420P16, range_in_s="full", range_s="limited", 
chromaloc_in_s="center",dither_type="none")
c=core.resize.Bicubic(clip=c, format=vs.YUV420P8, range_in_s="limited", range_s="limited", 
chromaloc_in_s="center",dither_type="ordered")


c.set_output()
Post
#1079787
Topic
Star Wars 1977 Technicolor IB print color references (matched to print)
Time

DrDre said:

I’ve altered the settings of the software that operates the scanner. I’ve scanned three frames, and they look absolutely fantastic. Tomorrow I will finish the rest, and I will post them. 😃

Can’t wait 😃
I think scanning a film is not simply and there’s not a one click solution, so take your time DrDre and thanks for the hard work!!

Post
#1079767
Topic
Star Wars 1977 Technicolor IB print color references (matched to print)
Time

DrDre said:

age said:

I think every digital camera, scanner and even the hdr cameras works in the same way.
An untouched raw file from camera or scanner is in linear light…

I will try setting the gamma gradation to 2.2, 2.4, and 2.6 in Silverfast (the default value is 2.0, which is probably what I’ve used, apparently the appropriate value for HD is 2.4, and 2.6 for digital cinema), but having examined the frames themselves, I think your correction is a little strong on contrast and saturation. The contrast and saturation closely match the Senator photos, but photographs of a projection enhance contrast, so I’m pretty confident contrast and saturation should be reduced. To be continued…

Ok thanks and yes it’s true, i have enhanced a bit too much brightness and contrast.

Post
#1079753
Topic
Star Wars 1977 Technicolor IB print color references (matched to print)
Time

I think every digital camera, scanner and even the hdr cameras works in the same way.
An untouched raw file from camera or scanner is in linear light:
1)this is what camera see, in this stage is applied the corrections from the it8 target.
after scanning something you can output a linear file untouched

2)then this file need a gamma correction,yor scan DrDre is in this stage and probably silverfast makes his own adjustement for maximize the information in both shadow and highlight,this stage is good only for archival purpose and it is not really rapresentative of the original photography.
for example in silverfast you can choose the gamma correction (they call it gamma gradation) to use, you should insert the value of 2.20 because is the one used by all monitors and more “human friendly” :

3)finally the file need some contrast adjustment, every jpeg from camera or every raw editing software or scanning software apply a “base curve”, and this is what the human eyes see more or less, i know this is the more creative part of the process but is necessary

from your first scan:-)





Post
#1039594
Topic
Neverar's A New Hope Technicolor Recreation <strong>(Final Version Released!)</strong>
Time

Indeed the blurays appear to be encoded in 16-255 range

I think the best way to fix this is to reduce both luma and chroma levels,because if we consider just the luma the result is slighty oversatured.
For Luma is simple but when i try to reduce the levels of chroma there’s some colors shift (with the levels tools).
To avoid this last issue i’ve opted for the expression tool in avisynth.
For luma the formula is : [" x 0.92156862745 * “]
For uv channels the formula is: [” x 128 - 0.94117647058 * 128 +"]

At this point the picture is even darker,but we can apply an arbitrary brightness enhancement and i guess now we can push the color correction and the result will be quite natural

Post
#1039341
Topic
Neverar's A New Hope Technicolor Recreation <strong>(Final Version Released!)</strong>
Time

Williarob said:

So the blu-rays were encoded RGB Full, rather than RGB limited?

As I understand it, TVs use a video range from 16-235. It considers levels below 16 to be black, and information above 235 is white. A calibrated TV will never display anything below 16 as anything other than black. Most will also treat everything over 235 as white since it should not exist in video content.

PCs are different and use a range from 0-255. There is no data below 0 or above 255 with an 8-bit video signal as there are only 256 possible values. In short, this is much simpler to understand as the TV concepts of Blacker-than-Black and Whiter-than-White do not exist.

Therefore to make the conversion between RGB Full (“PC Mode”) and RGB Limited (“TV Mode”) all you need is the following levels adjustment in AVISynth

// PC to TV ; scales a [0,255] clip to [16,235]:
Levels(0, 1, 255, 16, 235, coring=false)

Not exactly 😃,the encoded materials use a video range of 16-235 for luma and 16-240 for chroma.
If the input is yuv limited range every tv before the yuv-rgb conversion does a levels expansion from 16-235 to 0-255 for luma and 16-240 to 0-255 for chroma,so the tv can display true white and true black.
From what i understand the blurays were encoded in non-standard yuv limited range,so instead of 16-235 we have for example 16-242.The good is that the highlights aren’t really clipped.