My attempt at color correcting the GOUT :: 1 > 5

  • Reply
  • Print
You_Too's avatar
My attempt at color correcting the GOUT

I thought I'd make a new thread for this, since it's not about the blu-rays like my other thread.

What I've done is I tried the same thing I did with the Star Wars blu-ray, but with the GOUT-version instead, that is, I tried to make a good "one-setting" for the whole movie.

I know the GOUT is not a very good source when it comes to picture quality, but it also has a lot of things the blu-rays don't have, like intact shadow detail and much less tweaked colors.

I'm using the PAL-version by the way.

Now you guys will be the judges whether I should continue with this or not. If people are interested, I might continue to try and find the best overall settings for the GOUT. Keep in mind that the colors are inconsistent throughout the movie, so before you say "this looks too yellow" or "that looks too blue", consider how much that changes with the scenes. Of course you're still free to point things out though.

My current result looks like this. (Click for full-size)

UPDATE: Now all three movies!

 

http://img580.imageshack.us/img580/4774/gout3red2thumbs.png

http://img840.imageshack.us/img840/8121/esb3red2thumbs.png

http://img225.imageshack.us/img225/9316/rotj3red2thumbs.png

Last edited on December 24, 2011 at 6:36 PM by You_Too
Darth Tater's avatar
RE: My attempt at color correcting the GOUT

I think it looks good so far, You_too! Is there any way a newbie like me with a digital copy of the GOUT discs can apply these settings and watch at home, either in advance or on the fly? Free is the key here. :)

frank678's avatar
RE: My attempt at color correcting the GOUT

I like how the outdoor scenes/natural lit scenes look with these adjustments especially the Ben's hut frames. I'm hoping you will continue to use your skills and good eye for correction to see what else can be done to improve the Gout. I'm also hoping at a later date you might see if a washed-out Pan and Scan laserdisc can be improved on from what you do here with the Gout...

 

You_Too's avatar
RE: My attempt at color correcting the GOUT

Darth Tater said:

I think it looks good so far, You_too! Is there any way a newbie like me with a digital copy of the GOUT discs can apply these settings and watch at home, either in advance or on the fly? Free is the key here. :)

You could apply the settings and watch through an avisynth script in your computer, but it requires some plugins as well.

Plugins used are MVTools or MVTools 2, (I don't remember which one but you could get both to be sure it will work) Gicocu and Selective color. (Once again a huge thanks to Darth Editous for the selective color plugin!)

If you use the raw video of Star Wars, then it's in mpeg2 and needs to be indexed, which can be done in file indexer in Megui. That will create the d2v file that the script uses.

For Gicocu you'll need my curves files which you put in the same folder as the movie, d2v file and script.

And finally, here's the script which is for the PAL-version. For NTSC you'd have to use different values for crop.

UPDATE: Two scripts, first one for SW, second for ESB and ROTJ.

Mpeg2Source("GOUT.d2v")

crop( 0, 124, 0, -124)

ConvertToYV12()

function SatMask(clip c, "Sat", float "bias", string "mode", clip "Rc", bool "lsb", bool "show"){

 bias  = string(default(bias, 5))
 mode  = string(default(mode,  "Vibrance"))
 lsb   = default(lsb,  false)
 show  = default(show, false)


lsb ? c.ditherpost(mode=6) : c

 w=width()
 h=height()
 
Assert(isclip(Sat) || isint(Sat) || isfloat(Sat),  "'Sat' only accepts float, integers or clip inputs")
Assert(w%4  == 0, "width and height must be mod 4 resolution")
Assert(h%4  == 0, "width and height must be mod 4 resolution")

fmode = isclip(Sat) ? false : (Sat>0.0 ? true : false)
a=                   mode=="Recover" ? mt_lutxy(Vtoy(Rc),Utoy(Rc),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 255 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+bias+" * ?",u=1,v=1) : nop
b= !fmode || show || mode=="Recover" ? mt_lutxy(Vtoy(),Utoy(),    "x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 255 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+bias+" * ?",u=1,v=1) : nop

 

msk  = !fmode || show ? ((mode=="Vibrance") ? mt_lutxy(Vtoy(),Utoy(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 0 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ 255 * ? ",u=1,v=1) : \
                         (mode=="Dullness") ? b                                              : \
                         (mode=="Recover")  ? mt_lutxy(a,b,"x y - abs 2 *",u=-128,v=-128)    : \
                          Assert(false, "Wrong Saturation Mode"))                            : nop
                         
show ? (lsb ? msk.Spline36Resize(w,h).Dither_convert_8_to_16() :\
              msk.Spline36Resize(w,h))                         :\
(Defined(Sat) || fmode  ?                                       \
((mode=="Vibrance") ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 256 * 32768 > x 256 * "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + 256 * ?",y=2,u=3,v=3),c)                       :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > x "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + ?",y=2,u=3,v=3)                                :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3)))                       :\
 (mode=="Dullness") ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^  256 * 32768 > x 256 * "+
                                      \+" x 128 - x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+string(sat-1)+
                                      \+" * "+bias+" / 1 + / 128 + 256 * ?",y=2,u=3,v=3),c)            :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^  128 > x "+
                                      \+" x 128 - x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+string(sat-1)+
                                      \+" * "+bias+" / 1 + / 128 + ?",y=2,u=3,v=3)                     :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3)))                       :\
 (mode=="Recover")  ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 256 * 32768 > x 256 * "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + 256 * ?",y=2,u=3,v=3),c)                       :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > x "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + ?",y=2,u=3,v=3)                                :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3))): nop ) : c)}

