Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 29th January 2008, 19:33   #1  |  Link
tilllt
Registered User
 
Join Date: Sep 2005
Posts: 11
Advice for (worstcase) film restoration needed

Hello,

the footage that i need to process was shot by filmstudents in the 60's on B/W Film, at 24fps i assume. I guess they were quite unexperienced, they have a lot of shaky handheld camera & wrong exposure, the images has a lot of frame jitter, it was apparently badly developed (lots of scratches and dust) then they made a telecine (with a lot of Luma Jitter) to Interlaced, 29.97 fps NTSC BetaSP . But thats not all. I am trying to process a (NTSC) DVD now which was made from this material in a Medium Datarate which additionally introduced a lot of compression artifacts due to the chaotic (and badly compressable) nature of the source material. To make it more complex: i also need to convert this material to PAL.

I read several threads about reverse telecine, NTSC to PAL, restoration stuff - but as i am a not very experienced Avisynth User i cannot say if this makes sense, both technically and for the restoration process. Also i would really like to get at least some of that nasty compression blocks out, is that process called "deblocking"? I guess it would be the MVTools for that, no?

maybe someone of you avisynth experts can have a look at this:

MPEG2Source("H:\CONVERSION_dvd\ElGrito\el_grito.d2v")
# Set Field Order
AssumeTFF()

# Reverse Telecine (http://neuron2.net/decomb/decombnew.html)
Telecide(guide=1, post=0)
Decimate(cycle=5)

# Cut out Noise at Edges
letterbox(10,6,6,6)

# Stabilize Luma Flicker (http://avisynth.org.ru/deflicker/deflicker.html)
DeFlicker(scene=30)

# Stabilize Jitter (http://avisynth.org.ru/depan/depan.html)
i = ConvertToYV12()
mdata = DePanEstimate(i)
DePanStabilize(i, data=mdata)

# Remove Scratches (http://avisynth.org.ru/descratch/descratch.html)
DeScratch(mindif=2)

# Speed-Up 24fps to PAL 25fps & Resize to PAL Framesize
assumefps(25,true)
lanczosresize(720,576)
tilllt is offline   Reply With Quote
Old 30th January 2008, 04:02   #2  |  Link
tilllt
Registered User
 
Join Date: Sep 2005
Posts: 11
sample

i put a sample here:
http://www.khm.de/~tsteinmetz/demo_temp.avi

i recompressed it to xvid but that didnt change the essential problems that i have with this material. would be great if somebody could suggest the right filters / settings to deal with this kind of footage...

ciao
tilllt is offline   Reply With Quote
Old 30th January 2008, 07:16   #3  |  Link
rfmmars
Registered User
 
Join Date: Feb 2004
Posts: 743
Your clip shows a loss of detail in the very dark areas which nothing can be done but there are two methods that I use, one is a AVS-p script and the other is a Virtualdub filter chain. here's the AVSp script.
..........................................................................................
AVISource("c:\1.vdr.avi")
#ImageSource("c:\train.bmp")
LoadPlugin("c:\AVS\Plugins\AGC.dll")
LoadPlugin("c:\AVS\plugins\removegrain.dll")
LoadPlugin("c:\AVS\Plugins\mt_masktools.dll")
LoadPlugin("c:\AVS\Plugins\warpsharp.dll")
Loadplugin("c:\avs\plugins\gradfun2db.dll")
loadplugin("c:\avs\plugins\DeGrainMedian.dll")
loadplugin("c:\avs\plugins\Smoothdeinterlacer.dll")
LoadPlugin("c:\avs\plugins\Convolution3d.dll")
LoadPlugin("c:\avs\plugins\FFT3DFilter.dll")
LoadPlugin("c:\avs\plugins\VagueDenoiser.dll")
LoadPlugin("c:\avs\plugins\depan.dll")
LoadPlugin("c:\avs\plugins\depanEstimate.dll")
LoadPlugin("c:\AVS\Plugins\repair.dll")
LoadPlugin("c:\AVS\Plugins\masktools.dll")
LoadPlugin("c:\avs\plugins\mvtools.dll")
LoadPlugin("c:\avs\plugins\autolevels.dll")
LoadPlugin("c:\avs\plugins\GrainOpt.dll")
LoadPlugin("c:\avs\plugins\MSU_FRC.dll")
import("c:\avs\seesaw6.avs")
LoadPlugin("c:\avs\plugins\DGbob.dll")
SetMemoryMax(512)

