Deen
From Avisynth wiki
(Difference between revisions)
m (→Syntax and Parameters) |
m (update) |
||
Line 1: | Line 1: | ||
{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}} | {{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}} | ||
− | {{ | + | {{Filter3 |
| {{Author/Marc FD}} | | {{Author/Marc FD}} | ||
− | | | + | | v1.0 beta 1 |
− | | [http:// | + | | [http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip] |
| Spatial-Temporal Denoisers | | Spatial-Temporal Denoisers | ||
− | |||
− | |||
| Closed source | | Closed source | ||
|}} | |}} | ||
Line 12: | Line 10: | ||
== Description == | == Description == | ||
:Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.<br> | :Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.<br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
+ | == Requirements: == | ||
+ | :- AviSynth 2.5.8 or later | ||
+ | :- [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only | ||
+ | :- Supported color formats: [[YV12]] | ||
− | + | :- [[ISSE]] compatible CPU. | |
− | : | + | |
<br> | <br> | ||
− | + | == [[Script variables|Syntax and Parameters]] == | |
− | + | :{{Template:FuncDef| Deen (''clip'', ''string'' "mode", ''int'' "rad", ''int'' "thrY", ''int'' "thrUV", ''int'' "tthY", ''int'' "tthUV", ''float'' "min", ''float'' "scd", ''string'' "fcf", ''bool'' "borderfix")}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|mode|string|"c3d"}} |
− | ::: | + | :::Choose denoising method: |
− | ::::* | + | |
− | ::::* | + | ::::* "a2d" |
− | ::: | + | ::::* "a3d" |
− | ::::* | + | ::::* "c2d" |
− | ::::* | + | ::::* "c3d" - (default) |
− | ::::* | + | ::::* "w2d" |
− | :::: | + | ::::* "w3d" |
− | :::: | + | |
− | :::: | + | :::::Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will |
− | :::: | + | :::::only take pixels that are under the threshold (meaning that they are not too different from the original pixel). Now, |
− | :::: | + | :::::with the 'c' mode, you only make an average of the surrounding pixels ( under the threshold ) in order to calculate |
− | :::: | + | :::::the new pixel. With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means |
− | :::: | + | :::::that pixels farther will have to be closer to the pixel considered in order to be taken into account. Finally, the mode |
− | :::: | + | :::::'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging |
− | :::: | + | :::::all the surrounding pixels under the threshold, it will use the weight instead. Pixels close to the center will have |
− | :::: | + | :::::a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest |
− | :::: | + | :::::pixels, a weight of 1 (they will count three times less than the closest pixels). |
− | ::::* | + | <br> |
− | ::::* | + | ::{{Par2|rad|int|1}} |
− | ::::* | + | :::Radius. |
− | ::::* | + | ::::Range: 1-4 in 3d, 1-7 in 2d |
− | ::::* | + | :::::* 1 : 3x3 - (default) |
− | ::::* | + | :::::* 2 : 5x5 |
− | ::::* | + | :::::* 3 : 7x7 |
+ | :::::* 4 : 9x9 | ||
+ | :::::* 5 : 11x11 | ||
+ | :::::* 6 : 13x13 | ||
+ | :::::* 7 : 15x15 | ||
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|thrY|int|7}} |
:::Luma (Y) threshold. | :::Luma (Y) threshold. | ||
::::Range: 0 - 255 | ::::Range: 0 - 255 | ||
:::::Higher values blend more. | :::::Higher values blend more. | ||
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|thrUV|int|9}} |
:::Chroma (UV) threshold. | :::Chroma (UV) threshold. | ||
::::Range: 0 - 255 | ::::Range: 0 - 255 | ||
:::::Higher values blend more. | :::::Higher values blend more. | ||
<br> | <br> | ||
− | ::{{ | + | ::{{Par2|tthY|int|4}} |
− | :::Temporal | + | :::Temporal Luma (Y) threshold. 3d only. |
− | :::: | + | ::::Range: 0 - 255 |
− | :::: | + | <br> |
+ | ::{{Par2|tthUV|int|6}} | ||
+ | :::Temporal Chroma (UV) threshold. 3d only. | ||
+ | ::::Range: 0 - 255 | ||
+ | <br> | ||
+ | ::{{Par2|min|float|0.5}} | ||
+ | :::Range: 0.0 - 1.0 | ||
+ | ::::1.0 = no reduction .. 0.0 = maximum reduction | ||
+ | :::::When using 'a' mode, it's how the threshold is reduced with the raising of the distance | ||
+ | :::::When using 'c', it should do nothing (theoretically - not tested). | ||
+ | :::::When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising. | ||
+ | <br> | ||
+ | ::{{Par2|scd|float|9.0}} | ||
+ | :::Scene Change Detection: | ||
+ | ::::Threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion. | ||
+ | ::::Higher values means potentially more ghosting . | ||
+ | <br> | ||
+ | ::{{Par2|fcf|string|""}} | ||
+ | :::Full Control File: | ||
+ | ::::Default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames. | ||
+ | ::::Check demo.fcf.txt in the zip file. | ||
+ | <br> | ||
+ | ::{{Par2|borderfix|bool|false}} | ||
+ | :::Undocumented parameter. | ||
<br> | <br> | ||
== Examples == | == Examples == | ||
+ | Deen with all default values. | ||
[[AviSource]]("Blah.avi") | [[AviSource]]("Blah.avi") | ||
− | + | Deen(mode="c3d", rad=1, thrY=7, thrUV=9, tthY=4, tthUV=6, min=0.5, scd=9.0, fcf="", borderfix=false) | |
<br> | <br> | ||
== Changelog == | == Changelog == | ||
− | 2003-01-19 | + | 2003-08-13 v1.0 beta 1: |
− | - "w3d" not [http://forum.doom9.org/showthread.php?t=128733 implemented] | + | - this is the latest version and includes additional features<br> |
− | + | 2003-01-19 beta 2: | |
− | + | - public release | |
+ | - "w3d" not [http://forum.doom9.org/showthread.php?t=128733 implemented] | ||
<br> | <br> | ||
− | == | + | == Archived Downloads == |
− | - [http://forum.doom9.org/ | + | {| class="wikitable" border="1"; width="700px" |
+ | |- | ||
+ | !!width="150px"| Version | ||
+ | !!width="175px"| Download | ||
+ | !!width="175px"| Mirror | ||
+ | !!width="175px"| Mirror 2 | ||
+ | |- | ||
+ | !1.0 beta 1 | ||
+ | |[http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip]* | ||
+ | |[http://web.archive.org/web/20100713163352/http://www.aquilinestudios.org/scripts/deen_25_dll_20030813.zip deen_25_dll_20030813.zip]* | ||
+ | |[http://forum.doom9.org/attachment.php?attachmentid=5722&d=1145491575 deen10-beta1.zip] | ||
+ | |- | ||
+ | ![[Deen_beta_2|beta 2]] | ||
+ | |[http://ziquash.chez-alice.fr/Deen%20beta%202.zip Deen beta 2.zip] | ||
+ | |[http://web.archive.org/web/20070105185525/http://ziquash.chez-alice.fr/Deen%20beta%202.zip Deen beta 2.zip] | ||
+ | |[http://www.avisynth.nl/users/warpenterprises/files/deen_5F25_dll_20050705.zip deen_dll_20050705.zip]* | ||
+ | |- | ||
+ | ! colspan="4"| *1.0 beta 1 is the latest version not beta 2. Something must of gone wrong with the naming schemes. | ||
+ | |} | ||
+ | <br> | ||
+ | == External Links == | ||
- [http://avisynth.nl/users/fizick/docs/english/externalfilters/deen.htm avisynth.nl] - Documentation for beta 1.<br> | - [http://avisynth.nl/users/fizick/docs/english/externalfilters/deen.htm avisynth.nl] - Documentation for beta 1.<br> | ||
− | - [http:// | + | - [http://forum.doom9.org/showthread.php?t=69052 Doom9 Forum] - Discussion about deen beta 1.<br> |
− | - [http://forum. | + | - [http://forum.doom9.org/showthread.php?p=1143007#post1143007 Doom9 Forum] - Discussion about naming schemes between beta 1 and 2.<br> |
− | - [http://forum.doom9.org/showthread.php?p= | + | - [http://forum.doom9.org/showthread.php?p=407922#post407922 Doom9 Forum] - Documentation for beta 1. Translated by Manao.<br> |
- [http://forum.doom9.org/showthread.php?t=41643 Doom9 Forum] - Original discussion about deen beta 1.<br> | - [http://forum.doom9.org/showthread.php?t=41643 Doom9 Forum] - Original discussion about deen beta 1.<br> | ||
− | - [http:// | + | - [http://www.aquilinestudios.org/avsfilters/spatial.html#deen Scintilla's Guide] - Extensive documentation for beta 1.<br> |
+ | - [http://forum.videohelp.com/threads/355309-Deen%28%29-causing-double-imaging-or-ghosting-in-AVISynth VideoHelp Forum] - Discussion about deen. |
Revision as of 17:47, 18 May 2014
Abstract | |
---|---|
Author | Marc FD |
Version | v1.0 beta 1 |
Download | deen_25_dll_20030813.zip |
Category | Spatial-Temporal Denoisers |
License | Closed source |
Discussion |
Contents |
Description
- Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.
Requirements:
- - AviSynth 2.5.8 or later
- - Progressive input only
- - Supported color formats: YV12
- - ISSE compatible CPU.
Syntax and Parameters
- Deen (clip, string "mode", int "rad", int "thrY", int "thrUV", int "tthY", int "tthUV", float "min", float "scd", string "fcf", bool "borderfix")
- string mode = "c3d"
- Choose denoising method:
- string mode = "c3d"
- "a2d"
- "a3d"
- "c2d"
- "c3d" - (default)
- "w2d"
- "w3d"
- Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will
- only take pixels that are under the threshold (meaning that they are not too different from the original pixel). Now,
- with the 'c' mode, you only make an average of the surrounding pixels ( under the threshold ) in order to calculate
- the new pixel. With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means
- that pixels farther will have to be closer to the pixel considered in order to be taken into account. Finally, the mode
- 'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging
- all the surrounding pixels under the threshold, it will use the weight instead. Pixels close to the center will have
- a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest
- pixels, a weight of 1 (they will count three times less than the closest pixels).
- int rad = 1
- Radius.
- Range: 1-4 in 3d, 1-7 in 2d
- 1 : 3x3 - (default)
- 2 : 5x5
- 3 : 7x7
- 4 : 9x9
- 5 : 11x11
- 6 : 13x13
- 7 : 15x15
- Range: 1-4 in 3d, 1-7 in 2d
- Radius.
- int rad = 1
- int thrY = 7
- Luma (Y) threshold.
- Range: 0 - 255
- Higher values blend more.
- Range: 0 - 255
- Luma (Y) threshold.
- int thrY = 7
- int thrUV = 9
- Chroma (UV) threshold.
- Range: 0 - 255
- Higher values blend more.
- Range: 0 - 255
- Chroma (UV) threshold.
- int thrUV = 9
- int tthY = 4
- Temporal Luma (Y) threshold. 3d only.
- Range: 0 - 255
- Temporal Luma (Y) threshold. 3d only.
- int tthY = 4
- int tthUV = 6
- Temporal Chroma (UV) threshold. 3d only.
- Range: 0 - 255
- Temporal Chroma (UV) threshold. 3d only.
- int tthUV = 6
- float min = 0.5
- Range: 0.0 - 1.0
- 1.0 = no reduction .. 0.0 = maximum reduction
- When using 'a' mode, it's how the threshold is reduced with the raising of the distance
- When using 'c', it should do nothing (theoretically - not tested).
- When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising.
- 1.0 = no reduction .. 0.0 = maximum reduction
- Range: 0.0 - 1.0
- float min = 0.5
- float scd = 9.0
- Scene Change Detection:
- Threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion.
- Higher values means potentially more ghosting .
- Scene Change Detection:
- float scd = 9.0
- string fcf = ""
- Full Control File:
- Default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames.
- Check demo.fcf.txt in the zip file.
- Full Control File:
- string fcf = ""
- bool borderfix = false
- Undocumented parameter.
- bool borderfix = false
Examples
Deen with all default values.
AviSource("Blah.avi") Deen(mode="c3d", rad=1, thrY=7, thrUV=9, tthY=4, tthUV=6, min=0.5, scd=9.0, fcf="", borderfix=false)
Changelog
2003-08-13 v1.0 beta 1: - this is the latest version and includes additional features
2003-01-19 beta 2: - public release - "w3d" not implemented
Archived Downloads
Version | Download | Mirror | Mirror 2 |
---|---|---|---|
1.0 beta 1 | deen_25_dll_20030813.zip* | deen_25_dll_20030813.zip* | deen10-beta1.zip |
beta 2 | Deen beta 2.zip | Deen beta 2.zip | deen_dll_20050705.zip* |
*1.0 beta 1 is the latest version not beta 2. Something must of gone wrong with the naming schemes. |
External Links
- avisynth.nl - Documentation for beta 1.
- Doom9 Forum - Discussion about deen beta 1.
- Doom9 Forum - Discussion about naming schemes between beta 1 and 2.
- Doom9 Forum - Documentation for beta 1. Translated by Manao.
- Doom9 Forum - Original discussion about deen beta 1.
- Scintilla's Guide - Extensive documentation for beta 1.
- VideoHelp Forum - Discussion about deen.