Tweak(hue=-5)
SatMask(Sat=2.25)

ConvertToRGB32()

GiCoCu("GOUT.cur")

selectivecolour(last,\
0.65,0,0,\
-0.35,0.10,-0.05,\
0,0.75,-0.05,\
0,0,0,\
0,0,0.75,\
-0.25,0,0,\
false)

GiCoCu("GOUT3.cur")

GiCoCu("GOUT5.cur")

GiCoCu("GOUT8.cur")

GiCoCu("GOUT9.cur")

ConvertToYV12()

crop( 0, 0, 0, -2)

BicubicResize(768,326,0,0.5) # Bicubic (Neutral)

 

Mpeg2Source("ESB.d2v")

crop( 0, 124, 0, -124)

ConvertToYV12()

function SatMask(clip c, "Sat", float "bias", string "mode", clip "Rc", bool "lsb", bool "show"){

 bias  = string(default(bias, 5))
 mode  = string(default(mode,  "Vibrance"))
 lsb   = default(lsb,  false)
 show  = default(show, false)


lsb ? c.ditherpost(mode=6) : c

 w=width()
 h=height()
 
Assert(isclip(Sat) || isint(Sat) || isfloat(Sat),  "'Sat' only accepts float, integers or clip inputs")
Assert(w%4  == 0, "width and height must be mod 4 resolution")
Assert(h%4  == 0, "width and height must be mod 4 resolution")

fmode = isclip(Sat) ? false : (Sat>0.0 ? true : false)
a=                   mode=="Recover" ? mt_lutxy(Vtoy(Rc),Utoy(Rc),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 255 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+bias+" * ?",u=1,v=1) : nop
b= !fmode || show || mode=="Recover" ? mt_lutxy(Vtoy(),Utoy(),    "x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 255 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+bias+" * ?",u=1,v=1) : nop

 

msk  = !fmode || show ? ((mode=="Vibrance") ? mt_lutxy(Vtoy(),Utoy(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > 0 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ 255 * ? ",u=1,v=1) : \
                         (mode=="Dullness") ? b                                              : \
                         (mode=="Recover")  ? mt_lutxy(a,b,"x y - abs 2 *",u=-128,v=-128)    : \
                          Assert(false, "Wrong Saturation Mode"))                            : nop
                         
show ? (lsb ? msk.Spline36Resize(w,h).Dither_convert_8_to_16() :\
              msk.Spline36Resize(w,h))                         :\
(Defined(Sat) || fmode  ?                                       \
((mode=="Vibrance") ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 256 * 32768 > x 256 * "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + 256 * ?",y=2,u=3,v=3),c)                       :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > x "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + ?",y=2,u=3,v=3)                                :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3)))                       :\
 (mode=="Dullness") ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^  256 * 32768 > x 256 * "+
                                      \+" x 128 - x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+string(sat-1)+
                                      \+" * "+bias+" / 1 + / 128 + 256 * ?",y=2,u=3,v=3),c)            :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^  128 > x "+
                                      \+" x 128 - x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ "+string(sat-1)+
                                      \+" * "+bias+" / 1 + / 128 + ?",y=2,u=3,v=3)                     :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3)))                       :\
 (mode=="Recover")  ?  \
       (lsb ? (fmode ? mergeluma(Dither_lutxy8(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 256 * 32768 > x 256 * "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + 256 * ?",y=2,u=3,v=3),c)                       :\
                                      Dither_merge16(c,Sat,YToUV(msk,msk).Dither_convert_8_to_16,y=4)) :\
              (fmode ? mt_lutxy(SwapUV(),"x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ 128 > x "+
                                      \+" x 128 - 128 x 128 - 2 ^ y 128 - 2 ^ +  .5 ^ - 128 / "+bias+" ^ "+string(sat-1)+
                                      \+" * 1 + * 128 + ?",y=2,u=3,v=3)                                :\
                                      mt_merge(Sat,YToUV(msk,msk),y=4,u=3,v=3))): nop ) : c)}


