logo Sign In

Post #730714

Author
althor1138
Parent topic
Star Wars Laserdisc Preservations. See 1st Post for Updates.
Link to post in topic
https://originaltrilogy.com/post/id/730714/action/topic#730714
Date created
5-Oct-2014, 10:34 AM

This is the first time i've implemented any dot crawl removal.  The processed image has had some slight sharpening with lsfmod so that could be what you are seeing with the edges. I might drop the sharpening before the final encode.  I had to stretch the histogram a bit because this release is pretty dull and washed out.  I plan on bringing up the black level a couple notches though and that will probably make it look a bit better.

I might be the first person to implement tcomb with motion compensation.  I didn't see it anywhere in any forums.  I just didn't like the artifacts that tcomb was leaving so I thought I'd try it out. Here's the function I wrote:

Function TcombMC(clip z,float "mode",int "mc",int "fthreshl",int "fthreshc",int "othreshl",int "othreshc",bool "map",float "scthresh",bool "debug",int "opt")

{

mc = default(mc, 1)

super = MSuper(z,rfilter=3)

# Motion vector search.

b5vec = MAnalyse(super, delta=5, isb=true,blksize=4)

b4vec = MAnalyse(super, delta=4, isb=true,blksize=4)

b3vec = MAnalyse(super, delta=3, isb=true,blksize=4)

b2vec = MAnalyse(super, delta=2, isb=true,blksize=4)

b1vec = MAnalyse(super, delta=1, isb=true,blksize=4)

f1vec = MAnalyse(super, delta=1,blksize=4)

f2vec = MAnalyse(super, delta=2,blksize=4)

f3vec = MAnalyse(super, delta=3,blksize=4)

f4vec = MAnalyse(super, delta=4,blksize=4)

f5vec = MAnalyse(super, delta=5,blksize=4)

# Motion Compensation.

b5clip = MCompensate(z, super, b5vec)

b4clip = MCompensate(z, super, b4vec)

b3clip = MCompensate(z, super, b3vec)

b2clip = MCompensate(z, super, b2vec)

b1clip = MCompensate(z, super, b1vec)

f1clip = MCompensate(z, super, f1vec)

f2clip = MCompensate(z, super, f2vec)

f3clip = MCompensate(z, super, f3vec)

f4clip = MCompensate(z, super, f4vec)

f5clip = MCompensate(z, super, f5vec)

# Create compensated clip.

interleaved = mc >= 5 ? Interleave(f5clip, f4clip, f3clip, f2clip, f1clip, z, b1clip, b2clip, b3clip, b4clip, b5clip) :

\ mc == 4 ? Interleave(f4clip, f3clip, f2clip, f1clip, z, b1clip, b2clip, b3clip, b4clip) :

\ mc == 3 ? Interleave(f3clip, f2clip, f1clip, z, b1clip, b2clip, b3clip) :

\ mc == 2 ? Interleave(f2clip, f1clip, z, b1clip, b2clip) :

\ mc == 1 ? Interleave(f1clip, z, b1clip):

\ mc == 0 ? z:

\ z

filter=Eval("tcomb(interleaved,mode=mode,fthreshl=fthreshl,fthreshc=fthreshc,othreshl=othreshl,othreshc=othreshc,map=map,scthresh=scthresh,debug=debug,opt=opt)")

return(SelectEvery(filter, mc * 2 + 1, mc))

}

It works exactly the same as tcomb but tcombmc has the mc parameter added.  It's possible to have 5 forward and 5 backward mocomped frames but I don't think there is any advantage to having more than 1 so I set that as the default. I had to set the scthresh really low to like 2 or 3 but that might be because of the source clip.