logo Sign In

Three-strip Technicolor: Please help!

Author
Time

Can someone please help me convert this process into AviSynth?

I've made some progress, but no success as of yet.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time
 (Edited)

Could somebody post the pseudotechnicolor function here?  Doom9 has been down all day for me.  Not sure if it's just me but I've flushed my DNS and am now using another DNS server than my isp and it still won't load.  I don't see anything about it on the web though so maybe they just blocked me? lol


EDIT: NM it came back up a couple minutes ago.

Luke threw twice…maybe.

Author
Time

Moth3r said:

Try here:

http://forum.doom9.org/showthread.php?t=139059

Thanks for the link, Moth3r!

I wasn't having much success with it, so after some more searching, I found this.

I have experience with Scheme, so I was able to translate it to AviSynth, and the results look promising! You can see my function here.

With contrast=1.15 in GOUT ANH, I get:

Sample1

Sample 2

Sample 3

 

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time
 (Edited)

I spotted a minor error. Here's the corrected script.

Edit: See post #11.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time
 (Edited)

could you label your pictures?

 

i take it the bottom pictures are the

newer ones?

 

the contrast seems way too high?

the skin colors look really red,

and in the first picture, the red light

(in the upper left), loses almost all the detail in it..

 

maybe less would look better..

i'm not sure how the technicolor script

is working,  are you using RAW gout 

screencaps?

 

later

-1

[no GOUT in CED?-> GOUT CED]

Author
Time

negative1 said:

could you label your pictures?

 

i take it the bottom pictures are the

newer ones?

 

the contrast seems way too high?

the skin colors look really red,

and in the first picture, the red light

(in the upper left), loses almost all the detail in it..

 

maybe less would look better..

i'm not sure how the technicolor script

is working,  are you using RAW gout 

screencaps?

 

later

-1

Hey, -1. Yes, I'm using the raw GOUT for this. It's GOUT on top and GOUT.Technicolor() on the bottom in the images above.

This is all a work-in-progress, of course. Converting between color-spaces seems to be tripping me up, so I'm going to learn more about that before progressing.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

AntcuFaalb said:

 

Hey, -1. Yes, I'm using the raw GOUT for this. It's GOUT on top and GOUT.Technicolor() on the bottom in the images above.

This is all a work-in-progress, of course. Converting between color-spaces seems to be tripping me up, so I'm going to learn more about that before progressing.

ok,

yeah, i know you're messing around with it..

i don't have a problem with the GOUT colors or DVD's,

 

in fact it looks pretty good to me most of the time,

even in these comparisons the colors look more

'right' to me.. currently.

 

looking forward to see what else you can

get out of them..

 

later

-1

 

 

[no GOUT in CED?-> GOUT CED]

Author
Time

negative1 said:

AntcuFaalb said:

 

Hey, -1. Yes, I'm using the raw GOUT for this. It's GOUT on top and GOUT.Technicolor() on the bottom in the images above.

This is all a work-in-progress, of course. Converting between color-spaces seems to be tripping me up, so I'm going to learn more about that before progressing.

ok,

yeah, i know you're messing around with it..

i don't have a problem with the GOUT colors or DVD's,

 

in fact it looks pretty good to me most of the time,

even in these comparisons the colors look more

'right' to me.. currently.

 

looking forward to see what else you can

get out of them..

 

later

-1

 

 

Me, too. I'm going to have to learn quite a bit about color-space conversions before I'm able to do anything more. Hopefully someone with more knowledge can take my current Technicolor function and make it work well.

Maybe it's just me, but I've always enjoyed warm/over-saturated colors; e.g., The Wizard of Oz. I love the color in this.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time
 (Edited)

Well I've tried my hand at it based upon the page you linked to in your first script.  I'm not sure if I've come up with something good or wasted a bunch of my time lol.  It seems to not work well at all with scenes that have been color corrected beforehand.  I'm going to post it here just so maybe somebody can perhaps improve it or point out anything wrong with it.  I tested it on a few home videos and the results seemed pretty good imo.

 

It assumes you are feeding it a clip with YUV colorspace.