ConvertToYV12()

#Autolevels(filterRadius=8, sceneChgThresh=10,

HDRAGC(avg_lum=128,mode=2,passes=9,shift_u=-16, shift_v=1,protect=2,coef_gain=0.24,max_gain=6.3,corrector=0.89,reducer=2.0,avg_window=16,black_clip=0.46,max_sat=1.56,min_sat=0.18,coef_sat=0.7)

Tweak(-1.692,0.68,-18.36,1.0)

Converttorgb24
RGBadjust(1.0,1.3,1.0)

ConverttoYV12

#SeeSaw( NRlimit=4, NRlimit2=5, Sstr=1.5, Slimit=9, Spower=9, Szp=16, sootheT=80, bias=40)

return last

.............................................................................

The post below will have the AVSp markup

That really the only problem I see is the high contrast harsh look.

I will post the VD chain tomorrow.

Richard
photorecall.net

Last edited by rfmmars; 30th January 2008 at 07:27.
rfmmars is offline   Reply With Quote
Old 30th January 2008, 07:21   #4  |  Link
rfmmars
Registered User
 
Join Date: Feb 2004
Posts: 743
### AvsP marked script ###
# AVISource("c:\1.vdr.avi")
# #ImageSource("c:\train.bmp")
# LoadPlugin("c:\AVS\Plugins\AGC.dll")
# LoadPlugin("c:\AVS\plugins\removegrain.dll")
# LoadPlugin("c:\AVS\Plugins\mt_masktools.dll")
# LoadPlugin("c:\AVS\Plugins\warpsharp.dll")
# Loadplugin("c:\avs\plugins\gradfun2db.dll")
# loadplugin("c:\avs\plugins\DeGrainMedian.dll")
# loadplugin("c:\avs\plugins\Smoothdeinterlacer.dll")
# LoadPlugin("c:\avs\plugins\Convolution3d.dll")
# LoadPlugin("c:\avs\plugins\FFT3DFilter.dll")
# LoadPlugin("c:\avs\plugins\VagueDenoiser.dll")
# LoadPlugin("c:\avs\plugins\depan.dll")
# LoadPlugin("c:\avs\plugins\depanEstimate.dll")
# LoadPlugin("c:\AVS\Plugins\repair.dll")
# LoadPlugin("c:\AVS\Plugins\masktools.dll")
# LoadPlugin("c:\avs\plugins\mvtools.dll")
# LoadPlugin("c:\avs\plugins\autolevels.dll")
# LoadPlugin("c:\avs\plugins\GrainOpt.dll")
# LoadPlugin("c:\avs\plugins\MSU_FRC.dll")
# import("c:\avs\seesaw6.avs")
# LoadPlugin("c:\avs\plugins\DGbob.dll")
# SetMemoryMax(512)
#
# ConvertToYV12()
#
# [MSU Slow Motion=0]
# MSU_FRC(4, "slow")
# [/MSU Slow Motion]
#
# # [Super Motion=0]
# function MotionProtectedFPS(
# \ clip input, float FPS,
# \ int "mode", int "protection",
# \ int "iterate", int "reset", int "initialise")
# {
# mode = default(mode, warpfast)
# protection = default(protection, 80)
# iterate = default(iterate, 2)
# reset = default(reset, 50)
# initialise = default(initialise, 6)
#
# originalFPS = input.framerate()
# input
#
# mp = temporalsoften(2,4,5,2).FindMotion(iterate = iterate, reset = reset,
# \ initialise = initialise)
# p = MotionFPS(FPS,mode,Motion = mp)
# maskp = mp.SumStretchFPSMask(FPS, protection)
#
# mn = temporalsoften(2,4,5,2).FindMotion(iterate = iterate, reset = reset,
# \ initialise = initialise, from = next)
# n = MotionFPS(FPS,mode,Motion = mn, source = next)
# maskn = mn.SumStretchFPSMask(FPS, protection, source = next)
#
# maskp
# assumeFPS(originalFPS)
# CombineFPS(FPS, maskp, maskn.Invert())
# bilinearresize(width*8, height*8)
# crop(0, 0, input.width(), input.height())
# fity2uv()
#
# maskedmerge(p, n, last, u=3, v=3)
# }
# [/Super Motion]
#
#
# [GrainOptimizer=0]
# GrainOptimizer()
# [/GrainOptimizer]
#
# [First Invert=0]
# INVERT()
# [/First Invert]
#
# # ConverttoYv12()
# [Deinterlace=0]
# Smoothdeinterlace()
# [/Deinterlace]
#
#
# [<separator="AutoLevels">]
# [Autolevel=0]
# Autolevels(filterRadius=[<"Radius(8)", 0, 20, 5>],sceneChgThresh=[<"Threshold(10)", 0, 255, 254>])
# [/Autolevel]
#
# #Autolevels(filterRadius=8, sceneChgThresh=10,
#
# [Refocus=0]
#
# [<separator="Refocus>]
#
# function abcxyz(clip clp, int "rad", int "ss")
# {
# ss=([<"Core (1)", 0.00, 2.00, 0.64>]) # radius for supersampling / ss=1.0 -> no supersampling
# rad=([<"Refocus (3)", 0.0, 20.0, 0.9>]) # radius for halo removal
#
#
# ox = clp.width()
# oy = clp.height()
#
# x = clp.bicubicresize(m4(ox/rad),m4(oy/rad)).bicubicresize(ox,oy,1,0)
# y = yv12lutxy(clp,x,"x 8 + y < x 8 + x 24 - y > x 24 - y ? ? x y - abs * x 32 x y - abs - * + 32 /",U=2,V=2)
# z1 = repair(clp,y,1)
# maxbig = y.expand().bicubicresize(m4(ox*ss),m4(oy*ss))
# minbig = y.inpand().bicubicresize(m4(ox*ss),m4(oy*ss))
# z2 = clp.lanczosresize(m4(ox*ss),m4(oy*ss))
# z2 = z2.logic(maxbig,"min",U=2,V=2).logic(minbig,"max",U=2,V=2).lanczosresize(ox,oy)
#
# return( (ss==1.0) ? z1 : z2 )
# }
# abcxyz()
#
# function m4(float x) {return( x<16?16:int(round(x/4.0)*4)) }
# [/Refocus]
#
# [DeHalo=0]
#
# [<separator="DeHalo">]
#
# function abcxyz(clip clp, int "rad", int "ss")
# {
# rad=([<"Radius (3)", -1.0, 20.0, 0.3>]) # radius for halo removal
# ss=([<"Super Sampling (1)", -0.2, 3, 1.2>]) # radius for supersampling / ss=1.0 -> no supersampling
#
# ox = clp.width()
# oy = clp.height()
#
# x = clp.bicubicresize(m4(ox/rad),m4(oy/rad)).bicubicresize(ox,oy,1,0)
# y = yv12lutxy(clp,x,"x 8 + y < x 8 + x 24 - y > x 24 - y ? ? x y - abs * x 32 x y - abs - * + 32 /",U=2,V=2)
# z1 = repair(clp,y,1)
# maxbig = y.expand().bicubicresize(m4(ox*ss),m4(oy*ss))
# minbig = y.inpand().bicubicresize(m4(ox*ss),m4(oy*ss))
# z2 = clp.lanczosresize(m4(ox*ss),m4(oy*ss))
# z2 = z2.logic(maxbig,"min",U=2,V=2).logic(minbig,"max",U=2,V=2).lanczosresize(ox,oy)
#
# return( (ss==1.0) ? z1 : z2 )
# }
# abcxyz()
#
# function m4(float x) {return( x<16?16:int(round(x/4.0)*4)) }
# [/DeHalo]
#
#
# ConverttoYUY2()
#
# [HQ Movie=0]
# Convolution3D (preset="movieHQ")
# [/HQ Movie]
#
#
# [LQ Movie=0]
# Convolution3D (preset="movieLQ")
# [/LQ Movie]
#
#
# [Bad Tape=0]
# Convolution3D (0,32,128,16,64,10,0)
# [/Bad Tape]
#
#
# ConvertToYV12()
#
# [Pre-Auto Gain=0]
# colorYUV(autogain=true)
# [/Pre-Auto Gain]
#
#
# [Analyze Input Signal=0]
# colorYUV(analyze=true)
# [/Analyze Input Signal]
#
#
# [Open White balance=0]
# colorYUV(autowhite=true)
# [/Open White balance]
#
#
# [HDRagc=1]
# [<separator="HDRagc">]
#
# HDRAGC(avg_lum=[<"Screen Radial (128)", 128, 2000, 128>],mode=[<"Mode (2)", 0, 2, 2>],passes=[<"Resample (4)", 1, 9, 9>],shift_u=[<"U Color Yel. Blue (0)", -100, +100, -16>], shift_v=[<"V Color Cyan Magenta (0)", -100, +100, 1>],protect=[<"Protect (2)", 0, 2, 2>],coef_gain=[<"Shadow Brightness (1)", 0.00, 0.5, 0.24>],max_gain=[<"Max Level (3)", 0.00, 8, 6.3>],corrector=[<"Corrector ((0)", 0.50, 1.50, 0.89>],reducer=[<"Reducer (0.5)", 0, 2, 2.0>],avg_window=[<"Frames Adverage (30)", 0, 120, 16>],black_clip=[<"Black Clip (0.00)", 0.00, 2.00, 0.46>],max_sat=[<"Max Satuation (9)", 0.00, 4, 1.56>],min_sat=[<"Min Satuation (1)", 0.00, 2, 0.18>],coef_sat=[<"Dark Color Level (1)", 0, 2, 0.7>])
# [/HDRagc]
#
# [<separator="Color Balance">]
# Tweak([<"Hue (0)", -60.00, 60.00, -1.692>],[<"sat(2)", 0.00, 20.00, 0.68>],[<"Bright", -50.00, 50.00, -18.36>],[<"Cont", 0.00, 2.00, 1.0>])
#
# [<separator="RGB Setup">]
# [RGB Adjust=1]
# Converttorgb24
# RGBadjust([<"Red (0)", 0.00, 2, 1.0>],[<"Green (0)", 0.00, 2, 1.3>],[<"Blue (0)", 0.00, 2, 1.0>])
#
# ConverttoYV12
# [/RGB Adjust]
#
#
#
# [Depan=0]
# motion=DepanEstimate(trust=2.5, fftw=true)
# DepanInterleave(data=motion)
# YToUV(fft3dfilter(sigma=3, plane=1).UToY,\
# fft3dfilter(sigma=3, plane=2).VToY,\
# fft3dfilter(sigma=2, plane=0))
# SelectEvery(3,1)
# [/Depan]
#
#
# [Lite Grain=0]
# DeGrainMedian(limitY=2,limitUV=3,mode=0,interlaced=false)
# DeGrainMedian(limitY=2,limitUV=3,mode=1,interlaced=false)
# [/Lite Grain]
#
# [Medium Grain=0]
# DeGrainMedian(limitY=7,limitUV=9,mode=0,interlaced=false)
# DeGrainMedian(limitY=7,limitUV=9,mode=1,interlaced=false)
# [/Medium Grain]
#
#
# [Med-Heavy Grain=0]
# DeGrainMedian(limitY=40,limitUV=56,mode=0,interlaced=false)
# [/Med-Heavy Grain]
#
#
# [Bad Grain=0]
# DeGrainMedian(limitY=20,limitUV=28,mode=0,interlaced=false)
# DeGrainMedian(limitY=20,limitUV=28,mode=1,interlaced=false)
# [/Bad Grain]
#
# [<separator="Noise Reduction 1">]
# [Noise Redution 1=0]
# DeGrainMedian([<"Y-NOISE-1", 0, 255, 20>],[<"UV-NOISE-1", 0, 255, 28>],[<"MODE-1", 0, 5, 0>],interlaced=false)
# [/Noise Redution 1]
# [<separator="Noise Reduction 2">]
# [Noise Reduction 2=0]
# DeGrainMedian([<"Y-NOISE-2", 0, 255, 0>],[<"UV-NOISE-2", 0, 255, 40>],[<"MODE-2", 0, 5, 1>],interlaced=false)
# [/Noise Reduction 2]
#
# [Sharping=0]
# Function LimitedSharpenFaster( clip clp,
# \ float "ss_x", float "ss_y",
# \ int "dest_x", int "dest_y",
# \ int "Smode" , int "strength", int "radius",
# \ int "Lmode", bool "wide", int "overshoot", int "undershoot",
# \ int "soft", int "edgemode", bool "special",
# \ int "exborder" )
# {
# ox = clp.width
# oy = clp.height
#
# Smode = default( Smode, 3 )
# ss_x = (Smode==4)
# \ ? default( ss_x, 1.25)
# \ : default( ss_x, 1.5 )
# ss_y = (Smode==4)
# \ ? default( ss_y, 1.25)
# \ : default( ss_y, 1.5 )
# dest_x = default( dest_x, ox )
# dest_y = default( dest_y, oy )
# strength = (Smode==1)
# \ ? default( strength, 160 )
# \ : default( strength, 100 )
# strength = (Smode==2&&strength>100) ? 100 : strength
# radius = default( radius, 2 )
# Lmode = default( Lmode, 1 )
# wide = default( wide, false )
# overshoot = default( overshoot, 1)
# undershoot= default( undershoot, overshoot)
# softdec = default( soft, 0 )
# soft = softdec!=-1 ? softdec : sqrt( (((ss_x+ss_y)/2.0-1.0)*100.0) ) * 10
# soft = soft>100 ? 100 : soft
# edgemode = default( edgemode, 0 )
# special = default( special, false )
# exborder = default( exborder, 0)
# #radius = round( radius*(ss_x+ss_y)/2) # If it's you, Mug Funky - feel free to activate it again
# xxs=round(ox*ss_x/8)*8
# yys=round(oy*ss_y/8)*8
# smx=exborder==0?dest_x:round(dest_x/Exborder/4)*4
# smy=exborder==0?dest_y:round(dest_y/Exborder/4)*4
#
# clp.isYV12() ? clp : clp.converttoyv12()
#
# ss_x != 1.0 || ss_y != 1.0 ? last.lanczosresize(xxs,yys) : last
# tmp = last
#
# edge = mt_logic( tmp.mt_edge(thY1=0,thY2=255,"8 16 8 0 0 0 -8 -16 -8 4")
# \ ,tmp.mt_edge(thY1=0,thY2=255,"8 0 -8 16 0 -16 8 0 -8 4")
# \ ,"max") .mt_lut("x 128 / 0.86 ^ 255 *") #.levels(0,0.86,128,0,255,false)
#
# tmpsoft = tmp.removegrain(11,-1)
# dark_limit1 = tmp.mt_inpand()
# bright_limit1 = tmp.mt_expand()
# dark_limit = (wide==false) ? dark_limit1 : dark_limit1 .removegrain(20,-1).mt_inpand()
# bright_limit = (wide==false) ? bright_limit1 : bright_limit1.removegrain(20,-1).mt_expand()
# minmaxavg = special==false
# \ ? mt_average(dark_limit1, bright_limit1)
# \ : mt_merge(dark_limit,bright_limit,tmp.removegrain(11,-1),Y=3,U=-128,V=-128)
#
# Str=string(float(strength)/100.0)
# normsharp = Smode==1 ? unsharpmask(strength,radius,0)
# \ : Smode==2 ? sharpen(float(strength)/100.0)
# \ : Smode==3 ? mt_lutxy(tmp,minmaxavg,yexpr="x x y - "+Str+" * +")
# \ : mt_lutxy(tmp,tmpsoft,"x y == x x x y - abs 16 / 1 2 / ^ 16 * "+Str+
# \ " * x y - 2 ^ x y - 2 ^ "+Str+" 100 * 25 / + / * x y - x y - abs / * + ?")
#
# OS = string(overshoot)
# US = string(undershoot)
# mt_lutxy( bright_limit, normsharp, yexpr="y x "+OS+" + < y x y x - "+OS+" - 1 2 / ^ + "+OS+" + ?")
# mt_lutxy( dark_limit, last, yexpr="y x "+US+" - > y x x y - "+US+" - 1 2 / ^ - "+US+" - ?")
#
# Lmode==1 ? mt_clamp(normsharp, bright_limit, dark_limit, overshoot, undershoot) : last
#
# normal = last
# zero = mt_clamp(normsharp, bright_limit, dark_limit, 0,0)
#
# Lmode==3 ? mt_merge(normal,zero,edge.mt_inflate()) : normal
#
# edgemode==0 ? last
# \ : edgemode==1 ? mt_merge(tmp,last,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
# \ : mt_merge(last,tmp,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
#
# AMNT = string(soft)
# AMNT2 = string(100-soft)
# sharpdiff=mt_makediff(tmp,last)
# sharpdiff2=mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1),
# \ "x 128 - abs y 128 - abs > y "+AMNT+" * x "+AMNT2+" * + 100 / x ?")
#
# soft==0 ? last : mt_makediff(tmp,sharpdiff2)
#
# (ss_x != 1.0 || ss_y != 1.0)
# \ || (dest_x != ox || dest_y != oy) ? lanczosresize(dest_x,dest_y) : last
#
# ex=blankclip(last,width=smx,height=smy,color=$FFFFFF).addborders(2,2,2,2).coloryuv(levels="TV->PC")
# \.blur(1.3).mt_inpand().blur(1.3).bicubicresize(dest_x,dest_y,1.0,.0)
# tmp = clp.lanczosresize(dest_x,dest_y)
#
# clp.isYV12() ? ( exborder==0 ? tmp.mergeluma(last)
# \ : mt_merge(tmp,last,ex,Y=3,U=1,V=1) )
# \ : ( exborder==0 ? tmp.mergeluma(last.converttoyuy2())
# \ : tmp.mergeluma( mt_merge(tmp.converttoyv12(),last,ex,Y=3,U=1,V=1)
# \ .converttoyuy2()) )
#
# (edgemode!= -1) ? last : edge.lanczosresize(dest_x,dest_y).greyscale
#
# }
#
# [<separator="Sharping">]
# LimitedSharpenFaster(Smode=1, ss_x=2.0, ss_y=2.0,strength=[<"Sharpness (400)", 0, 2400, 407>],overshoot=[<"OverShoot (0)", 0, 6, 0>])
#
# [/Sharping]
#
# [Post-Auto Gain=0]
# colorYUV(autogain=true)
# [/Post-Auto Gain]
#
# [White Balance=0]
# colorYUV(autowhite=true)
# [/White Balance]
#
#
# [Analyze Signal Output=0]
# colorYUV(analyze=true)
# [/Analyze Signal Output]
#
#
# [<separator="SeeSaw">]
# [SeeSaw 1=0]
# SetMTmode(2,2)
# SeeSaw( NRlimit=10,NRlimit2=5, Sstr=[<"Sstr(1.5)", .1, 10, 5.0>],Slimit=9,Spower=9, Szp=[<"Spz(16)", .1, 30, 18.0>],sootheT=80, bias=[<"Bias(40)", .1, 80, 80.0>] )
# [/SeeSaw 1]
#
#
# #[SeeSaw=0]
# #SetMTmode(2,2)
# #[<separator="SeeSaw">]
# #SeeSaw(NRlimit=[<"NR-Limit(4)",.1,10,4>],NRlimit2=[<"NR-Limit2(5)", .1, 10, 4>], Sstr=[<"Sstr(1.5)",.1,10,1.5>], Slimit=[<"Slimit(9)",.1,20,9>], Spower=[<"Spower(9)",.1,20,9>], #Szp=[<"Spz(16)",.1,30,16>], sootheT=[<"smootheT(8)",.1,20,8>], bias=[<"Bias(40)",.1,80,40>] )
# #[/SeeSaw]
#
#
# [<separator="SeeSaw Boost 2">]
# [SeeSaw 2=0]
# SetMTmode(2,2)
# SeeSaw( NRlimit=10,NRlimit2=5, Sstr=[<"SstrT(1.5)", .1, 10, 8.3>],Slimit=9,Spower=9, Szp=[<"SpzT(16)", .1, 30, 23.0>],sootheT=80, bias=[<"BiasT(40)", .1, 80, 7.6>] )
# [/SeeSaw 2]
#
# #SeeSaw( NRlimit=4, NRlimit2=5, Sstr=1.5, Slimit=9, Spower=9, Szp=16, sootheT=80, bias=40)
#
#
# [MiniDVD-Camcorder=0]
# complementparity
# separatefields
# #AssumeFrameBased
# #AssumeFieldBased
# #SwapFields
# bob()
# [/MiniDVD-Camcorder]
#
# [MiniDVD-Camcorder 2=0]
# complementparity
# #separatefields
# #AssumeFrameBased
# AssumeFieldBased
# #SwapFields
# DGbob(order=1)
#
# [/MiniDVD-Camcorder 2]
#
# [Invert Video=0]
# INVERT()
# [/Invert Video]
# return last
### AvsP marked script ###