Tweak(hue=-5)
SatMask(Sat=1.75)

ConvertToRGB32()

GiCoCu("GOUT.cur")

selectivecolour(last,\
0.65,0,0,\
-0.35,0.10,-0.05,\
0,0.75,-0.05,\
0,0,0,\
0,0,0.75,\
-0.25,0,0,\
false)

GiCoCu("GOUT3.cur")

GiCoCu("GOUT5.cur")

GiCoCu("GOUT8.cur")

GiCoCu("GOUT9.cur")

ConvertToYV12()

crop( 0, 0, 0, -2)

BicubicResize(768,326,0,0.5) # Bicubic (Neutral)

 

Last edited on December 25, 2011 at 4:30 PM by You_Too
bkev's avatar
RE: My attempt at color correcting the GOUT

I like this a lot more than I did your blu color corrections.  It might boil down to personal taste, though - plus, you have a different goal with the GOUT than you do with the 2011.  On the GOUT you're just going for the most pleasing look, yeah? 

This generally reminds me of LeeThorogoods earlier project, which I never did get to watch due to newsgroups...

Darth Tater's avatar
RE: My attempt at color correcting the GOUT

Thanks, Yt, I'll give that a try!

-DT

TServo2049's avatar
RE: My attempt at color correcting the GOUT

Intriguing. Reminds me of the Technidisc LD with less of a yellow push.

Last edited on December 15, 2011 at 9:21 PM by TServo2049
You_Too's avatar
RE: My attempt at color correcting the GOUT

bkev said:

I like this a lot more than I did your blu color corrections.  It might boil down to personal taste, though - plus, you have a different goal with the GOUT than you do with the 2011.  On the GOUT you're just going for the most pleasing look, yeah?

Actually, the goal is quite the same. I'm trying to fix the most obvious color errors and of course make it look more pleasing and balanced overall.

Just like the blu-ray, this one would require a scene by scene correction if aiming for complete balance and accuracy, but I think even here it makes a great improvement even with these settings overall.

One setting in particular that was very useful was SatMask, the long in-script function. It works like vibrance in photoshop: It increases the saturation of the least saturated colors in the picture, and since the GOUT is very desaturated overall, it did wonders to it.

bkev said:

This generally reminds me of LeeThorogoods earlier project, which I never did get to watch due to newsgroups...

Actually I never got to watch that one either, but from the screenshots I saw of the final version, that one looked much brighter, maybe to the point where whites got clipped.

frank678's avatar
RE: My attempt at color correcting the GOUT

For me personally LeeThorogoods project needed further work as some of the colour levels ended up making some scenes look unreal to the point it took me out of the movie early on. It looked as though this was the result of it having one setting or not enough modulation of the settings.


This promises to be an improvement of that project if you are able to modulate further with what you already have. Which already looks impressive. 

Last edited on December 15, 2011 at 10:25 PM by frank678
You_Too's avatar
RE: My attempt at color correcting the GOUT

By the way, here's a screenshot comparison which shows how I tried to restore the yellows, like 3PO's golden color.

frank678's avatar
RE: My attempt at color correcting the GOUT

Huge improvement!

frank678's avatar
RE: My attempt at color correcting the GOUT

My sense is the balance is somewhere between

 

1.

frank678's avatar
RE: My attempt at color correcting the GOUT

2

You_Too's avatar
RE: My attempt at color correcting the GOUT

Here's how that shot looks with this script:

You have to keep in mind though, that those technicolor pics are photos from a camera, and can just give hints on how it should look.

Also, if I matched this scene completely to that photo, some other parts of the movie would look worse.

frank678's avatar
RE: My attempt at color correcting the GOUT

This is real tricky to get my head round but i might as well take a guess anyway.
Theyre in the desert in Tunsia and so theres this almost tropical light coming in from the window
with greens and purples which changes more to brown in the shade and corners of the room.
As the prints faded its lost some of the green and purples and looks more brown. In the Gout frame it doesnt look like theyre in Tunsia. In your corrected frame it does look like they're in Tunsia but now theres too much colour put back in. This is why all the outside shots look better in your rendering. But it needs to be more subtle now.

