AviSynth Howto



Table of Contents




Green/Magenta Anaglyph Conversion to Parallel (by Philip Heggie)

# Load up our anaglyph file
vidr = avisource("anaglyph.avi")
vidlOrig = avisource("anaglyph.avi")
vidsound = avisource("anaglyph.avi")

# We need these for later
vidr = ConvertToRGB(vidr)
vidr = MergeRGB(vidr.ShowGreen("YV12"), vidr.ShowGreen("YV12"), vidr.ShowGreen("YV12"))
vidr = Greyscale(vidr)
vidr = ConvertToRGB(vidr)
vidlOrig = ConvertToRGB(vidlOrig)
vidl = vidlOrig
vidl = MergeRGB(vidl.ShowRed("YV12"), vidl.ShowRed("YV12"), vidl.ShowBlue("YV12"))
vidl = Greyscale(vidl)

# Create a 'colour map' by resizing the image down to 64x64, (makes a blurry image)
vidColor = avisource("anaglyph.avi")
vidColor = BilinearResize(vidColor, 64, 64)
vidColor = BilinearResize(vidColor, width(vidr), height(vidr))

# Make our grayscale images
vidl = MergeRGB(vidl.ShowRed("YV12"), vidl.ShowGreen("YV12"), vidl.ShowBlue("YV12"))
vidl = ConvertToYV12(vidl)
vidColor = ConvertToYV12(vidColor)

# Use our colour map
vidl = mergechroma(vidl, vidColor)

# Resplice the correct channels
vidl = ConvertToRGB(vidl)
vidl = MergeRGB(vidl.showRed("YV12"), vidl.ShowGreen("YV12"), vidl.ShowBlue("YV12"))

# Create a 'colour map' by resizing the image down to 64x64 (makes a blurry image)
vidColor2 = avisource("anaglyph.avi")
vidColor2 = BilinearResize(vidColor2, 64, 64)
vidColor2 = BilinearResize(vidColor2, width(vidr), height(vidr))

# Make our grayscale images
# vidr = MergeRGB(vidr.ShowRed("YV12"), vidr.ShowBlue("YV12"), vidr.ShowGreen("YV12"))
vidr = ConvertToYV12(vidr)
vidColor2 = ConvertToYV12(vidColor2)

# Use our colour map
vidr = MergeChroma(vidr, vidColor2)

# Resplice the correct channels
vidr = ConvertToRGB(vidr)
vidr = MergeRGB(vidr.showRed("YV12"), vidr.ShowGreen("YV12"), vidr.ShowBlue("YV12"))

# Show the Crosseye image
StackHorizontal(vidr, vidl)
AudioDub(vidsound)




Green/Magenta Anaglyph Plus 2D Conversion to Parallel (by Philip Heggie)

# Load up our anaglyph file
vidr = avisource("anaglyph.avi")
vidlOrig = avisource("anaglyph.avi")
vidsound = avisource("anaglyph.avi")

# We need these for later
vidr = ConvertToRGB(vidr)
vidr = MergeRGB(vidr.ShowGreen("YV12"), vidr.ShowGreen("YV12"), vidr.ShowGreen("YV12"))
vidr = Greyscale(vidr)
vidr = ConvertToYV12(vidr)
vidr = ConvertToRGB(vidr)
vidlOrig = ConvertToRGB(vidlOrig)
vidl = vidlOrig
vidl = MergeRGB(vidl.ShowRed("YV12"), vidl.ShowRed("YV12"), vidl.ShowBlue("YV12"))
vidL = Greyscale(vidl)

# Create a 'colour map' by resizing the image down to 64x64 (makes a blurry image)
vidColor = avisource("video.avi")
vidColor = BilinearResize(VidColor, 64, 64)
vidColor = BilinearResize(VidColor, width(vidr), height(vidr))

# Make our grayscale images
vidl = MergeRGB(vidl.ShowRed("YV12"), vidl.ShowGreen("YV12"), vidl.ShowBlue("YV12"))
vidl = ConvertToYV12(vidl)
vidColor = ConvertToYV12(vidColor)

# Use our colour map
vidl = mergechroma(vidl, vidColor)

# Resplice the correct channels
vidl = ConvertToRGB(vidl)
vidl = MergeRGB(vidl.showRed("YV12"), vidl.ShowGreen("YV12"), vidl.ShowBlue("YV12"))

# Create a 'colour map' by resizing the image down to 64x64 (makes a blurry image)
vidColor2 = avisource("video.avi")
vidColor2 = BilinearResize(vidColor2, 64, 64)
vidColor2 = BilinearResize(vidColor2, width(vidr), height(vidr))

# Make our grayscale images
# vidr = MergeRGB(vidr.ShowRed("YV12"), vidr.ShowBlue("YV12"), vidr.ShowGreen("YV12"))
vidr ConvertToYV12(vidr)
vidColor2 = ConvertToYV12(vidColor2)

# Use our colour map
vidr = MergeChroma(vidr, vidColor2)

# Resplice the correct channels
vidr = ConvertToRGB(vidr)
vidr = MergeRGB(vidr.showRed("YV12"), vidr.ShowGreen("YV12"), vidr.ShowBlue("YV12"))

# show the Crosseye image
StackHorizontal(vidr,vidl)
AudioDub(vidsound)





Deinterlacing

# Top Field First material
LoadPlugin("D:\Program Files\AviSynth 2.5\plugins\TomsMoComp.dll")
LoadPlugin("D:\Program Files\AviSynth 2.5\plugins\UnDot.dll")
Avisource("test.avi")
ConvertToYUY2()
Top=AssumeFrameBased().ComplementParity()
Bottom=Top.SeparateFields.Trim(1,0).weave
Interleave(Top.TomsMoComp(1,5,1),Bottom.TomsMoComp(0,5,1))
UnDot()
last


# Bottom Field First material
LoadPlugin("D:\Program Files\AviSynth 2.5\plugins\TomsMoComp.dll")
Avisource("test.avi")
ConvertToYUY2()
Bottom=AssumeFrameBased()
Top=Bottom.SeparateFields.Trim(1,0).weave
Interleave(Bottom.TomsMoComp(0,5,1),Top.TomsMoComp(1,5,1))

Download TomsMoComp v0.0.1.8
Download UnDot v0.0.1.1





Please submit new command lines to Olivier Amato