DeBlock
From Avisynth wiki
(Difference between revisions)
m (minor corrections and additions) |
(→Syntax and Parameters: add planes parameter) |
||
(10 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{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] |
− | | | + | |@9802e03 (2020/08/30) |
− | |[https:// | + | |[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 [ | + | * [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 | + | **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== | ||
− | *[ | + | *[https://github.com/299792458m/Avisynth-Deblock GitHub] Source code repository (latest version, v1.3 with SIMD optimizations) |
− | *[ | + | *[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
- [x86]: AviSynth+ or AviSynth 2.6
- [x64]: AviSynth+
- Supported color formats: Y8, YV12, YV16, YV24, YV411
- AviSynth+: all planar Y and YUV formats (8/10/12/14/16bit and float) are supported.
[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.
- clip =
- int quant = 25
- The higher the quant, the stronger the deblocking. Range is from 0 to 60.
- int quant = 25
- int aOffset = 0
- Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.
- int aOffset = 0
- int bOffset = 0
- Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.
- int bOffset = 0
- string planes = "yuv"
- Specifies which planes to process between y, u and v.
- string planes = "yuv"
- 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.
- Sets which cpu optimizations to use.
- int opt = 0
- 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 ←