Hqdn3d

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(v1.0.1 update)
m (Update the version)
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
|{{Author/akupenguin}}, {{Author/Asd-g}}
 
|{{Author/akupenguin}}, {{Author/Asd-g}}
|v1.0.1
+
|v1.1.1
|[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 10: Line 10:
  
 
== Description ==
 
== 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.  
+
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.
 
<br>
 
<br>
 
<br>
 
<br>
Line 17: Line 17:
 
* [x64]: [[AviSynth+]]
 
* [x64]: [[AviSynth+]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
** AviSynth+: All [[planar]] Y/YUV formats (8/10/12/14/16-bits) are supported.  
+
** AviSynth+: All [[planar]] Y/YUV formats (8/10/12/14/16-bits) are supported.
 
<br>
 
<br>
  
 
== [[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 32: Line 32:
 
::{{Par2|lt|float|6.0}}
 
::{{Par2|lt|float|6.0}}
 
::{{Par2|ct|float|4.5}}
 
::{{Par2|ct|float|4.5}}
:::{{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>
 
::{{Par2|y|int|3}}
 
::{{Par2|y|int|3}}
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''':
 
::*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.<br>For example, <code>hqdn3d(ls=2)</code> is equivalent to <code>hqdn3d(ls=2, cs=1.5, lt=3, ct=2.25)</code>.
 
::*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.<br>For example, <code>hqdn3d(ls=2)</code> is equivalent to <code>hqdn3d(ls=2, cs=1.5, lt=3, ct=2.25)</code>.
::*If your image looks oversmoothed (watch especially for chroma bleeding!), reduce {{Template:FuncDef3|ls}} and {{Template:FuncDef3|cs}}; if you notice ghosting/frame blending, reduce {{Template:FuncDef3|lt}} and {{Template:FuncDef3|ct}}. That's all there is to it.  
+
::*If your image looks oversmoothed (watch especially for chroma bleeding!), reduce {{Template:FuncDef3|ls}} and {{Template:FuncDef3|cs}}; if you notice ghosting/frame blending, reduce {{Template:FuncDef3|lt}} and {{Template:FuncDef3|ct}}. That's all there is to it.
 
<br>
 
<br>
  
Line 57: Line 60:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
  v1.0.1      2020/04/14      - Set MT mode: [[MT_MULTI_INSTANCE]].<br>
+
v1.1.1      2022/02/12      - Fix the crashing when u/v = 1/2.<br>
  v1.0.0      2020/04/11      - Added parameters y, u, v.
+
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.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.
Line 67: Line 77:
 
  v0.10        2004/10/25      - Initial release.
 
  v0.10        2004/10/25      - Initial release.
 
<br>
 
<br>
 +
 
== Archived Downloads ==
 
== Archived Downloads ==
 
{| class="wikitable" border="1"; width="600px"
 
{| class="wikitable" border="1"; width="600px"

Latest revision as of 03:33, 12 February 2022

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

Contents

[edit] 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.

[edit] Requirements


[edit] 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.


[edit] 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)


[edit] Changelog

Version      Date            Changes
v1.1.1 2022/02/12 - Fix the crashing when u/v = 1/2.
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.


[edit] 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.


[edit] External Links




Back to External Filters

Personal tools