TomsMoComp

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(reformat and add TomsBob script)
(add some things)
 
Line 1: Line 1:
 
{{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}}
 
{{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}}
{{Filter
+
{{Filter3
|Tom Barry
+
|{{Author/Tom Barry}}
 
|0.0.1.8
 
|0.0.1.8
|[http://web.archive.org/web/20070304085204/http://www3.impacthosting.com/trbarry/TomsMoComp.zip TomsMoComp.zip]
+
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/TomsMoComp.zip TomsMoComp.zip]
 
|Deinterlacing
 
|Deinterlacing
|
+
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
* [[YUY2]]
+
|6=[http://forum.doom9.org/showthread.php?s=&threadid=28778 Doom9 Thread]}}
* [[YV12]]
+
|GNU General Public License
+
|7=[http://forum.doom9.org/showthread.php?s=&threadid=28778 Doom9 Thread]}}
+
  
 
== Description ==
 
== Description ==
Line 21: Line 18:
 
<br>
 
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
{{Template:FuncDef|TomsMoComp (clip, int, int, int) }}
+
:{{Template:FuncDef|TomsMoComp (clip, int, int, int) }}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
Line 27: Line 24:
  
 
::{{Par2| |int| }}
 
::{{Par2| |int| }}
:::'''TopFirst''': assume the top field, lines 0,2,4,... should be displayed first. You may have to look at a few frames to see which looks best.
+
:::<tt>'''TopFirst'''</tt>: assume the top field, lines 0,2,4,... should be displayed first. You may have to look at a few frames to see which looks best.
:::*-1 : automatically pick up whatever Avisynth reports).
+
:::*-1 : automatically pick up whatever AviSynth reports
 
:::*0 : BottomFirst  
 
:::*0 : BottomFirst  
 
:::*1 : TopFirst
 
:::*1 : TopFirst
  
 
::{{Par2| |int| }}
 
::{{Par2| |int| }}
:::'''SearchEffort''': determines how much effort (CPU time) will be used to find moved pixels. Valid range is from -1 to 30, with 0 being practically just a smarter bob and 30 being fairly CPU intensive. Higher values are also more prone to artifacts.
+
:::<tt>'''SearchEffort'''</tt>: determines how much effort (CPU time) will be used to find moved pixels. Valid range is from -1 to 30, with 0 being practically just a smarter bob and 30 being fairly CPU intensive. Higher values are also more prone to artifacts.
 
:::A value of -1 means the TomsMoComp filter will not deinterlace but instead assume you already have progressive frames but want to double the vertical size. Useful for low bit rate captures that are hard to IVTC/deinterlace or where you have just kept the even fields for some other reason.
 
:::A value of -1 means the TomsMoComp filter will not deinterlace but instead assume you already have progressive frames but want to double the vertical size. Useful for low bit rate captures that are hard to IVTC/deinterlace or where you have just kept the even fields for some other reason.
  
 
::{{Par2| |int| }}
 
::{{Par2| |int| }}
:::'''VerticalFilter:'''
+
:::<tt>'''VerticalFilter'''</tt>:
 
:::* 0 : off (default)
 
:::* 0 : off (default)
 
:::* 1 : on - filter will very slightly blend each pair of horizontal lines together. This loses only a small amount of vertical resolution but is probably a good idea as it can somewhat hide remaining deinterlace artifacts and will probably also make you clip compress a bit better.
 
:::* 1 : on - filter will very slightly blend each pair of horizontal lines together. This loses only a small amount of vertical resolution but is probably a good idea as it can somewhat hide remaining deinterlace artifacts and will probably also make you clip compress a bit better.
Line 46: Line 43:
 
We've asked Tom to include a proper 60fps deinterlacer in his wonderful TomsMoComp, but until then you'll have to make do with TomsBob.  
 
We've asked Tom to include a proper 60fps deinterlacer in his wonderful TomsMoComp, but until then you'll have to make do with TomsBob.  
  
This function does uses the special '-1' mode of TomsMoComp for jaggy-free upscaling. It also requires the plugin SimpleResize, obviously, as part of the step to remove bobbing.
+
This function does uses the special '-1' mode of TomsMoComp for jaggy-free upscaling. It also requires the plugin [[SimpleResize]], obviously, as part of the step to remove bobbing.
  
 
     function TomsBob (clip c)  
 
     function TomsBob (clip c)  
 
     {
 
     {
         c = c.[[SeparateFields]].TomsMoComp(0,-1,0).SimpleResize(c.width,c.height+1)  
+
         c = c.[[SeparateFields]].TomsMoComp(0,-1,0).[[SimpleResize]](c.width,c.height+1)  
 
   
 
   
         # add this if your clip starts on a half-frame (e.g. a top-field  
+
         # add this if your clip starts on a half-frame (e.g. a top-field in a BottomFirst clip)  
        # in a BottomFirst clip)  
+
 
         c = c.[[Trim]](1,0)  
 
         c = c.[[Trim]](1,0)  
 
   
 
   
 
         # invert these for TopFirst source material  
 
         # invert these for TopFirst source material  
         bottom = c.[[SelectEven]]
+
         bottom = c.[[SelectEven]]()
         top = c.[[SelectOdd]]
+
         top = c.[[SelectOdd]]()
 
   
 
   
 
         bottom = bottom.[[Crop]](0,1,0,0)  
 
         bottom = bottom.[[Crop]](0,1,0,0)  
Line 64: Line 60:
 
         return [[Interleave]](bottom, top)  
 
         return [[Interleave]](bottom, top)  
 
     }
 
     }
 
+
<br>
 
+
== Archived Downloads ==
 +
{| class="wikitable" border="1"; width="600px"
 +
|-
 +
!!width="100px"| Version
 +
!!width="150px"| Download
 +
!!width="150px"| Mirror
 +
!!width="150px"| Mirror 2
 +
|-
 +
!v0.0.1.3
 +
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/TomsMoComp.zip TomsMoComp.zip]
 +
|[http://web.archive.org/web/20070304085204/http://www3.impacthosting.com/trbarry/TomsMoComp.zip TomsMoComp.zip]
 +
|[http://web.archive.org/web/20050305060602/http://mywebpages.comcast.net/trbarry/TomsMoComp.zip TomsMoComp.zip]
 +
|}
 +
<!--Dead links: [http://home.comcast.net/~tombarry970/TomsMoComp.zip], [http://members.cox.net/trbarry/TomsMoComp.zip]-->
 +
<br>
 
==External Links ==
 
==External Links ==
 
+
*[http://web.archive.org/web/20101228035230/http://neuron2.net/trbarry/Readme_TomsMoComp.txt archive.org] - archived documentation.
<strike>Download the latest stable version: [http://home.comcast.net/~tombarry970/TomsMoComp.zip] [http://members.cox.net/trbarry/TomsMoComp.zip]</strike>
+
<br>
 
+
<br>
Original Doom9 thread: [http://forum.doom9.org/showthread.php?s=&threadid=28778]
+
-----------------------------------------------
 +
'''Back to [[External_filters#Deinterlacing_2| External Filters]] &larr;'''

Latest revision as of 13:56, 31 March 2015

Abstract
Author Tom Barry
Version 0.0.1.8
Download TomsMoComp.zip
Category Deinterlacing
License GPLv2
Discussion Doom9 Thread

Contents

[edit] Description

TomsMoComp is a filter that uses motion compensation and adaptive processing to deinterlace video sources.

[edit] Requirements


[edit] Syntax and Parameters

TomsMoComp (clip, int, int, int)


clip   =
Input clip.
int   =
TopFirst: assume the top field, lines 0,2,4,... should be displayed first. You may have to look at a few frames to see which looks best.
  • -1 : automatically pick up whatever AviSynth reports
  • 0 : BottomFirst
  • 1 : TopFirst
int   =
SearchEffort: determines how much effort (CPU time) will be used to find moved pixels. Valid range is from -1 to 30, with 0 being practically just a smarter bob and 30 being fairly CPU intensive. Higher values are also more prone to artifacts.
A value of -1 means the TomsMoComp filter will not deinterlace but instead assume you already have progressive frames but want to double the vertical size. Useful for low bit rate captures that are hard to IVTC/deinterlace or where you have just kept the even fields for some other reason.
int   =
VerticalFilter:
  • 0 : off (default)
  • 1 : on - filter will very slightly blend each pair of horizontal lines together. This loses only a small amount of vertical resolution but is probably a good idea as it can somewhat hide remaining deinterlace artifacts and will probably also make you clip compress a bit better.


Note: these parameters are all unnamed and do not have defaults, each value must be specified.


[edit] TomsBob

We've asked Tom to include a proper 60fps deinterlacer in his wonderful TomsMoComp, but until then you'll have to make do with TomsBob.

This function does uses the special '-1' mode of TomsMoComp for jaggy-free upscaling. It also requires the plugin SimpleResize, obviously, as part of the step to remove bobbing.

   function TomsBob (clip c) 
   {
       c = c.SeparateFields.TomsMoComp(0,-1,0).SimpleResize(c.width,c.height+1) 

       # add this if your clip starts on a half-frame (e.g. a top-field in a BottomFirst clip) 
       c = c.Trim(1,0) 

       # invert these for TopFirst source material 
       bottom = c.SelectEven()
       top = c.SelectOdd()

       bottom = bottom.Crop(0,1,0,0) 
       top = top.Crop(0,0,0,-1) 
       return Interleave(bottom, top) 
   }


[edit] Archived Downloads

Version Download Mirror Mirror 2
v0.0.1.3 TomsMoComp.zip TomsMoComp.zip TomsMoComp.zip


[edit] External Links




Back to External Filters

Personal tools