<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://avisynth.nl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://avisynth.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mystery</id>
		<title>Avisynth wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mystery"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Special:Contributions/Mystery"/>
		<updated>2026-05-30T18:24:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php/DctFilter</id>
		<title>DctFilter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DctFilter"/>
				<updated>2018-06-06T18:33:15Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Plugins|Other_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
| {{Author/Tom Barry}}, Chikuzen&lt;br /&gt;
| v0.0.1.5 &lt;br /&gt;
|[http://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter_015.zip]&lt;br /&gt;
| 4=Other filters&lt;br /&gt;
| 5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
| 6=[http://forum.doom9.org/showthread.php?t=38539 Doom9 Thread]}}&lt;br /&gt;
== Description ==&lt;br /&gt;
DctFiler is an experimental filter that, for each 8x8 block, will do a [http://en.wikipedia.org/wiki/Discrete_cosine_transform Discrete Cosine Transform] (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]&lt;br /&gt;
* Supported color formats: [[YUY2]], [[YV12]]&lt;br /&gt;
* Width and height need to be a multiple of 16 ([[Modulo|mod16]])&lt;br /&gt;
&lt;br /&gt;
* [[MMX]], [[ISSE]] or [[SSE2]] capable CPU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?p=1191185#post1191185 Stripe bug] - both variants are buggy at calculating DC, additional information [http://forum.doom9.org/showthread.php?p=1346201#post1346201 here] and [http://forum.doom9.org/showthread.php?p=1051452#post1051452 here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilter ===&lt;br /&gt;
For each 8x8 block it will do a Discrete Cosine Transform (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example the highest frequency components in each row and column will be zeroed while the 2nd highest would be cut in half.&lt;br /&gt;
:&amp;lt;code&amp;gt;DctFilter(1,1,1,1,1,1,.5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilter (clip, float, float, float, float, float, float, float, float, int &amp;quot;chroma&amp;quot;, int &amp;quot;fdct&amp;quot;, int &amp;quot;idct&amp;quot;, int &amp;quot;offx&amp;quot;, int &amp;quot;offy&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
:::There are 8 positional floating point parameters, all of which must be specified as in the range (0.0 &amp;lt;= x &amp;lt;= 1.0). These correspond to scaling factors for the 8 rows and columns of the 8x8 DCT blocks.&lt;br /&gt;
:::The leftmost parameter corresponds to the top row, left column. This would be the DC component of the transform and should always be left as 1.0.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|chroma|int|1}}&lt;br /&gt;
:::Chroma processing:&lt;br /&gt;
::::*0 : do not process nor copy, output will be trash&lt;br /&gt;
::::*1 : process&lt;br /&gt;
&lt;br /&gt;
::{{Par2|fdct|int|-1}}&lt;br /&gt;
::{{Par2|idct|int|-1}}&lt;br /&gt;
:::Choose which DCT to use (if you want to compare). Do not use fdct=2 or idct=3, it may crash!&lt;br /&gt;
&lt;br /&gt;
::::*-1 : default&lt;br /&gt;
::::*0 : integer (does not work correctly)&lt;br /&gt;
::::*1 : [[MMX]]&lt;br /&gt;
::::*2 : [[iSSE]]&lt;br /&gt;
::::*3 : [[SSE2]]&lt;br /&gt;
&lt;br /&gt;
::{{Par2|offx|int|0}}&lt;br /&gt;
::{{Par2|offy|int|0}}&lt;br /&gt;
:::Specify offsets, only use when the input clip's dimensions are mod16, otherwise it may crash.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''Note:'''&amp;lt;/span&amp;gt; the first 9 parameters are unnamed and do not have a default so they must be specified. The last 5 parameters are only available in &amp;lt;tt&amp;gt;DctFilter v0.0.1.5&amp;lt;/tt&amp;gt;, consider them as experimental so use with caution (except for {{Template:FuncDef3|chroma}}).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DctFilterD ===&lt;br /&gt;
DctFilterD works similar to DctFilter but will zero out DiagCt number of the lower right diagonals of the DCT, leaving other values unchanged. &amp;lt;br/&amp;gt;&lt;br /&gt;
In an 8x8 DCT result matrix there are 15 possible diagonals (visualize a chess board), so if you specify &amp;lt;code&amp;gt;DctFilterD(4)&amp;lt;/code&amp;gt; then the 4 diagonals in the lower right corner of the DCT result will be set to 0. &amp;lt;br/&amp;gt;I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing.[http://forum.doom9.org/showpost.php?p=266216&amp;amp;postcount=145]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilterD (clip, int)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |int| }}&lt;br /&gt;
:::&amp;lt;tt&amp;gt;'''DiagCt'''&amp;lt;/tt&amp;gt;: must be an integer from 1-14 saying how many of these diagonals must be zeroed, starting from the lower right hand corner.&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctAddConstant ===&lt;br /&gt;
Not much is known about this filter...&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctAddConstant (clip, float, float, float, float)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples == &lt;br /&gt;
====DctFilter====&lt;br /&gt;
The following example should effectively do nothing, due to a possible bug that's not the case.[http://forum.doom9.org/showthread.php?p=1191208#post1191208]&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,1,1)&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Subtle softening:&lt;br /&gt;
 DctFilter(1,1,1,1,1,0.75,0.25,0) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Remove high frequency components:[http://forum.doom9.org/showpost.php?p=298519&amp;amp;postcount=31]&lt;br /&gt;
 DctFilter(1,1,1,.8,.4,0,0,0) #these settings may be prone to slight blocking&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Measure luma variance within block (e.g. 8x8) of pixels?[http://forum.doom9.org/showthread.php?p=1689130#post1689130]&amp;lt;br/&amp;gt;&lt;br /&gt;
The easiest somewhat correct &amp;quot;amount of variation for each block&amp;quot; you can get is using STD for each pixel and applying DctFilter to it (adjust the radius of STD calculation area for possibly better results).&lt;br /&gt;
 mt_luts(last, &amp;quot;std&amp;quot;, mt_square(1), &amp;quot;y&amp;quot;).mt_lut(&amp;quot;x 15 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
A reasonably close approximation with a lot better performance is an edge mask:&lt;br /&gt;
 mt_edge(&amp;quot;min/max&amp;quot;, 0, 255, 0, 255).mt_lut(&amp;quot;x 5 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====DctFilterD====&lt;br /&gt;
DctFilterD can be used as a fast way to average 8x8 blocks:[http://forum.doom9.org/showthread.php?p=1051452#post1051452]&lt;br /&gt;
 DCTFilterD(14)&amp;lt;br/&amp;gt;&lt;br /&gt;
 #DctFilter(1,0,0,0,0,0,0,0)  #keeps the topmost line and leftmost row.[http://forum.doom9.org/showthread.php?p=626365#post626365]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Very easy way to get the normalized SAD over 8x8 blocks:[http://forum.doom9.org/showthread.php?t=150923]&lt;br /&gt;
 mt_lutxy(clip1,clip2,&amp;quot;x y - abs&amp;quot;)&lt;br /&gt;
 DctFilterD(14)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.0.1.5     2007/02/09      foxyshadis      - Better memory management in DctFilter, chroma=0 to disable chroma.&lt;br /&gt;
 v0.0.1.4     2003/02/21      Tom Barry       - Add DctFilterD, diagonal support&lt;br /&gt;
 v0.0.1.3     2003/01/30      Tom Barry       - Avisynth 2.5 beta, plugininit2, vs6&lt;br /&gt;
 v0.0.1.2     2002/11/2?      SansGrip        - YUY2 support&lt;br /&gt;
 v ?          2002/11/25      Tom Barry       - Initial test release for Avisynth 2.5 alpha only&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.5&lt;br /&gt;
|[http://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter15]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.4&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/DctFilter.zip DctFilter.zip]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip dctfilter_dll_20030221.zip]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.aquilinestudios.org/avsfilters/spatial.html#dct AquilineStudios] - Additional information on usage.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=763059#post763059 Doom9Forum] - Another advanced usage example.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=38539 Doom9 Forum] - Original DctFilter discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=951432#post951432 Doom9 Forum] - DctFilter v0.0.1.5 discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=171039 Doom9 Forum] - DctFilter VapourSynth port.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
&amp;lt;!-- &amp;lt;pre&amp;gt;&lt;br /&gt;
DCTFilter(v1,v2,v3,v4,v5,v6,v7,v8) then:&lt;br /&gt;
&lt;br /&gt;
       0     1     2     3     4     5     6     7 &lt;br /&gt;
    ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐&lt;br /&gt;
 0  │v1*v1│v2*v1│v3*v1│v4*v1│v5*v1│v6*v1│v7*v1│v8*v1│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 1  │v1*v2│v2*v2│v3*v2│v4*v2│v5*v2│v6*v2│v7*v2│v8*v2│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 2  │v1*v3│v2*v3│v3*v3│v4*v3│v5*v3│v6*v3│v7*v3│v8*v3│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 3  │v1*v4│v2*v4│v3*v4│v4*v4│v5*v4│v6*v4│v7*v4│v8*v4│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 4  │v1*v5│v2*v5│v3*v5│v4*v5│v5*v5│v6*v5│v7*v5│v8*v5│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 5  │v1*v6│v2*v6│v3*v6│v4*v6│v5*v6│v6*v6│v7*v6│v8*v6│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 6  │v1*v7│v2*v7│v3*v7│v4*v7│v5*v7│v6*v7│v7*v7│v8*v7│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 7  │v1*v8│v2*v8│v3*v8│v4*v8│v5*v8│v6*v8│v7*v8│v8*v8│&lt;br /&gt;
    └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so DctFilter(1,1,1,1,1,1,.5,0) becomes:&lt;br /&gt;
&lt;br /&gt;
    ┌───┬───┬───┬───┬───┬───┬───┬───┐&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │0.5│0.5│0.5│0.5│0.5│0.5│.25│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │&lt;br /&gt;
    └───┴───┴───┴───┴───┴───┴───┴───┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example above the highest frequency components in each row and column are zeroed while the 2nd highest are cut in half.&amp;lt;br&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DctFilter</id>
		<title>DctFilter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DctFilter"/>
				<updated>2018-06-06T18:32:48Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Plugins|Other_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
| v0.0.1.5 &lt;br /&gt;
|[http://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter_015.zip]&lt;br /&gt;
| 4=Other filters&lt;br /&gt;
| 5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
| 6=[http://forum.doom9.org/showthread.php?t=38539 Doom9 Thread]}}&lt;br /&gt;
== Description ==&lt;br /&gt;
DctFiler is an experimental filter that, for each 8x8 block, will do a [http://en.wikipedia.org/wiki/Discrete_cosine_transform Discrete Cosine Transform] (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]&lt;br /&gt;
* Supported color formats: [[YUY2]], [[YV12]]&lt;br /&gt;
* Width and height need to be a multiple of 16 ([[Modulo|mod16]])&lt;br /&gt;
&lt;br /&gt;
* [[MMX]], [[ISSE]] or [[SSE2]] capable CPU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?p=1191185#post1191185 Stripe bug] - both variants are buggy at calculating DC, additional information [http://forum.doom9.org/showthread.php?p=1346201#post1346201 here] and [http://forum.doom9.org/showthread.php?p=1051452#post1051452 here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilter ===&lt;br /&gt;
For each 8x8 block it will do a Discrete Cosine Transform (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example the highest frequency components in each row and column will be zeroed while the 2nd highest would be cut in half.&lt;br /&gt;
:&amp;lt;code&amp;gt;DctFilter(1,1,1,1,1,1,.5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilter (clip, float, float, float, float, float, float, float, float, int &amp;quot;chroma&amp;quot;, int &amp;quot;fdct&amp;quot;, int &amp;quot;idct&amp;quot;, int &amp;quot;offx&amp;quot;, int &amp;quot;offy&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
:::There are 8 positional floating point parameters, all of which must be specified as in the range (0.0 &amp;lt;= x &amp;lt;= 1.0). These correspond to scaling factors for the 8 rows and columns of the 8x8 DCT blocks.&lt;br /&gt;
:::The leftmost parameter corresponds to the top row, left column. This would be the DC component of the transform and should always be left as 1.0.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|chroma|int|1}}&lt;br /&gt;
:::Chroma processing:&lt;br /&gt;
::::*0 : do not process nor copy, output will be trash&lt;br /&gt;
::::*1 : process&lt;br /&gt;
&lt;br /&gt;
::{{Par2|fdct|int|-1}}&lt;br /&gt;
::{{Par2|idct|int|-1}}&lt;br /&gt;
:::Choose which DCT to use (if you want to compare). Do not use fdct=2 or idct=3, it may crash!&lt;br /&gt;
&lt;br /&gt;
::::*-1 : default&lt;br /&gt;
::::*0 : integer (does not work correctly)&lt;br /&gt;
::::*1 : [[MMX]]&lt;br /&gt;
::::*2 : [[iSSE]]&lt;br /&gt;
::::*3 : [[SSE2]]&lt;br /&gt;
&lt;br /&gt;
::{{Par2|offx|int|0}}&lt;br /&gt;
::{{Par2|offy|int|0}}&lt;br /&gt;
:::Specify offsets, only use when the input clip's dimensions are mod16, otherwise it may crash.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''Note:'''&amp;lt;/span&amp;gt; the first 9 parameters are unnamed and do not have a default so they must be specified. The last 5 parameters are only available in &amp;lt;tt&amp;gt;DctFilter v0.0.1.5&amp;lt;/tt&amp;gt;, consider them as experimental so use with caution (except for {{Template:FuncDef3|chroma}}).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DctFilterD ===&lt;br /&gt;
DctFilterD works similar to DctFilter but will zero out DiagCt number of the lower right diagonals of the DCT, leaving other values unchanged. &amp;lt;br/&amp;gt;&lt;br /&gt;
In an 8x8 DCT result matrix there are 15 possible diagonals (visualize a chess board), so if you specify &amp;lt;code&amp;gt;DctFilterD(4)&amp;lt;/code&amp;gt; then the 4 diagonals in the lower right corner of the DCT result will be set to 0. &amp;lt;br/&amp;gt;I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing.[http://forum.doom9.org/showpost.php?p=266216&amp;amp;postcount=145]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilterD (clip, int)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |int| }}&lt;br /&gt;
:::&amp;lt;tt&amp;gt;'''DiagCt'''&amp;lt;/tt&amp;gt;: must be an integer from 1-14 saying how many of these diagonals must be zeroed, starting from the lower right hand corner.&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctAddConstant ===&lt;br /&gt;
Not much is known about this filter...&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctAddConstant (clip, float, float, float, float)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples == &lt;br /&gt;
====DctFilter====&lt;br /&gt;
The following example should effectively do nothing, due to a possible bug that's not the case.[http://forum.doom9.org/showthread.php?p=1191208#post1191208]&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,1,1)&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Subtle softening:&lt;br /&gt;
 DctFilter(1,1,1,1,1,0.75,0.25,0) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Remove high frequency components:[http://forum.doom9.org/showpost.php?p=298519&amp;amp;postcount=31]&lt;br /&gt;
 DctFilter(1,1,1,.8,.4,0,0,0) #these settings may be prone to slight blocking&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Measure luma variance within block (e.g. 8x8) of pixels?[http://forum.doom9.org/showthread.php?p=1689130#post1689130]&amp;lt;br/&amp;gt;&lt;br /&gt;
The easiest somewhat correct &amp;quot;amount of variation for each block&amp;quot; you can get is using STD for each pixel and applying DctFilter to it (adjust the radius of STD calculation area for possibly better results).&lt;br /&gt;
 mt_luts(last, &amp;quot;std&amp;quot;, mt_square(1), &amp;quot;y&amp;quot;).mt_lut(&amp;quot;x 15 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
A reasonably close approximation with a lot better performance is an edge mask:&lt;br /&gt;
 mt_edge(&amp;quot;min/max&amp;quot;, 0, 255, 0, 255).mt_lut(&amp;quot;x 5 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====DctFilterD====&lt;br /&gt;
DctFilterD can be used as a fast way to average 8x8 blocks:[http://forum.doom9.org/showthread.php?p=1051452#post1051452]&lt;br /&gt;
 DCTFilterD(14)&amp;lt;br/&amp;gt;&lt;br /&gt;
 #DctFilter(1,0,0,0,0,0,0,0)  #keeps the topmost line and leftmost row.[http://forum.doom9.org/showthread.php?p=626365#post626365]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Very easy way to get the normalized SAD over 8x8 blocks:[http://forum.doom9.org/showthread.php?t=150923]&lt;br /&gt;
 mt_lutxy(clip1,clip2,&amp;quot;x y - abs&amp;quot;)&lt;br /&gt;
 DctFilterD(14)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.0.1.5     2007/02/09      foxyshadis      - Better memory management in DctFilter, chroma=0 to disable chroma.&lt;br /&gt;
 v0.0.1.4     2003/02/21      Tom Barry       - Add DctFilterD, diagonal support&lt;br /&gt;
 v0.0.1.3     2003/01/30      Tom Barry       - Avisynth 2.5 beta, plugininit2, vs6&lt;br /&gt;
 v0.0.1.2     2002/11/2?      SansGrip        - YUY2 support&lt;br /&gt;
 v ?          2002/11/25      Tom Barry       - Initial test release for Avisynth 2.5 alpha only&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.5&lt;br /&gt;
|[http://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter15]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.4&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/DctFilter.zip DctFilter.zip]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip dctfilter_dll_20030221.zip]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.aquilinestudios.org/avsfilters/spatial.html#dct AquilineStudios] - Additional information on usage.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=763059#post763059 Doom9Forum] - Another advanced usage example.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=38539 Doom9 Forum] - Original DctFilter discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=951432#post951432 Doom9 Forum] - DctFilter v0.0.1.5 discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=171039 Doom9 Forum] - DctFilter VapourSynth port.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
&amp;lt;!-- &amp;lt;pre&amp;gt;&lt;br /&gt;
DCTFilter(v1,v2,v3,v4,v5,v6,v7,v8) then:&lt;br /&gt;
&lt;br /&gt;
       0     1     2     3     4     5     6     7 &lt;br /&gt;
    ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐&lt;br /&gt;
 0  │v1*v1│v2*v1│v3*v1│v4*v1│v5*v1│v6*v1│v7*v1│v8*v1│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 1  │v1*v2│v2*v2│v3*v2│v4*v2│v5*v2│v6*v2│v7*v2│v8*v2│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 2  │v1*v3│v2*v3│v3*v3│v4*v3│v5*v3│v6*v3│v7*v3│v8*v3│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 3  │v1*v4│v2*v4│v3*v4│v4*v4│v5*v4│v6*v4│v7*v4│v8*v4│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 4  │v1*v5│v2*v5│v3*v5│v4*v5│v5*v5│v6*v5│v7*v5│v8*v5│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 5  │v1*v6│v2*v6│v3*v6│v4*v6│v5*v6│v6*v6│v7*v6│v8*v6│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 6  │v1*v7│v2*v7│v3*v7│v4*v7│v5*v7│v6*v7│v7*v7│v8*v7│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 7  │v1*v8│v2*v8│v3*v8│v4*v8│v5*v8│v6*v8│v7*v8│v8*v8│&lt;br /&gt;
    └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so DctFilter(1,1,1,1,1,1,.5,0) becomes:&lt;br /&gt;
&lt;br /&gt;
    ┌───┬───┬───┬───┬───┬───┬───┬───┐&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │0.5│0.5│0.5│0.5│0.5│0.5│.25│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │&lt;br /&gt;
    └───┴───┴───┴───┴───┴───┴───┴───┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example above the highest frequency components in each row and column are zeroed while the 2nd highest are cut in half.&amp;lt;br&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DctFilter</id>
		<title>DctFilter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DctFilter"/>
				<updated>2018-06-06T18:23:16Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Plugins|Other_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
| {{Author/Tom Barry}}, Chikuzen&lt;br /&gt;
| v0.5&lt;br /&gt;
|[https://github.com/chikuzen/DCTFilter GitHub]&lt;br /&gt;
| 4=Other filters&lt;br /&gt;
| 5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
| 6=[http://forum.doom9.org/showthread.php?t=38539 Doom9 Thread]}}&lt;br /&gt;
== Description ==&lt;br /&gt;
DctFiler is an experimental filter that, for each 8x8 block, will do a [http://en.wikipedia.org/wiki/Discrete_cosine_transform Discrete Cosine Transform] (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or [http://forum.doom9.org/showthread.php?t=168764 greater]&lt;br /&gt;
* Supported color formats: all planar formats and bit depths&lt;br /&gt;
* Windows Vista sp2 or later&lt;br /&gt;
* [[SSE2]] capable CPU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?p=1191185#post1191185 Stripe bug] - both variants are buggy at calculating DC, additional information [http://forum.doom9.org/showthread.php?p=1346201#post1346201 here] and [http://forum.doom9.org/showthread.php?p=1051452#post1051452 here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilter ===&lt;br /&gt;
For each 8x8 block it will do a Discrete Cosine Transform (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example the highest frequency components in each row and column will be zeroed while the 2nd highest would be cut in half.&lt;br /&gt;
:&amp;lt;code&amp;gt;DctFilter(1,1,1,1,1,1,.5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilter (clip, float, float, float, float, float, float, float, float, int &amp;quot;chroma&amp;quot;, int &amp;quot;fdct&amp;quot;, int &amp;quot;idct&amp;quot;, int &amp;quot;offx&amp;quot;, int &amp;quot;offy&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
:::There are 8 positional floating point parameters, all of which must be specified as in the range (0.0 &amp;lt;= x &amp;lt;= 1.0). These correspond to scaling factors for the 8 rows and columns of the 8x8 DCT blocks.&lt;br /&gt;
:::The leftmost parameter corresponds to the top row, left column. This would be the DC component of the transform and should always be left as 1.0.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|chroma|int|1}}&lt;br /&gt;
:::Chroma processing:&lt;br /&gt;
::::*0 : do not process nor copy, output will be trash&lt;br /&gt;
::::*1 : process&lt;br /&gt;
&lt;br /&gt;
::{{Par2|fdct|int|-1}}&lt;br /&gt;
::{{Par2|idct|int|-1}}&lt;br /&gt;
:::Choose which DCT to use (if you want to compare). Do not use fdct=2 or idct=3, it may crash!&lt;br /&gt;
&lt;br /&gt;
::::*-1 : default&lt;br /&gt;
::::*0 : integer (does not work correctly)&lt;br /&gt;
::::*1 : [[MMX]]&lt;br /&gt;
::::*2 : [[iSSE]]&lt;br /&gt;
::::*3 : [[SSE2]]&lt;br /&gt;
&lt;br /&gt;
::{{Par2|offx|int|0}}&lt;br /&gt;
::{{Par2|offy|int|0}}&lt;br /&gt;
:::Specify offsets, only use when the input clip's dimensions are mod16, otherwise it may crash.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''Note:'''&amp;lt;/span&amp;gt; the first 9 parameters are unnamed and do not have a default so they must be specified. The last 5 parameters are only available in &amp;lt;tt&amp;gt;DctFilter v0.0.1.5&amp;lt;/tt&amp;gt;, consider them as experimental so use with caution (except for {{Template:FuncDef3|chroma}}).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DctFilterD ===&lt;br /&gt;
DctFilterD works similar to DctFilter but will zero out DiagCt number of the lower right diagonals of the DCT, leaving other values unchanged. &amp;lt;br/&amp;gt;&lt;br /&gt;
In an 8x8 DCT result matrix there are 15 possible diagonals (visualize a chess board), so if you specify &amp;lt;code&amp;gt;DctFilterD(4)&amp;lt;/code&amp;gt; then the 4 diagonals in the lower right corner of the DCT result will be set to 0. &amp;lt;br/&amp;gt;I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing.[http://forum.doom9.org/showpost.php?p=266216&amp;amp;postcount=145]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilterD (clip, int)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |int| }}&lt;br /&gt;
:::&amp;lt;tt&amp;gt;'''DiagCt'''&amp;lt;/tt&amp;gt;: must be an integer from 1-14 saying how many of these diagonals must be zeroed, starting from the lower right hand corner.&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctAddConstant ===&lt;br /&gt;
Not much is known about this filter...&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctAddConstant (clip, float, float, float, float)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples == &lt;br /&gt;
====DctFilter====&lt;br /&gt;
The following example should effectively do nothing, due to a possible bug that's not the case.[http://forum.doom9.org/showthread.php?p=1191208#post1191208]&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,1,1)&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Subtle softening:&lt;br /&gt;
 DctFilter(1,1,1,1,1,0.75,0.25,0) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Remove high frequency components:[http://forum.doom9.org/showpost.php?p=298519&amp;amp;postcount=31]&lt;br /&gt;
 DctFilter(1,1,1,.8,.4,0,0,0) #these settings may be prone to slight blocking&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Measure luma variance within block (e.g. 8x8) of pixels?[http://forum.doom9.org/showthread.php?p=1689130#post1689130]&amp;lt;br/&amp;gt;&lt;br /&gt;
The easiest somewhat correct &amp;quot;amount of variation for each block&amp;quot; you can get is using STD for each pixel and applying DctFilter to it (adjust the radius of STD calculation area for possibly better results).&lt;br /&gt;
 mt_luts(last, &amp;quot;std&amp;quot;, mt_square(1), &amp;quot;y&amp;quot;).mt_lut(&amp;quot;x 15 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
A reasonably close approximation with a lot better performance is an edge mask:&lt;br /&gt;
 mt_edge(&amp;quot;min/max&amp;quot;, 0, 255, 0, 255).mt_lut(&amp;quot;x 5 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====DctFilterD====&lt;br /&gt;
DctFilterD can be used as a fast way to average 8x8 blocks:[http://forum.doom9.org/showthread.php?p=1051452#post1051452]&lt;br /&gt;
 DCTFilterD(14)&amp;lt;br/&amp;gt;&lt;br /&gt;
 #DctFilter(1,0,0,0,0,0,0,0)  #keeps the topmost line and leftmost row.[http://forum.doom9.org/showthread.php?p=626365#post626365]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Very easy way to get the normalized SAD over 8x8 blocks:[http://forum.doom9.org/showthread.php?t=150923]&lt;br /&gt;
 mt_lutxy(clip1,clip2,&amp;quot;x y - abs&amp;quot;)&lt;br /&gt;
 DctFilterD(14)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.0.1.5     2007/02/09      foxyshadis      - Better memory management in DctFilter, chroma=0 to disable chroma.&lt;br /&gt;
 v0.0.1.4     2003/02/21      Tom Barry       - Add DctFilterD, diagonal support&lt;br /&gt;
 v0.0.1.3     2003/01/30      Tom Barry       - Avisynth 2.5 beta, plugininit2, vs6&lt;br /&gt;
 v0.0.1.2     2002/11/2?      SansGrip        - YUY2 support&lt;br /&gt;
 v ?          2002/11/25      Tom Barry       - Initial test release for Avisynth 2.5 alpha only&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.4&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/DctFilter.zip DctFilter.zip]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip dctfilter_dll_20030221.zip]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.aquilinestudios.org/avsfilters/spatial.html#dct AquilineStudios] - Additional information on usage.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=763059#post763059 Doom9Forum] - Another advanced usage example.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=38539 Doom9 Forum] - Original DctFilter discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=951432#post951432 Doom9 Forum] - DctFilter v0.0.1.5 discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=171039 Doom9 Forum] - DctFilter VapourSynth port.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
&amp;lt;!-- &amp;lt;pre&amp;gt;&lt;br /&gt;
DCTFilter(v1,v2,v3,v4,v5,v6,v7,v8) then:&lt;br /&gt;
&lt;br /&gt;
       0     1     2     3     4     5     6     7 &lt;br /&gt;
    ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐&lt;br /&gt;
 0  │v1*v1│v2*v1│v3*v1│v4*v1│v5*v1│v6*v1│v7*v1│v8*v1│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 1  │v1*v2│v2*v2│v3*v2│v4*v2│v5*v2│v6*v2│v7*v2│v8*v2│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 2  │v1*v3│v2*v3│v3*v3│v4*v3│v5*v3│v6*v3│v7*v3│v8*v3│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 3  │v1*v4│v2*v4│v3*v4│v4*v4│v5*v4│v6*v4│v7*v4│v8*v4│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 4  │v1*v5│v2*v5│v3*v5│v4*v5│v5*v5│v6*v5│v7*v5│v8*v5│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 5  │v1*v6│v2*v6│v3*v6│v4*v6│v5*v6│v6*v6│v7*v6│v8*v6│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 6  │v1*v7│v2*v7│v3*v7│v4*v7│v5*v7│v6*v7│v7*v7│v8*v7│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 7  │v1*v8│v2*v8│v3*v8│v4*v8│v5*v8│v6*v8│v7*v8│v8*v8│&lt;br /&gt;
    └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so DctFilter(1,1,1,1,1,1,.5,0) becomes:&lt;br /&gt;
&lt;br /&gt;
    ┌───┬───┬───┬───┬───┬───┬───┬───┐&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │0.5│0.5│0.5│0.5│0.5│0.5│.25│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │&lt;br /&gt;
    └───┴───┴───┴───┴───┴───┴───┴───┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example above the highest frequency components in each row and column are zeroed while the 2nd highest are cut in half.&amp;lt;br&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T18:14:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.3&lt;br /&gt;
|[https://github.com/mysteryx93/Avisynth-Deblock/releases Deblock13.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[https://forum.doom9.org/showthread.php?t=175487 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|planes|string|&amp;quot;yuv&amp;quot;}}&lt;br /&gt;
:::Specifies which planes to process between y, u and v.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.3         2018/05/29      MysteryX        - Back-ported from VapourSynth with high-bit-depth support&lt;br /&gt;
 v0.9         2013/12/03      tp7             - Faster and supports all planar colorspaces&lt;br /&gt;
 v1.2         2006/04/23      Fizick          - Moved code into separate project&lt;br /&gt;
 v1.1         2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.9&lt;br /&gt;
|[https://github.com/tp7/Deblock GitHub]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip DctFilter.zip]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/mvtools/deblock.html v1.2 Documentation]&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T18:08:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.3&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[http://forum.doom9.org/showthread.php?t=110352 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
Official documentation: http://avisynth.org.ru/mvtools/deblock.html&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|planes|string|&amp;quot;yuv&amp;quot;}}&lt;br /&gt;
:::Specifies which planes to process between y, u and v.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.3         2018/05/29      MysteryX        - Back-ported from VapourSynth with high-bit-depth support&lt;br /&gt;
 v0.9         2013/12/03      tp7             - Faster and supports all planar colorspaces&lt;br /&gt;
 v1.2         2006/04/23      Fizick          - Moved code into separate project&lt;br /&gt;
 v1.1         2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.9&lt;br /&gt;
|[https://github.com/tp7/Deblock GitHub]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip DctFilter.zip]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/mvtools/deblock.html v1.2 Documentation]&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T18:06:58Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: /* Archived Downloads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.3&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[http://forum.doom9.org/showthread.php?t=110352 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
Official documentation: http://avisynth.org.ru/mvtools/deblock.html&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|planes|string|&amp;quot;yuv&amp;quot;}}&lt;br /&gt;
:::Specifies which planes to process between y, u and v.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.3         2018/05/29      MysteryX        - Back-ported from VapourSynth with high-bit-depth support&lt;br /&gt;
 v0.9         2013/12/03      tp7             - Faster and supports all planar colorspaces&lt;br /&gt;
 v1.2         2006/04/23      Fizick          - Moved code into separate project&lt;br /&gt;
 v1.1         2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.9&lt;br /&gt;
|[https://github.com/tp7/Deblock GitHub]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip DctFilter.zip]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T18:05:29Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.3&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[http://forum.doom9.org/showthread.php?t=110352 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
Official documentation: http://avisynth.org.ru/mvtools/deblock.html&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|planes|string|&amp;quot;yuv&amp;quot;}}&lt;br /&gt;
:::Specifies which planes to process between y, u and v.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.3         2018/05/29      MysteryX        - Back-ported from VapourSynth with high-bit-depth support&lt;br /&gt;
 v0.9         2013/12/03      tp7             - Faster and supports all planar colorspaces&lt;br /&gt;
 v1.2         2006/04/23      Fizick          - Moved code into separate project&lt;br /&gt;
 v1.1         2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.9&lt;br /&gt;
|[https://github.com/tp7/Deblock GitHub]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!v0.1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip DctFilter.zip]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T17:44:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: /* Syntax and Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[http://forum.doom9.org/showthread.php?t=110352 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
Official documentation: http://avisynth.org.ru/mvtools/deblock.html&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/tp7/Deblock DeBlock for AviSynth 2.6] - faster and supports all [[planar]] colorspaces. [http://github.com/tp7/Deblock/releases Download] | [http://forum.doom9.org/showthread.php?t=169832 Discussion]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|planes|string|&amp;quot;yuv&amp;quot;}}&lt;br /&gt;
:::Specifies which planes to process between y, u and v.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DeBlock</id>
		<title>DeBlock</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DeBlock"/>
				<updated>2018-06-06T17:39:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mystery: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Restoration_filters|Deblockers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|{{Author/Manao}},{{Author/Fizick}}&lt;br /&gt;
|1.2&lt;br /&gt;
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]&lt;br /&gt;
|Deblocker&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[http://forum.doom9.org/showthread.php?t=110352 Doom9 Thread]}}&lt;br /&gt;
&lt;br /&gt;
Official documentation: http://avisynth.org.ru/mvtools/deblock.html&lt;br /&gt;
==Description==&lt;br /&gt;
It performs deblocking on the picture, using the deblocking filter of H264. It's useful to deblock the result of ''MVCompensate'' of [[MVTools]] plugin, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/tp7/Deblock DeBlock for AviSynth 2.6] - faster and supports all [[planar]] colorspaces. [http://github.com/tp7/Deblock/releases Download] | [http://forum.doom9.org/showthread.php?t=169832 Discussion]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.6.0 or later&lt;br /&gt;
* Supported color formats: All planar formats&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{FuncDef|Deblock (clip, int &amp;quot;quant&amp;quot;, int &amp;quot;aOffset&amp;quot;, int &amp;quot;bOffset&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|quant|int|25}}&lt;br /&gt;
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|aOffset|int|0}}&lt;br /&gt;
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|bOffset|int|0}}&lt;br /&gt;
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deblock with default settings:&lt;br /&gt;
 MPEG2Source(&amp;quot;Blocky.dv2&amp;quot;)&lt;br /&gt;
 Deblock(quant=25, aOffset=0, bOffset=0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To deblock the motion compensation ([[MVTools]] plugin):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vectors = source.MVAnalyse(isb = false, lambda = 1000)&lt;br /&gt;
compensation = source.MVCompensate(vectors, mode = 0)&lt;br /&gt;
compensation.Deblock()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Deblocking|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mystery</name></author>	</entry>

	</feed>