Richard
photorecall.net
rfmmars is offline   Reply With Quote
Old 30th January 2008, 19:57   #5  |  Link
rfmmars
Registered User
 
Join Date: Feb 2004
Posts: 743
This is the last filter chain that I used for film restoration, you will want to reset all of the values for your clip
..................................................................................
VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetCompression();
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("Deinterlace 'Muksun'");
VirtualDub.video.filters.instance[0].Config(150);
VirtualDub.video.filters.Add("Stable video v1.0 alpha");
VirtualDub.video.filters.instance[1].Config(4, 4691195);
VirtualDub.video.filters.Add("MSU SmartBrightness 1.01");
VirtualDub.video.filters.instance[2].Config(0, 114, -32, 0);
VirtualDub.video.filters.instance[2].SetEnabled(false);
VirtualDub.video.filters.Add("RGB Equalizer(2.11)");
VirtualDub.video.filters.instance[3].Config("€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‹€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€„€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€Ÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‡€€€€€€€€•€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€†€„€‚„€‚„€‚„€‚„€‚„€‚„€‚„€‚„€‘„€‚„€");
VirtualDub.video.filters.Add("ffvdub");
VirtualDub.video.filters.instance[4].Config2(1700,"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");
VirtualDub.video.filters.Add("dynamic noise reduction (MMX)");
VirtualDub.video.filters.instance[5].Config (31);
VirtualDub.video.filters.instance[5].SetEnabled(false);
VirtualDub.video.filters.Add("Color Mill(2.1)");
VirtualDub.video.filters.instance[6].Config(25700, 25700, 25700, 25700, 25956, 25700, 25700, 28772, 28784, 25692, 25700, 25700, 25700, 1124, 4101);
VirtualDub.audio.filters.Clear();
...........................................................

