DeBlock: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
reformatting, category |
→Syntax and Parameters: add planes parameter |
||
| (25 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{FilterCat6|External_filters|Plugins|Plugins_x64|Restoration_filters|Deblockers|Deep_color_tools}} | ||
{{ | {{Filter3 | ||
|{{Author/Manao}},{{Author/Fizick}} | |{{Author/Manao}},{{Author/Fizick}}, {{Author/tp7}}, [https://github.com/mysteryx93 MysteryX], [https://github.com/299792458m/ 299792458m] | ||
| | |@9802e03 (2020/08/30) | ||
|[https://files.videohelp.com/u/223002/Avisynth-Deblock_299792458m_noAVX2req.7z Deblock_299792458m_noAVX2req.7z] | |||
|Deblocker | |Deblocker | ||
|5= | |5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2] | ||
|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]}} | |||
|6 | |||
<br> | |||
==Description== | ==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.<br> | 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.<br> | ||
<br> | <br> | ||
== Requirements == | |||
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ 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. | |||
<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| }} | |||
:::Input clip, width and height must be mod 8. | |||
::{{Par2|quant|int|25}} | ::{{Par2|quant|int|25}} | ||
:::The higher the quant, the stronger the deblocking. Range is from 0 to 60. | :::The higher the quant, the stronger the deblocking. Range is from 0 to 60. | ||
::{{Par2|aOffset|int|0}} | ::{{Par2|aOffset|int|0}} | ||
:::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked. | :::Quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked. | ||
::{{Par2|bOffset|int|0}} | ::{{Par2|bOffset|int|0}} | ||
:::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger. | :::Another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger. | ||
::{{Par2|planes|string|"yuv"}} | |||
:::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}}. | |||
<br> | <br> | ||
==Examples== | ==Examples== | ||
:To deblock the motion compensation (MVTools plugin): | Deblock with default settings: | ||
MPEG2Source("Blocky.dv2") | |||
Deblock(quant=25, aOffset=0, bOffset=0, planes="yuv") | |||
To deblock the motion compensation ([[MVTools]] plugin): | |||
<pre> | <pre> | ||
vectors = source.MVAnalyse(isb = false, lambda = 1000) | vectors = source.MVAnalyse(isb = false, lambda = 1000) | ||
| Line 38: | Line 60: | ||
compensation.Deblock()</pre> | compensation.Deblock()</pre> | ||
<br> | <br> | ||
== Changelog == | |||
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 | |||
- 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) | |||
<br> | |||
== Archived Downloads == | |||
{| class="wikitable" border="1"; width="600px" | |||
|- | |||
!!width="100px"| Version | |||
!!width="150px"| Download | |||
!!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 | |||
|[https://github.com/tp7/Deblock GitHub] | |||
| | |||
|- | |||
!v0.1.2 | |||
|[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> | |||
==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 06: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 |
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.
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.
- 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.
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()
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)
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.
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 ←