TomsMoComp
From Avisynth wiki
(Difference between revisions)
(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}} | ||
− | {{ | + | {{Filter3 |
− | |Tom Barry | + | |{{Author/Tom Barry}} |
|0.0.1.8 | |0.0.1.8 | ||
− | |[http://web.archive.org/web/ | + | |[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] |
− | + | |6=[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 | + | :::*-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) |
− | + | ||
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. | |
− | + | <br> | |
− | + | <br> | |
− | + | ----------------------------------------------- | |
+ | '''Back to [[External_filters#Deinterlacing_2| External Filters]] ←''' |
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.
- 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
- 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.
- int =
- 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 =
- 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.
- VerticalFilter:
- int =
- 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
- archive.org - archived documentation.
Back to External Filters ←