DeBlock

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (minor corrections and additions)
(Syntax and Parameters: add planes parameter)
 
(10 intermediate revisions by one user not shown)
Line 1: Line 1:
{{FilterCat5|External_filters|Plugins|Plugins_x64|Restoration_filters|Deblockers}}
+
{{FilterCat6|External_filters|Plugins|Plugins_x64|Restoration_filters|Deblockers|Deep_color_tools}}
 
{{Filter3
 
{{Filter3
|{{Author/Manao}},{{Author/Fizick}}, {{Author/tp7}}, [https://github.com/mysteryx93 MysteryX]
+
|{{Author/Manao}},{{Author/Fizick}}, {{Author/tp7}}, [https://github.com/mysteryx93 MysteryX], [https://github.com/299792458m/ 299792458m]
|1.3
+
|@9802e03 (2020/08/30)
|[https://github.com/mysteryx93/Avisynth-Deblock/releases Deblock13.zip]
+
|[https://files.videohelp.com/u/223002/Avisynth-Deblock_299792458m_noAVX2req.7z Deblock_299792458m_noAVX2req.7z]
 
|Deblocker
 
|Deblocker
 
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
|6=[https://forum.doom9.org/showthread.php?t=175487 Doom9 Thread]}}
+
|6=[https://forum.doom9.org/showthread.php?t=110352 Doom9 Thread (original v1.2)]<br>[https://forum.doom9.org/showthread.php?t=175487 Doom9 Thread (update v1.3]}}
  
 
==Description==
 
==Description==
Line 13: Line 13:
 
<br>
 
<br>
 
== Requirements ==
 
== Requirements ==
* [x86]: [[AviSynth+]] or [http://forum.doom9.org/showthread.php?t=168764 AviSynth 2.6]
+
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
 
* [x64]: [[AviSynth+]]
 
* [x64]: [[AviSynth+]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
**AviSynth+: all planar formats (8/10/12/14/16bit and float, YUV/) are supported.
+
**AviSynth+: all [[planar]] Y and YUV formats (8/10/12/14/16bit and float) are supported.
 
<br>
 
<br>
  
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{FuncDef|Deblock (clip, int "quant", int "aOffset", int "bOffset")}}
+
:{{FuncDef|Deblock (clip, int "quant", int "aOffset", int "bOffset", string "planes", int "opt")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
Line 36: Line 36:
 
::{{Par2|planes|string|"yuv"}}
 
::{{Par2|planes|string|"yuv"}}
 
:::Specifies which planes to process between y, u and v.
 
:::Specifies which planes to process between y, u and v.
 +
 +
::{{Par2|opt|int|0}}
 +
:::Sets which cpu optimizations to use.
 +
:::*0 : Auto-detect.
 +
:::*1 : Use C++ code.
 +
:::*2 : Use SSE4.2 code.
 +
:::*3 : Use AVX2 code.
 +
:::Only 8-16bit is optimized, not float.
 
<br>
 
<br>
 
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.
 
:*If {{FuncDef3|quant}} + {{FuncDef3|aOffset}} is less than 16, the filter does nothing at all. The same goes for {{FuncDef3|quant}} + {{FuncDef3|bOffset}}.
Line 43: Line 51:
 
Deblock with default settings:
 
Deblock with default settings:
 
  MPEG2Source("Blocky.dv2")
 
  MPEG2Source("Blocky.dv2")
  Deblock(quant=25, aOffset=0, bOffset=0)
+
  Deblock(quant=25, aOffset=0, bOffset=0, planes="yuv")
  
  
Line 55: Line 63:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Developer      Changes<br>
 
  Version      Date            Developer      Changes<br>
 +
@9802e03    2020/08/30      299792458m      - Added SIMD optimization for 8-16bit
 +
                                              - Added "opt" parameter
 
  v1.3        2018/05/29      MysteryX        - Back-ported code from VapourSynth
 
  v1.3        2018/05/29      MysteryX        - Back-ported code from VapourSynth
 
                                               - Added high-bit-depth support
 
                                               - Added high-bit-depth support
 
                                               - Added Planes parameter to specify which planes to process
 
                                               - Added Planes parameter to specify which planes to process
 +
                                              - AviSynth+: self-registers as a [[MT_NICE_FILTER]]
 
  v0.9        2013/12/03      tp7            - Faster and supports all planar colorspaces
 
  v0.9        2013/12/03      tp7            - Faster and supports all planar colorspaces
 +
                                              - Compiled with Microsoft Visual Studio C++ 2012.
 
  v1.2        2006/04/23      Fizick          - Moved code into separate project
 
  v1.2        2006/04/23      Fizick          - Moved code into separate project
 
  v1.1        2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)
 
  v1.1        2006/01/09      Manao/Fizick    - Present in old MvTools (up to v1.1)
Line 69: Line 81:
 
!!width="150px"| Download
 
!!width="150px"| Download
 
!!width="150px"| Mirror
 
!!width="150px"| Mirror
 +
|-
 +
!@9802e03
 +
|[https://files.videohelp.com/u/223002/Avisynth-Deblock_299792458m_noAVX2req.7z Avisynth-Deblock_299792458m_noAVX2req.7z] *
 +
|[https://web.archive.org/web/20221023185605if_/https://files.videohelp.com/u/223002/Avisynth-Deblock_299792458m_noAVX2req.7z Avisynth-Deblock_299792458m_noAVX2req.7z] *
 
|-
 
|-
 
!v0.0.9
 
!v0.0.9
Line 76: Line 92:
 
!v0.1.2
 
!v0.1.2
 
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]
 
|[http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]
 +
|[https://web.archive.org/web/20220911030441if_/http://avisynth.org.ru/mvtools/deblock12.zip deblock12.zip]
 
|}
 
|}
 +
* *299792458m: performance optimized version; builds compiled with Intel C++ 19.2 without AVX2 requirement.
 
<br>
 
<br>
  
 
==External Links==
 
==External Links==
*[http://avisynth.org.ru/mvtools/deblock.html v1.2 Documentation]
+
*[https://github.com/299792458m/Avisynth-Deblock GitHub] Source code repository (latest version, v1.3 with SIMD optimizations)
*[http://avisynth.org.ru/fizick.html Fizick's Avisynth Filters]
+
*[https://github.com/mysteryx93/Avisynth-Deblock GitHub] Source code repository (older version, v1.3, 2018)
 +
*[https://github.com/tp7/Deblock GitHub] Source code repository (older version, v0.9, 2013)
 
<br>
 
<br>
 
<br>
 
<br>

Latest revision as of 05:08, 25 October 2022

Abstract
Author Manao,Fizick, tp7, MysteryX, 299792458m
Version @9802e03 (2020/08/30)
Download Deblock_299792458m_noAVX2req.7z
Category Deblocker
License GPLv2
Discussion Doom9 Thread (original v1.2)
Doom9 Thread (update v1.3

Contents

[edit] Description

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.


[edit] Requirements


[edit] Syntax and Parameters

Deblock (clip, int "quant", int "aOffset", int "bOffset", string "planes", int "opt")


clip   =
Input clip, width and height must be mod 8.
int  quant = 25
The higher the quant, the stronger the deblocking. Range is from 0 to 60.
int  aOffset = 0
Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.
int  bOffset = 0
Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.
string  planes = "yuv"
Specifies which planes to process between y, u and v.
int  opt = 0
Sets which cpu optimizations to use.
  • 0 : Auto-detect.
  • 1 : Use C++ code.
  • 2 : Use SSE4.2 code.
  • 3 : Use AVX2 code.
Only 8-16bit is optimized, not float.


  • If quant + aOffset is less than 16, the filter does nothing at all. The same goes for quant + bOffset.


[edit] Examples

Deblock with default settings:

MPEG2Source("Blocky.dv2")
Deblock(quant=25, aOffset=0, bOffset=0, planes="yuv")


To deblock the motion compensation (MVTools plugin):

vectors = source.MVAnalyse(isb = false, lambda = 1000)
compensation = source.MVCompensate(vectors, mode = 0)
compensation.Deblock()


[edit] Changelog

Version      Date            Developer       Changes
@9802e03 2020/08/30 299792458m - Added SIMD optimization for 8-16bit - Added "opt" parameter v1.3 2018/05/29 MysteryX - Back-ported code from VapourSynth - Added high-bit-depth support - Added Planes parameter to specify which planes to process - AviSynth+: self-registers as a MT_NICE_FILTER v0.9 2013/12/03 tp7 - Faster and supports all planar colorspaces - Compiled with Microsoft Visual Studio C++ 2012. v1.2 2006/04/23 Fizick - Moved code into separate project v1.1 2006/01/09 Manao/Fizick - Present in old MvTools (up to v1.1)


[edit] Archived Downloads

Version Download Mirror
@9802e03 Avisynth-Deblock_299792458m_noAVX2req.7z * Avisynth-Deblock_299792458m_noAVX2req.7z *
v0.0.9 GitHub
v0.1.2 deblock12.zip deblock12.zip
  • *299792458m: performance optimized version; builds compiled with Intel C++ 19.2 without AVX2 requirement.


[edit] External Links

  • GitHub Source code repository (latest version, v1.3 with SIMD optimizations)
  • GitHub Source code repository (older version, v1.3, 2018)
  • GitHub Source code repository (older version, v0.9, 2013)




Back to External Filters


Personal tools