Hqdn3d

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Changelog: typo)
(Update to the latest version)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
|{{Author/akupenguin}}, {{Author/Asd-g}}
 
|{{Author/akupenguin}}, {{Author/Asd-g}}
|v1.0.1
+
|v1.1.0
|[https://github.com/Asd-g/hqdn3d/releases hqdn3d-1.0.1.7z]  
+
|[https://github.com/Asd-g/hqdn3d/releases hqdn3d]  
 
|4=Spatial-Temporal Denoisers
 
|4=Spatial-Temporal Denoisers
 
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
Line 21: Line 21:
  
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|hqdn3d (clip, float "ls", float "cs", float "lt", float "ct", int "restart", int "y", int "u", int "v")}}
+
:{{Template:FuncDef|hqdn3d (clip, float "ls", float "cs", float "lt", float "ct", int "restart", int "y", int "u", int "v", bool "mt")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
Line 34: Line 34:
 
:::{{Template:FuncDef3|lt}} and {{Template:FuncDef3|ct}} (0-255) are the strengths of the temporal filtering on the luma and chroma respectively. Increasing these values will improve the smoothing but may cause ghosting; anything above about 13 is probably not a good idea.  
 
:::{{Template:FuncDef3|lt}} and {{Template:FuncDef3|ct}} (0-255) are the strengths of the temporal filtering on the luma and chroma respectively. Increasing these values will improve the smoothing but may cause ghosting; anything above about 13 is probably not a good idea.  
 
<br>
 
<br>
::{{Par2|restart|int|lt+1}}
+
::{{Par2|restart|int|max(2, 1 + max(lt, ct)}}
 
:::Whenever a frame is requested out of order, restart filtering this many frames before. While seeking still slightly affects the content of the frames returned, this should reduce the disturbance to an unnoticeable level.  
 
:::Whenever a frame is requested out of order, restart filtering this many frames before. While seeking still slightly affects the content of the frames returned, this should reduce the disturbance to an unnoticeable level.  
 
<br>
 
<br>
Line 44: Line 44:
 
:::*2: Copy plane.
 
:::*2: Copy plane.
 
:::*3: Process plane.
 
:::*3: Process plane.
 +
<br>
 +
::{{Par2|mt|bool|false}}
 +
:::Whether to process the planes in parallel.
 
<br>
 
<br>
 
:'''Usage notes''':
 
:'''Usage notes''':
Line 57: Line 60:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v1.1.0      2022/01/03      - Fix bug if the frame processing is out of sequence.
 +
                                                  - Improve the speed by ~20% (mt=false).
 +
                                                  - Add parameter mt.
 +
                                                  - Change the MT mode to [[MT_SERIALIZED]].<br>
 +
v1.0.2      2021/12/17      - Fixed crash when the clip is high bit depth and cs=0.
 +
                                                  - Fixed garbage second row when the clip is high bit depth.<br> 
 
  v1.0.1      2021/04/14      - Set MT mode: [[MT_MULTI_INSTANCE]].<br>
 
  v1.0.1      2021/04/14      - Set MT mode: [[MT_MULTI_INSTANCE]].<br>
 
  v1.0.0      2021/04/11      - Added parameters y, u, v.
 
  v1.0.0      2021/04/11      - Added parameters y, u, v.
                              - Added support for all YUV planar formats.
+
                                                  - Added support for all YUV planar formats.
                              - Added support for 10..16-bit planar formats.
+
                                                  - Added support for 10..16-bit planar formats.
                              - Reduced intermediate precision - faster code, negligible change to output.
+
                                                  - Reduced intermediate precision - faster code, negligible change to output.
                              - Added Linux building option.
+
                                                  - Added Linux building option.
                              - Added version.<br>
+
                                                  - Added version.<br>
 
  v0.11        2005/01/25      - Fix a floating-point exception.<br>
 
  v0.11        2005/01/25      - Fix a floating-point exception.<br>
 
  v0.10        2004/10/25      - Initial release.
 
  v0.10        2004/10/25      - Initial release.

Revision as of 00:12, 12 January 2022

Abstract
Author Loren Merritt, Asd-g
Version v1.1.0
Download hqdn3d
Category Spatial-Temporal Denoisers
License GPLv2
Discussion

Contents

Description

High Quality DeNoise 3D is an AviSynth port of the MPlayer filter of the same name. It performs a 3-way low-pass filter, which can completely remove high-frequency noise while minimizing blending artifacts.

Requirements


Syntax and Parameters

hqdn3d (clip, float "ls", float "cs", float "lt", float "ct", int "restart", int "y", int "u", int "v", bool "mt")


clip   =
Input clip.


float  ls = 4.0
float  cs = 3.0
ls and cs (0-255) are the strengths of the spatial filtering on the luma and chroma respectively. Increasing these values will improve the smoothing but may overblur; anything above about 10 is probably not a good idea.


float  lt = 6.0
float  ct = 4.5
lt and ct (0-255) are the strengths of the temporal filtering on the luma and chroma respectively. Increasing these values will improve the smoothing but may cause ghosting; anything above about 13 is probably not a good idea.


int  restart = max(2, 1 + max(lt, ct)
Whenever a frame is requested out of order, restart filtering this many frames before. While seeking still slightly affects the content of the frames returned, this should reduce the disturbance to an unnoticeable level.


int  y = 3
int  u = 3
int  v = 3
Planes to process.
  • 1: Return garbage.
  • 2: Copy plane.
  • 3: Process plane.


bool  mt = false
Whether to process the planes in parallel.


Usage notes:
  • Filter strengths vary from 0 (no filtering) to 255 (there will be nothing left of your video). If any options are omitted, they will assume a value based on any other options that you did specify.
    For example, hqdn3d(ls=2) is equivalent to hqdn3d(ls=2, cs=1.5, lt=3, ct=2.25).
  • If your image looks oversmoothed (watch especially for chroma bleeding!), reduce ls and cs; if you notice ghosting/frame blending, reduce lt and ct. That's all there is to it.


Examples

hqdn3d with all default values:

AviSource("Blah.avi")
hqdn3d(ls=4.0, cs=3.0, lt=6.0, ct=4.5, restart=7, y=3, u=3, v=3)


Changelog

Version      Date            Changes
v1.1.0 2022/01/03 - Fix bug if the frame processing is out of sequence. - Improve the speed by ~20% (mt=false). - Add parameter mt. - Change the MT mode to MT_SERIALIZED.
v1.0.2 2021/12/17 - Fixed crash when the clip is high bit depth and cs=0. - Fixed garbage second row when the clip is high bit depth.
v1.0.1 2021/04/14 - Set MT mode: MT_MULTI_INSTANCE.
v1.0.0 2021/04/11 - Added parameters y, u, v. - Added support for all YUV planar formats. - Added support for 10..16-bit planar formats. - Reduced intermediate precision - faster code, negligible change to output. - Added Linux building option. - Added version.
v0.11 2005/01/25 - Fix a floating-point exception.
v0.10 2004/10/25 - Initial release.


Archived Downloads

Version Download Mirror
64 bits build hqdn3d_4-08-2010.7z hqdn3d_4-08-2010.rar
v0.11 hqdn3d-0.11.zip hqdn3d-0.11.zip
v0.10 hqdn3d-0.10.zip hqdn3d-0.10.zip
  • 64-bit version compiled by JoshyD.


External Links




Back to External Filters

Personal tools