EDIT: Must use Virtualdub 1.7.10 exp

Richard
photorecall.net

Last edited by rfmmars; 30th January 2008 at 19:59.
rfmmars is offline   Reply With Quote
Old 31st January 2008, 01:34   #6  |  Link
tilllt
Registered User
 
Join Date: Sep 2005
Posts: 11
it took me a while to find download and install all the filters you mentioned. For the virtualDub filterchain: I couldnt find the version you mentioned (1.7.10) - the newest i found was 1.7.7 - but this keeps crashing when i open your settings file... where do i get 1.7.10?

now i'll to understand the avs process you mentioned. thank you very much so far. i will report if i have some results.
tilllt is offline   Reply With Quote
Old 31st January 2008, 06:53   #7  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Really? The latest is always at virtualdub.org.
foxyshadis is offline   Reply With Quote
Old 31st January 2008, 07:47   #8  |  Link
Placio74
VideoAudio
 
Placio74's Avatar
 
Join Date: Feb 2007
Location: Poland
Posts: 219
Quote:
Originally Posted by rfmmars View Post
...
EDIT: Must use Virtualdub 1.7.10 exp
1.7.X test10?
Links to latest test version is accessible in this topic.
Actual test version it's 1.8.0 test2 (1.8.0-prerelease (build 29270)).