Well this is my guess. HELP!

frank678's avatar
RE: My attempt at color correcting the GOUT

frank678's avatar
RE: My attempt at color correcting the GOUT

As you can probably tell I have no idea how to post images but the above frame is from empire of dreams [also here:http://imageshack.us/photo/my-images/13/vlcsnap2011121608h52m58.png/] - this is closer to whats in my head

edit: outside the hut the light and colours would be something like this:

http://imageshack.us/photo/my-images/266/vlcsnap2011121615h59m46.png/

 

Last edited on December 16, 2011 at 4:29 PM by frank678
LexX's avatar
RE: My attempt at color correcting the GOUT

Those look really good to my eye, maybe a tad too greenish though. Again, some scenes are better than others but still, nice work.

And in the time of greatest despair, there shall come a savior, and he shall be known as the Son of the Suns.

pittrek's avatar
RE: My attempt at color correcting the GOUT

It's overall too green, but some of those shots look actually damned good ! Could you please upload a scrrenshot of the binary sunset scene ? Or R2's capture ?

frank678's avatar
RE: My attempt at color correcting the GOUT

The green cast seems to match what happens to the desert blue light coming in the doorway at this point

http://imageshack.us/photo/my-images/9/vlcsnap2011121616h57m52.png/

You_Too's avatar
RE: My attempt at color correcting the GOUT

You guys are right, it all looked slightly too green.

I made some adjustments, and here's compared old to new:

I'll update with more screenshots later, and pittrek, I'll upload screenshots of those as well. :)

 

By the way, here's a comparison of Greedo from untouched GOUT vs my new settings:

Last edited on December 16, 2011 at 6:42 PM by You_Too
frank678's avatar
RE: My attempt at color correcting the GOUT

Toning down the green has definitely made it better. I think the light in ben's hut should be a touch more purple/or less blue somehow so the wall looks like its white but with the desert colours on it. It seems like boosting the colours too far can make it look like a technicolor film from the 1950s in places but this may be fixable. I realize only so much can be done on one setting without throwing out other scenes. So far though this has definitely brought the Gout to life

Last edited on December 16, 2011 at 8:38 PM by frank678
You_Too's avatar
RE: My attempt at color correcting the GOUT

One thing I want to do here is also to correct the overall gamma curve of the movie a bit.

Here's an example, a comparison of a scan from jedi1.net and a frame from GOUT with my latest settings:

The first thing you think when looking at Tarkin's face there, is that parts of his face are much more highlighted and defined in the 70mm scan. I wanna point out though, that I don't use those scans as a color reference since they're all faded in different ways and this one for example has too much cyan in the shadows.

Anyway, now I've applied a quick curve-fix for this. Top image: GOUT with my settings, bottom: added curve-fix.

Note that this is just an example though, and I tried to be a bit more subtle, like finding a middle between the scan's look and GOUT.

Now the problem this creates, is that some other scenes are suffering of white clipping and such. Here's that shot from Ben's hut again, with the same curve-fix applied:

Here's a picture showing what got clipped in that shot:

What I need to do now is to find a good balanced setting that improves that kind of definition and highlights but doesn't ruin the brighter shots.

I also want to ask you guys if you would think it's ok to sacrifice a little bit of the brightest whites if the result was more balance and definition in the rest of the image?

Last edited on December 16, 2011 at 9:46 PM by You_Too
frank678's avatar
RE: My attempt at color correcting the GOUT

Here's how Tarkin looks in Lee Thorogood's Technicolor rendering, for comparison:

http://imageshack.us/f/543/vlcsnap2011121716h17m27.png/

I think you've brought him to life more with this adjustment, and he comes out different to Harmy's colouring as discussed in the despecialized thread, it seems this goes more in a reddish face direction than yellow (or grey)

 

 

You_Too's avatar
RE: My attempt at color correcting the GOUT

I've updated the screenshots at the top now with the latest settings.

I did find a balance which enhanced the faces and stuff a bit without clipping whites.

This is how Tarkin looks now, raw GOUT compared to my settings:

The reason he comes out different compared to Harmy's version is of course the source which looks very different. And since I'm making settings for the whole movie I can't pick elements out and color separately.

Here's some more comparisons:

I know the colors are a bit strong in the sunset scene, and I'll see what I can do about it with some adjustments later.

Last edited on December 17, 2011 at 5:07 PM by You_Too
Members reading this topic: None