Function Technicolor(clip source, float "colorsat", bool "autowhites",bool "showdif")
{
    #Set Defaults
    colorsat=Default(colorsat,1.6)
    autowhites=Default(autowhites,true)
    showdif=Default(showdif,false)
   
    srgb=source.converttorgb()
    global red=srgb.showred("YV12")#.tweak(bright=25)
    global green=srgb.showgreen("YV12")#.tweak(bright=25)
    global blue=srgb.showblue("YV12")#.tweak(bright=25)
    cyan=source.tweakcolor(starthue=321,endhue=259,sat=0,bright=-255).tweak(sat=1.3).converttorgb().greyscale().converttoyv12()
    magenta=source.tweakcolor(starthue=81,endhue=19,sat=0,bright=-255).tweak(sat=1.3).converttorgb().greyscale().converttoyv12()
    yellow=source.tweakcolor(starthue=201,endhue=139,sat=0,bright=-255).tweak(sat=1.3).converttorgb().greyscale().converttoyv12()
    yellowmask=yellow.levels(0,1,1,0,255).converttorgb()
    global magyel=overlay(magenta,yellow,mask=yellowmask,mode="luma",opacity=1)
    global cyayel=overlay(cyan,yellow,mask=yellowmask,mode="luma",opacity=1)
    magmask=magenta.levels(0,1,1,0,255).converttorgb()
    global cyamag=overlay(cyan,magenta,mask=magmask,mode="luma",opacity=1)
    newred=scriptclip(red,"coloryuv(off_y=(averageluma(red)/2-averageluma(magyel)*1.5))")
    newgreen=scriptclip(green,"coloryuv(off_y=(averageluma(green)/2-averageluma(cyayel)*1.5))")
    newblue=scriptclip(blue,"coloryuv(off_y=(averageluma(blue)/2-averageluma(cyamag)*1.5))")
    tc=mergergb(newred,newgreen,newblue)
    mix=overlay(source,tc,mode="chroma",opacity=1).tweak(sat=colorsat).coloryuv(autowhite=autowhites)
    comp=stackhorizontal(source.subtitle("ORIGINAL",x=-1,y=400),mix.subtitle("TECHNICOLOR ?",x=-1,y=400))
   
    return((showdif) ? comp : mix)
   
}

Luke threw twice…maybe.

Author
Time
 (Edited)

althor1138: That looks like good work, but it may not be a good idea to follow the website in the OP. Here's a comparison between my AviSynth version of the GIMP filter and the final image on that website.

Comparison

Edit: Here's my function without any contrast nonsense...

function Technicolor(clip c)

{

  red_matte = c.ChannelMixer(100, -50, -50, 100, -50, -50, 100, -50, -50).Invert()

  green_matte = c.ChannelMixer(-50, 100, -50, -50, 100, -50, -50, 100, -50).Invert()

  blue_matte = c.ChannelMixer(-50, -50, 100, -50, -50, 100, -50, -50, 100).Invert()

  red = c.Overlay(green_matte, mode="multiply").Overlay(blue_matte, mode="multiply")

  green = c.Overlay(red_matte, mode="multiply").Overlay(blue_matte, mode="multiply")

  blue = c.Overlay(red_matte, mode="multiply").Overlay(green_matte, mode="multiply")

  return MergeRGB(red, green, blue)

}

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

OK, so I've tried to exercise some restraint. Increasing the contrast to 1.3 (thereby lowering the pseudo-technicolor effect) results in:

function Technicolor(clip c)

{

  red_matte = c.ChannelMixer(100, -50, -50, 100, -50, -50, 100, -50, -50).Invert()

  green_matte = c.ChannelMixer(-50, 100, -50, -50, 100, -50, -50, 100, -50).Invert()

  blue_matte = c.ChannelMixer(-50, -50, 100, -50, -50, 100, -50, -50, 100).Invert()

  red = c.Overlay(green_matte, mode="multiply").Overlay(blue_matte, mode="multiply")

  green = c.Overlay(red_matte, mode="multiply").Overlay(blue_matte, mode="multiply")

  blue = c.Overlay(red_matte, mode="multiply").Overlay(green_matte, mode="multiply")

  return MergeRGB(red, green, blue)

}

gout = AVISource("E:\GOUT.avi", audio=false, pixel_type="YUY2", fourCC="HFYU").Crop(6, 102, -2, -104, true)

StackVertical(gout.subtitle("gout"), gout.Tweak(cont=1.3).ConvertToRGB32(matrix="Rec601").Technicolor().ConvertBackToYUY2(matrix="Rec601").subtitle("mine"))

Sample0

Sample1

Sample2

Sample3

Sample4

Sample5

Sample6

Sample7

Sample8

Sample9

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

It's a very slippery slope considering the high red level in the GOUT whenever increasing the saturation. Despite that, these newest shots look okay. I'm a bit distracted by how stretched they are though, haha.

My only problem is, again, the reds. And that's really only a problem with the second shot in this set.

A Goon in a Gaggle of 'em