On virtualdub.org site (or just here) - latest stable version (actual 1.7.7 (build 28312)).
Placio74 is offline   Reply With Quote
Old 31st January 2008, 07:48   #9  |  Link
tilllt
Registered User
 
Join Date: Sep 2005
Posts: 11
probably i am blind or something but the newest i can find is 1.7.7 stable...
edit: ah i was too late, there is the explanation... thank you
tilllt is offline   Reply With Quote
Old 31st January 2008, 08:44   #10  |  Link
rfmmars
Registered User
 
Join Date: Feb 2004
Posts: 743
Quote:
Originally Posted by tilllt View Post
it took me a while to find download and install all the filters you mentioned. For the virtualDub filterchain: I couldnt find the version you mentioned (1.7.10) - the newest i found was 1.7.7 - but this keeps crashing when i open your settings file... where do i get 1.7.10?

now i'll to understand the avs process you mentioned. thank you very much so far. i will report if i have some results.
The VD I used iwas an experamental version, now replaced by 1.8.1-test

Hers the link.

http://www.virtualdub.org/beta/Virtu....8.0-test1.zip

If it is crashing try deleting a filter one at a time. Also the reason it may be crashing is in the exp. version, there is a check box to turn off and on a filter, and the regular version doesn't have it as far as I know and that maybe why it crashes.

Richard
photorecall.net
rfmmars is offline   Reply With Quote
Old 31st January 2008, 20:50   #11  |  Link
tilllt
Registered User
 
Join Date: Sep 2005
Posts: 11
please excuse another stupid question but who the heck do i get the AVSp Markup Code back into AVSp? thank you.
tilllt is offline   Reply With Quote
Old 1st February 2008, 02:21   #12  |  Link
rfmmars
Registered User
 
Join Date: Feb 2004
Posts: 743
Quote:
Originally Posted by tilllt View Post
please excuse another stupid question but who the heck do i get the AVSp Markup Code back into AVSp? thank you.
You need to combine my two posts as one AVS.

If you can't do it e-mail me at

rfmmars@cox.net

Richard
photorecall.net
rfmmars is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.