TomsMoComp

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (category)
(add some things)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
 
{{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}}
 
{{FilterCat4|External_filters|Plugins|Restoration_filters|Deinterlacers}}
 
+
{{Filter3
{{Filter
+
|{{Author/Tom Barry}}
|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]}}
+
{{Template:FuncDef|TomsMoComp(TopFirst, SearchEffort, VerticalFilter) }}
+
 
+
== Abstract ==
+
  
 +
== Description ==
 
TomsMoComp is a filter that uses motion compensation and adaptive processing to deinterlace video sources.
 
TomsMoComp is a filter that uses motion compensation and adaptive processing to deinterlace video sources.
 +
<br>
 +
<br>
 +
== Requirements ==
 +
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]
 +
* Supported color formats: [[YUY2]], [[YV12]]
 +
* [[MMX]] capable CPU
 +
<br>
 +
== [[Script variables|Syntax and Parameters]] ==
 +
:{{Template:FuncDef|TomsMoComp (clip, int, int, int) }}
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip.
  
== Notes ==
+
::{{Par2| |int| }}
 +
:::<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
 +
:::*0 : BottomFirst
 +
:::*1 : TopFirst
  
All the values are integer, 0=no, 1=yes:
+
::{{Par2| |int| }}
 +
:::<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.
  
'''TopFirst:'''  
+
::{{Par2| |int| }}
 +
:::<tt>'''VerticalFilter'''</tt>:
 +
:::* 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.
 +
<br>
 +
::<span style="color:red">'''Note:'''</span> these parameters are all unnamed and do not have defaults, each value '''must be specified'''.
 +
<br>
 +
==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.
  
Assume the top field, lines 0,2,4,... should be displayed first. The default is BottomFirst. You may have to bring it up in Virtualdub and look at a few frames to see which looks best. (0=BottomFirst, 1=TopFirst, -1=automatically pick up whatever Avisynth reports).
+
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)  
'''SearchEffort:'''
+
    {
 
+
        c = c.[[SeparateFields]].TomsMoComp(0,-1,0).[[SimpleResize]](c.width,c.height+1)
Determines how much effort (CPU time) will be used to find moved pixels. Currently numbers from -1 to 30 with 0 being practically just a smarter bob and 30 being fairly CPU intensive.  
+
+
        # add this if your clip starts on a half-frame (e.g. a top-field in a BottomFirst clip)
A value of -1 is supported. In this case 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.
+
        c = c.[[Trim]](1,0)
 
+
'''VerticalFilter:'''
+
        # invert these for TopFirst source material
 
+
        bottom = c.[[SelectEven]]()
If turned on will very slightly blend each pair of horizontal lines togetherThis 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. (0 = no filter, 1 = filter).
+
        top = c.[[SelectOdd]]()
 
+
   
== Links ==
+
        bottom = bottom.[[Crop]](0,1,0,0)  
 
+
        top = top.Crop(0,0,0,-1)
<strike>Download the latest stable version: [http://home.comcast.net/~tombarry970/TomsMoComp.zip] [http://members.cox.net/trbarry/TomsMoComp.zip]</strike>
+
        return [[Interleave]](bottom, top)
 
+
    }
Original Doom9 thread: [http://forum.doom9.org/showthread.php?s=&threadid=28778]
+
<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 ==
 +
*[http://web.archive.org/web/20101228035230/http://neuron2.net/trbarry/Readme_TomsMoComp.txt archive.org] - archived documentation.
 +
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Deinterlacing_2| External Filters]] &larr;'''

Latest revision as of 14: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