DeBlock

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(External Links: touch up)
(Syntax and Parameters: add planes parameter)
 
(One intermediate revision by one user not shown)
Line 20: Line 20:
  
 
== [[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| }}

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