Author
Time

bkev said:

It's a very slippery slope considering the high red level in the GOUT whenever increasing the saturation. Despite that, these newest shots look okay. I'm a bit distracted by how stretched they are though, haha.

My only problem is, again, the reds. And that's really only a problem with the second shot in this set.

I can dial-down the reds with RGBAdjust, but I don't know how much that'll impact the "benefit" of the filter. I'll try it out.

They shouldn't be stretched, as I only did cropping.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

I would say if anything the saturation and contrast can be boosted a bit more but as bkev noted, the GOUT has hideous red levels, and these need to be tone down but only a bit. The biggest problem with the GOUT, aside from the detail--I recommend a mild sharpening filter, btw, since the GOUT has a bit more detail than the DVD shows as long as no artifacts are created--is the damn reds. They tend to bleed all over the place and be disproportionally represented, and they need to be dialed back here only only very slightly.

I think it was Leethoroughgood who made a Technicolor recreation about a year ago, it looked very good, and so does this.

This is all pretty subjective. My own opinion is add a tad of sharpness, add a little bit more saturation, and try to rein in the reds a bit more. The only problem with that, I guess, is that the greens already are starting to become a bit prominent. But a good first attempt in my opinion, and for sure an improvement. I think for an adjustment like this you are pretty much in the ballpark of a nice looking image and it's really just a matter of preference aside from a tiny bit of red level control.

Author
Time

It's likely in that case then that I'm not used to seeing it so small! My mistake. Something just didn't look quite right at first, but then again I'm tired.

I'm no authority on the subject of course, so take my opinion as you will. I'll say it's without a doubt a step in the right direction, though you may want to go a bit more radical with some of your choices. You_Too is a good person to ask.

A Goon in a Gaggle of 'em

Author
Time

Is the following better? I dialed back the reds by 10.

Comparison

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

Also, interestingly, I find that it fixes the black-levels nicely (without having to touch AviSynth's Levels() function). Look closely:

Comparison

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

Hm. That might look a bit on the cool side, but it's definitely better than red balance you had before!

I've always wanted to see Leethoroughgood's technicolor attempt but it was only ever posted to the newsgroups so I didn't end up getting to. Is it still around there? I might do a free trial.

A Goon in a Gaggle of 'em

Author
Time

Hm. That might look a bit on the cool side, but it's definitely better than red balance you had before!

OK, I can do <10. I think I'll have to determine the best value experimentally... somehow.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

AntcuFaalb said:

Hm. That might look a bit on the cool side, but it's definitely better than red balance you had before!

OK, I can do <10. I think I'll have to determine the best value experimentally... somehow.

match it up against harmy's technicolor version

for the closest approximation.

 

that is what you're doing right?

 

later

-1

[no GOUT in CED?-> GOUT CED]

Author
Time

negative1 said:

AntcuFaalb said:

Hm. That might look a bit on the cool side, but it's definitely better than red balance you had before!

OK, I can do <10. I think I'll have to determine the best value experimentally... somehow.

match it up against harmy's technicolor version

for the closest approximation.

 

that is what you're doing right?

 

later

-1

That's a great idea, thanks!

Also, know that my goal here is not one of preservation; that is, I'm not trying to get a '77 IB Technicolor colortiming. Rather, my goal is to give Star Wars a look-and-feel similar to the 3-strip Technicolor films of the 30's-50's; e.g., The Adventures of Robin Hood (1938) and The Wizard of Oz (1939). (More recently, The Aviator used some digital witchcraft to get that look in post-processing.)

I know the trilogy isn't supposed to look like that, but I find the look so appealing that I figured it'd be worth a try.

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time
 (Edited)

Interesting! Increasing the contrast to 1.4 seems to solve the problem without having to resort to dialing-down the reds.

Edit: It also fixes issues I was having the grain in the sky in some scenes. It looks great!!!

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3

Author
Time

^Care to share your new results? Preferably with the Leia shot. I've found that's usually a good indicator of how the reds work, given her really red cheeks. Also, something you definitely did right was your results give a little color to her dress. According to mverta, it's supposed to be somewhat cream colored rather than the flat white you see on most versions.

A Goon in a Gaggle of 'em

Author
Time

Here's contrast=1.4 and a tiny bit of sharpening (that is, UnFilter(42, 0)):

Comparison

A picture is worth a thousand words. Post 102 is worth more.

I’m late to the party, but I think this is the best song. Enjoy!

—Teams Jetrell Fo 1, Jetrell Fo 2, and Jetrell Fo 3