MCBob

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (1 revision)
m
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat|External_filters|Restoration_filters|Deinterlacers}}
+
{{FilterCat4|External_filters|Scripts|Restoration_filters|Deinterlacers}}
 +
{{Filter3
 +
|[http://home.arcor.de/dhanselmann/_stuff/ Didée]
 +
|v0.3u6
 +
|3=MCBobUv6.avsi
 +
|4=Deinterlacers
 +
|5=
 +
|6=[http://forum.doom9.org/showthread.php?t=117025 original] / [http://forum.doom9.org/showthread.php?t=124676 continued]}}
  
Another high quality deinterlacer. Scripted by Didee.
+
==Description==
 +
Another approach to motion compensated bobbing, build by Didée.
  
Get both the original version and a modded version with NNEDI support here:
+
<br>
http://forum.doom9.org/showthread.php?t=124676
+
== Requirements ==
 +
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]
 +
* Supported color formats: [[YV12]]
 +
 
 +
===Required Plugins===
 +
Latest version of the following plugins are recommended unless stated otherwise.<br>
 +
* [[MaskTools2]]
 +
* [[MedianBlur]]
 +
* [[MVTools]]
 +
*[[nnedi3|NNEDI3]]
 +
* RemoveGrain + Repair - part of the [[RemoveGrain v1.0b]] package.
 +
'''Optional:'''
 +
*[[EEDI2]] | [[NNEDI]] | [[nnedi2|NNEDI2]]<br>Only required when it's specifically set by the <tt>{{Template:FuncDef|EdiMode}}</tt> parameter.
 +
* [[ReduceFlicker]]<br> Only required when <tt>{{Template:FuncDef|MEtempNR}}</tt> is greater than 0.
 +
 
 +
<br>
 +
== [[Script variables|Syntax and Parameters]] ==
 +
{{FuncDef|MCBobu (clip clp, float "EdiPre", int "EdiPost", int "blocksize", int "search", int "MEdepth", string "EdiMode", int "nsize", int "nns", int "qual", int "maxd", float "sharpness", int "mtnmode", float "mtnth1", float "mtnth2", float "errth1", float "errth2", float "MEspatNR", float "MEtempNR")}}
 +
 
 +
<pre>
 +
EdiPre    = default( EdiPre,      1.0 )  #  What bob to start with: 0.0 = dumbbob, 1.0 = EdiBob, inbetween = mix of both
 +
EdiPost  = default( EdiPost,        2 )  #  0 = no EDI PP / 1 = Framesized Edi PP / Average two Fieldbased Edi PP's
 +
bs        = default( blocksize,    16 )  #  Blocksize for motion search
 +
search    = default( search,        2 )  #  Motion Search Algorithm. Default is "Diamond"
 +
me        = default( MEdepth,        2 )  #  Search effort of motion search
 +
EdiMode  = default( EdiMode, "nnedi3" )  #  Interpolator. Select between EEDI2, nnedi, nnedi2, & nnedi3
 +
nsize    = default( nsize,          2 )  #  nnedi2/nnedi3 only: Sets the size of the local neighborhood around each pixel that is used by the predictor neural network.
 +
                                          #  For deinterlacing, larger x_diameter settings will allow connecting lines of smaller slope. 0-2 for nnedi2; 0-4 for nnedi3.
 +
                                          #  Possible settings (x_diameter x y_diameter): 0 (8x6), 1 (16x6), 2 (32x6), 3 (48x6), 4 (8x4)
 +
nns      = default( nns,            1 )  #  nnedi3 only: "Speed" vs. "Quality" option. Sets the number of neurons in the predictor neural network.
 +
                                          #  Settings ranges from 0 to 3 (3 being the best/slowest). 0 (32), 1 (64), 2 (128), or 3 (256)
 +
qual      = default( qual,          1 )  #  nnedi2/nnedi3 only: Controls the number of different neural network predictions that are blended together to compute the final output value.
 +
                                          #  Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalization to unseen data.
 +
                                          #  Possible values are 1-3 for nnedi2, and 1 or 2 for nnedi3. Essentially this is a quality vs speed option.
 +
                                          #  Larger values will result in more processing time, but should give better results.
 +
maxd      = default( maxd,          24 )  #  Adjustable parameter for EEDI2 only. Refer to EEDI2's doc for details
 +
 
 +
sharpness = (EdiPost==2)
 +
\        ? default( sharpness,    0.7 ) 
 +
\        : default( sharpness,    1.0 )  #  use slight sharpening before STT routine
 +
   
 +
mtnmode  = default( mtnmode,        1 )  #  0 = use only same-parity motion check, 1|2 use an additional
 +
                                          #  inter-parity check: 1 = on vertical edges / 2 = not on horizontal edges
 +
mtnth1    = default( mtnth1,      0.20 )  #  below this percentage of local min/max is static
 +
mtnth2    = default( mtnth2,      0.40 )  #  above this percentage of local min/max is motion
 +
errth1    = default( errth1,      0.40 )  #  similar for error detection
 +
errth2    = default( errth2,      0.60 )  #  of motion interpolation errors
 +
MEspatNR  = default( MEspatNR,    0.00 )  #  amount of spatial NR (for motion search only)
 +
MEtempNR  = default( MEtempNR,    0.00 )  #  amount of temporal NR (for motion search only)
 +
</pre>
 +
<br>
 +
 
 +
==History==
 +
===Official===
 +
*23 Oct 2006 - [http://forum.doom9.org/showpost.php?p=891383&postcount=23 MCBob_v03a]
 +
*26 Oct 2006 - [http://forum.doom9.org/showpost.php?p=892518&postcount=31 MCBob_v03b]
 +
*15 Dec 2006 - [http://forum.doom9.org/showpost.php?p=916967&postcount=13 MCBob_v03c]
 +
===Modifications===
 +
*14 Nov 2008 - [http://forum.doom9.org/showpost.php?p=1213195&postcount=109 MCBobmod]
 +
*15 Feb 2009 - [http://forum.doom9.org/showpost.php?p=1249932&postcount=114 MCBob v0.3u2_MVT2]
 +
*23 Feb 2009 - [http://forum.doom9.org/showpost.php?p=1253486&postcount=116 MCBob v0.3u3_MVT2]
 +
*22 Nov 2009 - [http://forum.doom9.org/showpost.php?p=1346265&postcount=152 MCBob v0.3u4_MVT2]
 +
*28 Apr 2010 - [http://forum.doom9.org/showpost.php?p=1395428&postcount=173 MCBob v0.3u4]
 +
*03 May 2010 - [http://forum.doom9.org/showpost.php?p=1396802&postcount=174 MCBob v0.3u5]
 +
*16 May 2010 - [http://forum.doom9.org/showpost.php?p=1400371&postcount=438 MCBob v0.3u6]
 +
 
 +
 
 +
==External Links==
 +
*Doom9 Forum - [http://forum.doom9.org/showthread.php?t=117025 original discussion] | [http://forum.doom9.org/showthread.php?t=124676 continued discussion]
 +
 
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Deinterlacing|External Filters]] &larr;'''

Latest revision as of 00:45, 25 June 2018

Abstract
Author Didée
Version v0.3u6
Download MCBobUv6.avsi
Category Deinterlacers
License
Discussion original / continued

Contents

[edit] Description

Another approach to motion compensated bobbing, build by Didée.


[edit] Requirements

  • AviSynth 2.5.8 or greater
  • Supported color formats: YV12

[edit] Required Plugins

Latest version of the following plugins are recommended unless stated otherwise.

Optional:

  • EEDI2 | NNEDI | NNEDI2
    Only required when it's specifically set by the EdiMode parameter.
  • ReduceFlicker
    Only required when MEtempNR is greater than 0.


[edit] Syntax and Parameters

MCBobu (clip clp, float "EdiPre", int "EdiPost", int "blocksize", int "search", int "MEdepth", string "EdiMode", int "nsize", int "nns", int "qual", int "maxd", float "sharpness", int "mtnmode", float "mtnth1", float "mtnth2", float "errth1", float "errth2", float "MEspatNR", float "MEtempNR")

EdiPre    = default( EdiPre,       1.0 )  #  What bob to start with: 0.0 = dumbbob, 1.0 = EdiBob, inbetween = mix of both
EdiPost   = default( EdiPost,        2 )  #  0 = no EDI PP / 1 = Framesized Edi PP / Average two Fieldbased Edi PP's
bs        = default( blocksize,     16 )  #  Blocksize for motion search
search    = default( search,         2 )  #  Motion Search Algorithm. Default is "Diamond"
me        = default( MEdepth,        2 )  #  Search effort of motion search
EdiMode   = default( EdiMode, "nnedi3" )  #  Interpolator. Select between EEDI2, nnedi, nnedi2, & nnedi3
nsize     = default( nsize,          2 )  #  nnedi2/nnedi3 only: Sets the size of the local neighborhood around each pixel that is used by the predictor neural network. 
                                          #  For deinterlacing, larger x_diameter settings will allow connecting lines of smaller slope. 0-2 for nnedi2; 0-4 for nnedi3. 
                                          #  Possible settings (x_diameter x y_diameter): 0 (8x6), 1 (16x6), 2 (32x6), 3 (48x6), 4 (8x4)
nns       = default( nns,            1 )  #  nnedi3 only: "Speed" vs. "Quality" option. Sets the number of neurons in the predictor neural network.
                                          #  Settings ranges from 0 to 3 (3 being the best/slowest). 0 (32), 1 (64), 2 (128), or 3 (256)
qual      = default( qual,           1 )  #  nnedi2/nnedi3 only: Controls the number of different neural network predictions that are blended together to compute the final output value. 
                                          #  Each neural network was trained on a different set of training data. Blending the results of these different networks improves generalization to unseen data.
                                          #  Possible values are 1-3 for nnedi2, and 1 or 2 for nnedi3. Essentially this is a quality vs speed option. 
                                          #  Larger values will result in more processing time, but should give better results.
maxd      = default( maxd,          24 )  #  Adjustable parameter for EEDI2 only. Refer to EEDI2's doc for details

sharpness = (EdiPost==2)
 \        ? default( sharpness,    0.7 )  
 \        : default( sharpness,    1.0 )  #  use slight sharpening before STT routine
    
mtnmode   = default( mtnmode,        1 )  #  0 = use only same-parity motion check, 1|2 use an additional 
                                          #  inter-parity check: 1 = on vertical edges / 2 = not on horizontal edges
mtnth1    = default( mtnth1,      0.20 )  #  below this percentage of local min/max is static
mtnth2    = default( mtnth2,      0.40 )  #  above this percentage of local min/max is motion
errth1    = default( errth1,      0.40 )  #  similar for error detection
errth2    = default( errth2,      0.60 )  #  of motion interpolation errors
MEspatNR  = default( MEspatNR,    0.00 )  #  amount of spatial NR (for motion search only)
MEtempNR  = default( MEtempNR,    0.00 )  #  amount of temporal NR (for motion search only)


[edit] History

[edit] Official

[edit] Modifications


[edit] External Links



Back to External Filters

Personal tools