
- Time
- Post link
Here's what you get when you re-map the blue channel so that 255 goes to 200 linearly:
original DVD:
Here's what you get when you re-map the blue channel so that 255 goes to 200 linearly:
original DVD:
Much too yellow
Avisynth code:
luma=last
ConvertToRGB()
r=ShowRed()
g=ShowGreen()
b=ShowBlue().Levels(0, 1, 255, 0, 200)
MergeRGB(r,g,b)
ConvertToYV12()
MergeChroma(luma,last)
Shouldn't those converts be using matrix="rec709"?
DE
Darth Editous said:
Shouldn't those converts be using matrix="rec709"?
DE
Yes; they should, assuming HD output.
I actually quite like the yellow look of those screenshots, but only as a new look.
No offense, but that setting not only makes the movie too much yellow, it also makes it even more dark.
And Chewtobacca: On avisynth wiki it says:
The second one (Rec.709) should be used when your source is DVD or HDTV:
ConvertToRGB(clip, matrix="rec709")
So it's not about output but input it seems.
You_Too said:
And Chewtobacca: On avisynth wiki it says:
The second one (Rec.709) should be used when your source is DVD or HDTV:
<pre>ConvertToRGB(clip, matrix="rec709")</pre>
So it's not about output but input it seems.
Thanks for the feedback guys!
Thanks DE, I forgot that avisynth defaults to rec. 601. Stupid!
Here's what you get by setting the blue output from 255 to 235, and overall gamma of 1.2
You_Too said:So it's not about output but input it seems.
Whenever you convert from RGB to YUV and back again, you have specify the matrix. ConverttoYV12() is wrong if you intend to output HD.
Looks much better g-force !
Chewtobacca said:
You_Too said:So it's not about output but input it seems.
Whenever you convert from RGB to YUV and back again, you have specify the matrix. ConverttoYV12() is wrong if you intend to output HD.
pittrek said:
Looks much better g-force !
Thanks man. Still blinded by the slightly over-yellow but otherwise stellar colors of msycamore's capture.
Now to figure out why the reds are now magenta on the DVD/BRs...
Thought that has been running through MY mind on the topic - what if someone were to simply generate histograms from Adywan's CC'd HD broadcasts and then applied the histograms to the extracted BD files? Much like the original ideas was with Paul and correcting the DVDs based on the GOUT. It seems like that would be a better place to start than trying to find a global correction, no? Only question I would have is of a technical nature - can you demux, CC, and recode without so much loss of data and compression that it ends up being better than the original CC'd HD broadcasts?
The images seem too dark, though.
And in the time of greatest despair, there shall come a savior, and he shall be known as the Son of the Suns.
LexX said:
The images seem too dark, though.
Agreed.
Funcha said:
Hi g-force. Do you have additional tweaks still planned or is that your "ideal" setting listed above for Star Wars? Thanks for all your work!
Sorry, been out of the loop a bit, I didn't even see this post.
Some major progress was made, it seems I was mistaken thinking things were too blue. They are actually too violet. Here is my latest script, it's not 100% yet, but probably as close as I'm gonna get without some feedback:
o4=last
mt_lutxy(o4,o4.Tweak(hue=-90,coring=false,starthue=315,endhue=135),"y",y=2,u=3,v=2)
mt_merge(o4,last,o4,luma=true,y=2,u=3,v=3)
Tweak(hue=-45)
SmoothCurve("0-0;128-158;255-255","0-0;20-0;128-128;255-235","0-62;50-67;100-102;128-125;255-252",dither=100,show=false)
Tweak(hue=50,sat=1.3)
You will need LaTo's plugin Smoothadjust, which you can get here:
http://forum.doom9.org/showthread.php?t=154971
Anyone willing to try it out and post some screencaps?
-G
Funcha said:
Finally got a chance to take a bit of a more detailed look at some scenes. Haven't rendered a final version yet. The blast flashes and explosions on the Blockade Runner look excellent. Love the saturated rich colors but not sure if they're maybe slightly too saturated. Flesh tones seem to shift slightly toward the sunburned in a few spots (blockade runner troopers). Not sure if that’s just something that would need to be tweaked by scene. The only other thing that seems to stick out to me is there appears to be ever so slight of a green tint to the movie now. Some shadow details appear to almost have a greenish cast, at least to my eyes and 3P0 at times almost appears to have a slightly greenish gold tint. Not sure if that was maybe your intent as I’m hearing supposedly some prints had this tint from others on this forum. Of course, this is very subjective so you may be seeing something entirely different. Thanks for your efforts!
Thanks for the feedback Funcha! I've had some time to work on this some more recently, and I am torn about the darks being green. It was originally a result of removing the overall magenta/violet tint, and I kinda like how it matches some 70mm prints, but maybe not a good representation of what the colors were intended to look like.
I'm also considering scaling back on the magenta-to-orange a bit, as some things that should be magenta are now just red. I hope to come to a compromise so that the blockade trooper explosions still look good though.
Could you give me a good example of the "sunburned" shift, so I know where to look to check that I don't go too far with anything?
-G
Okay, made some changes. I decreased the overall saturation boost as you suggested Funcha. Here's my most recent color tweaks:
dv1=mt_lutxy(last,last.Tweak(hue=-90,coring=false,starthue=315,endhue=135),"y",y=2,u=3,v=2)
dv2=last.Tweak(hue=-45,coring=false).SmoothCurve("0-0;255-255","0-0;255-255","0-0;128-128;255-128",dither=100,show=false,interp=0).Tweak(hue=45,coring=false)
dv3=mt_merge(dv2,dv1,last,luma=true,y=2,u=3,v=3)
mt_average(last,dv3,y=2,u=3,v=3)
mt_merge(last,last.Tweak(sat=1.5,coring=false),last,luma=true,y=3,u=3,v=3)
Tweak(hue=-45,coring=false)
SmoothCurve("0-0;128-158;255-255","0-0;128-128;255-235","0-20;128-125;255-255",dither=100,show=false)
Tweak(hue=50,sat=1.1,coring=false)
Feedback is much appreciated.
-G
skyjedi2005 said:
In Lowry's defense the final color grading was done before it was sent to them and fucked up by Lucas. They were only given a 1080P master to work with its hard to recover detail that is not there, especially when you dvnr the hell out of a 1080 scan. That was not even state of the art in 2004, despite the bs claims of the Lucas folks during the hype of the BD release.
Try that would have been state of the art circa 2001.
And would have been excusable for the dvd format because the sins of the dvnr would not show as bad. To use that same master for the blu rays and not do a new 4k or 8k scan is laughable to say the least.
I couldn't agree more. Not that I personally have much if any love for the SE anyway. You look at all the previous releases - Laserdisc after Laserdisc it was a new Telecine all the time! Then, because Lucas is an arse, he refused to release the 1997 SE on DVD. In 2000, I think, he released the Special Editions on VHS and Laserdisc! How pathetic you don't even release it on the current technological medium. The DVD didn't come until 2004. The bluray didn't come until 2011. That's SEVEN full years later. Lucas has managed to make more changes to the thing, and only he can explain why, and yet he didn't do a new transfer. As for 8k scan, I think 4k would be well enough for these films, after all 1080p does reproduce "nearly all" of the resolution.
Noise Reduction is fine when done properly. Lucas on the other hand always wants far more than should be applied, he basically doesn't want to see evidence of his movie being shot on 35mm, he wants to be able to pretend it was shot in digital.
[ Scanning stuff since 2015 ]
g-force said:
Here's what you get by setting the blue output from 255 to 235, and overall gamma of 1.2
SmoothCurve( "0-0;128-158;255-255", "0-0;20-0;128-128;255-235", "0-62;50-67;100-102;128-125;255-252", dither=100, show=false )
You will need LaTo's plugin Smoothadjust, which you can get here:
I believe there are 2 misguided approaches here. First is spectrum clipping , which should never be used (while data is present) because it removes that precious information. Always slide the spectrum to where you want it, for example by adjusting gamma (but gamma itself is too specialized for this application). Second is correction should be accomplished in RGB only. Other approaches (like with SmoothCurve() using YUY2, YV12, et al, colorspaces) are not intuitive and make unintended alterations in other parts of the spectrum.
For global correction, manipulate the spectrum in RGB colorspace by setting what should be picture greys to R=G=B greys. This technique is often called "white balance". Use a "curves" function (most paint programs have one, as in my example below) where one may set the "in" and "out" of any number of arbitrary points and the program re-curves the spectrum to fit. For this proof of concept, I selected test points at low=100 and high=200 (low, medium, and high points, equally spaced across the 0-255 range, would produce an even better result):
I used "the captured princess" shot as my representative sample because it had "without doubt" pure whites (white storm trooper armor under white illumination) from dark to bright -- the posted DVD originals are on the left; the resultant adjustments are on the right. Overall, it fixes everything quite well. However, due to a whole assortment of reasons, a single adjustment may not hold true throughout and exception-adjusts should be made on a shot-by-shot basis where needed.
For this proof-of-concept, the base line (unaltered) is Blue and adjustments for true greys were made to Red and Green, as shown. Points selected for testing were Blue at roughly "100" (shadow) and "200" (hi-light) on what should be truly white objects. This is science, so use an "eye-dropper tool" and get real numbers. Then adjust the corresponding Red and Green to also equal 100 and 200 on those points. In this case:
* Red_low_input = 100 ... Red_low_output = 110
* Red_high_input = 200 ... Red_high_output = 220
* Green_low_input = 100 ... Green_low_output = 110
* Green_high_input = 200 ... Green_high_output = 215
and the rest of the color spectrum takes care of itself.
Use an Avisynth filter to do this as would a paint program (I vaguely remember seeing one, some time ago, somewhere). Otherwise, you must manually extract the 0-255 point adjusts from on your paint program curve (tedious) and otherwise apply them in Avisynth.
Spaced Ranger said:
... (I vaguely remember seeing one, some time ago, somewhere).
I know that wasn't very helpful. So I found the references (have never implemented them myself ... but will):
GiCoCu - Reproduces Photoshop's handling of amp-files and Gimp's handling of color curve files in Avisynth
http://avisynth.org.ru/docs/english/externalfilters/gicocu.htm
Gradation Curves - edit the gradation curves similar to those in paint programs, with data import & export, for VirtualDub
http://members.chello.at/nagiller/vdub/index.html
and development thread
http://forum.doom9.org/showthread.php?t=133191
Using VirtualDub plug-ins in AviSynth (last post)
http://forum.doom9.org/showthread.php?p=1018607
How to achieve "film look" on PAL DV source - informative & insightful on what is nearly the same as our color correctings (with refs to above plug-ins)
http://forum.doom9.org/showthread.php?t=87791
here's an updated script for anyone who's interested.
o4=last
o4.Tweak(hue=-45,coring=false).SmoothCurve("0-0;255-255","0-0;255-255","0-0;128-128;255-128",dither=100,show=false,interp=0).Tweak(hue=45,coring=false)
mt_average(o4,last,y=2,u=3,v=3)
mt_average(o4,last,y=2,u=3,v=3)
Tweak(hue=-45,coring=false)
SmoothCurve("0-0;128-158;255-255","0-0;20-0;128-128;255-235","0-40;128-128;255-255",dither=100,show=false)
Tweak(hue=45,coring=false)
x=Tweak(hue=-45,coring=false).mt_lut("x 3 -",y=2,u=2,v=3).Tweak(hue=45,coring=false)
mt_merge(last,x,last.SmoothCurve("0-0;128-128;255-0","0-0;255-255","0-0;255-255",dither=100,show=false),luma=true,y=2,u=3,v=3)
satmask=mt_lutxy(last,last.swapUV,"x 128 - 2 ^ y 128 - 2 ^ + 5.5 * .5 ^",y=2,u=2,v=3).VtoY().spline16resize(width(last),height(last))
mt_merge(last.Tweak(sat=1.7,coring=false),last.levels(0,1.5,255,0,255,coring=false),satmask,luma=true,y=3,u=3,v=3)