Frfun7: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
FranceBB (talk | contribs)
Updated to 2021, but fucked up the table, sorry (FranceBB)
v0.9
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat4|External_filters|Plugins|Denoisers|Spatial_denoisers}}
{{FilterCat5|External_filters|Plugins|Plugins_x64|Denoisers|Spatial_denoisers}}
{{Filter3
{{Filter3
| Prunedtree
|1=Prunedtree, {{Author/pinterf}}
| 0.7
|2=0.9
| [https://github.com/pinterf/Frfun7/releases/download/0.7/frfun7_v0.7.7z GitHub v0.7]
|3=[https://github.com/pinterf/Frfun7/releases frfun7_v0.9.7z]
| Spatial Denoisers
|4=Spatial Denoisers
| Closed source
|5=[https://github.com/pinterf/Frfun7/blob/main/LICENSE GPLv2]
|6=[http://forum.doom9.org/showthread.php?t=110200 Doom9 Thread (2006)] - [https://forum.doom9.org/showthread.php?t=183206 Doom9 Thread (2021)]
|6=[http://forum.doom9.org/showthread.php?t=110200 Doom9 Thread (2006)] - [https://forum.doom9.org/showthread.php?t=183206 Doom9 Thread (2021)]
}}
}}


== Description ==
== Description ==
frfun7 is a spatial fractal denoising plugin made by Marc Fauconneau in 2002 and later maintained by Ferenc Pintér.
frfun7 is a spatial fractal denoising plugin.
<br>
<br>
<br>
<br>
<br>
== Requirements ==
== Requirements ==
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.5.8 or greater]
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
* [x64]: [[AviSynth+]]
* [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only  
* [[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]]
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]]
 
<br>
== [[Script variables|Syntax and Parameters]] ==
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef| frfun7 (clip, ''float'' "lambda",''float'' "T", ''float'' "Tuv", ''int'' "P", ''int'' "TP", ''int'' "R1")}}
:{{Template:FuncDef| frfun7 (clip, ''float'' "lambda", ''float'' "T", ''float'' "Tuv", ''int'' "P", ''int'' "TP", ''int'' "R1")}}
<br>
<br>
::{{Par2| |clip| }}
::{{Par2| |clip| }}
Line 35: Line 35:
<br>
<br>
::{{Par2|P|int|0}}
::{{Par2|P|int|0}}
:::it's a "speed -vs- quality" trade off setting.
:::It's a "speed -vs- quality" trade off setting.
   
   
::::*0 : faster but slightly lower quality than frfun7_rev6 (may create minor artifacts around line edges).
::::*0 : faster but slightly lower quality than frfun7_rev6 (may create minor artifacts around line edges).
Line 47: Line 47:
::{{Par2|TP1|int|0}}
::{{Par2|TP1|int|0}}
:::A threshold which affects P=1 (adaptive overlapping).
:::A threshold which affects P=1 (adaptive overlapping).
:::Introduced as a separate parameter in r0.7test. This value had to be encoded into P as TP1*1000 previously.
:::Introduced as a separate parameter in v0.7. This value had to be encoded into P as TP1*1000 previously.
:::0 will always run into a final filtering part, the bigger it is, probably the more pixels it will skip. (?)
:::0 will always run into a final filtering part, the bigger it is, probably the more pixels it will skip. (?)
<br>
<br>
::{{Par2|R1|int|3}}
::{{Par2|R1|int|3}}
:::Radius for first pass of the internal algorithm.
:::Radius for first pass of the internal algorithm.
:::First pass in pre v0.7 was fixed to 3 (and was no separate parameter)
:::First pass in pre v0.7 was fixed to 3 (and was no separate parameter).
:::Valid values are 2 or 3.
:::Valid values are 2 or 3.
<br>
<br>
 
<br>
== Examples ==
== Examples ==
frfun7 with default settings:
frfun7 with default settings:
Line 68: Line 63:
== Changelog ==
== Changelog ==
  Version        Date            Changes<br>
  Version        Date            Changes<br>
  2021           2021/09/10      - Code refresh and additions by pinterf
  v0.9            2022/06/29      - Performance increase in Intel sse2 - backport from VapourSynth (dubhater):
                                  * p=0 184 fps to 304 fps 65% faster
                                  *p=1 36 fps to 61 fps 69% faster
                                  *p=2 233 fps to 282 fps 21% faster
                                  *p=4 263 fps to 401 fps 52% faster
                                  *note: The output is slightly different at the left and right edges of the frame.
                                - additional fix bug when p=1 and tp1>0<br>
v0.8            2022/05/18      - backport some fixes and non-Intel C code from VapourSynth port by dubhater:
                                - Fix P=2 (temporal) blocky rectangular artifacts at the most top and bottom area
                                - Fix bug when p=1 and tp1>0
                                - Avoid loss of precision when p=1 or p=2, Fixes https://github.com/pinterf/Frfun7/issues/1
                                - Add C-only (other than Intel SIMD) code path, enable usage of ENABLE_INTEL_SIMD build option.<br>
v0.7           2021/09/10      - Code refresh and additions by pinterf
                                 - Source to VS2019 solution
                                 - Source to VS2019 solution
                                 - Add/guess missing source parts, rename files
                                 - Add/guess missing source parts, rename files
Line 79: Line 86:
                                 - re-enable T=0, Tuv=0 cases (unprocessed plane copy)
                                 - re-enable T=0, Tuv=0 cases (unprocessed plane copy)
                                 - add experimental TP1 (default 0) a threshold for P=1 (temporal overlapping) mode
                                 - add experimental TP1 (default 0) a threshold for P=1 (temporal overlapping) mode
                                 - add experimental R1 (default 3, can be set to 2) first pass radius
                                 - add experimental R1 (default 3, can be set to 2) first pass radius<br>                             
                               
  2013            2013/09/04      - [http://forum.doom9.org/showpost.php?p=1047721&postcount=95 no longer buffers the input]; yields a nice speed increase.
  2013            2013/09/04      - [http://forum.doom9.org/showpost.php?p=1047721&postcount=95 no longer buffers the input]; yields a nice speed increase.
                                 - "P" parameter added<br>
                                 - "P" parameter added<br>
Line 97: Line 103:
!!width="150px"| Mirror 2
!!width="150px"| Mirror 2
|-
|-
!2021
|[https://github.com/pinterf/Frfun7/releases/download/0.7/frfun7_v0.7.7z frfun7_v0.7.7]
!2013
!2013
|[https://dl.dropboxusercontent.com/s/mrvuou0kpnkkeg9/frfun7%202013.zip frfun7 2013.zip]
|[https://dl.dropboxusercontent.com/s/mrvuou0kpnkkeg9/frfun7%202013.zip frfun7 2013.zip]
Line 112: Line 116:


==External Links ==
==External Links ==
*[https://github.com/pinterf/Frfun7/ GitHub] - Source code repository.
*[https://github.com/dubhater/vapoursynth-frfun7 GitHub] - Source code repository (VapourSynth port).
*[http://forum.doom9.org/showthread.php?p=825604#post825604 Doom9 Forum] - frfun7_rev6 discussion.<br>
*[http://forum.doom9.org/showthread.php?p=825604#post825604 Doom9 Forum] - frfun7_rev6 discussion.<br>
*[http://forum.doom9.org/showthread.php?p=1643055#post1643055 Doom9 Forum] - frfun7 2013 discussion.<br>
*[http://forum.doom9.org/showthread.php?p=1643055#post1643055 Doom9 Forum] - frfun7 2013 discussion.<br>
*[https://forum.doom9.org/showthread.php?t=183206 Doom9 Forum] - frfun7 2021 discussion.<br>
*[https://forum.doom9.org/showthread.php?t=183206 Doom9 Forum] - frfun7 2021 discussion.<br>
<br>
<br>
<br>
<br>
<br>
-----------------------------------------------
-----------------------------------------------
'''Back to [[External_filters#Spatial_Denoisers|External Filters]] &larr;'''
'''Back to [[External_filters#Spatial_Denoisers|External Filters]] &larr;'''

Latest revision as of 02:12, 30 June 2022

Abstract
Author Prunedtree, pinterf
Version 0.9
Download frfun7_v0.9.7z
Category Spatial Denoisers
License GPLv2
Discussion Doom9 Thread (2006) - Doom9 Thread (2021)

Description

frfun7 is a spatial fractal denoising plugin.

Requirements


frfun7 (clip, float "lambda", float "T", float "Tuv", int "P", int "TP", int "R1")


clip   =
Input clip.


float  lambda = 1.1
Adjust the power of the local denoising.


float  T = 6.0
Limits the max luma denoising power for edges; 0 disables processing.


float  Tuv = 2.0
Limits the max chroma denoising power for edges; 0 disables processing.


int  P = 0
It's a "speed -vs- quality" trade off setting.
  • 0 : faster but slightly lower quality than frfun7_rev6 (may create minor artifacts around line edges).
  • 1 : adaptive overlapping (see also TP1). slower than frfun7_rev6 but the quality is a little bit better.
  • 2 : temporal
  • 4 : adaptive radius
Internally the parameter is treated as a bit mask but probably it has no point.
Parameter is available since frfun7 2013.


int  TP1 = 0
A threshold which affects P=1 (adaptive overlapping).
Introduced as a separate parameter in v0.7. This value had to be encoded into P as TP1*1000 previously.
0 will always run into a final filtering part, the bigger it is, probably the more pixels it will skip. (?)


int  R1 = 3
Radius for first pass of the internal algorithm.
First pass in pre v0.7 was fixed to 3 (and was no separate parameter).
Valid values are 2 or 3.



Examples

frfun7 with default settings:

AviSource("Blah.avi")
frfun7(lambda=1.1, T=6.0, Tuv=2.0, P=0, TP1=0, R1=3)


Changelog

Version         Date            Changes
v0.9 2022/06/29 - Performance increase in Intel sse2 - backport from VapourSynth (dubhater): * p=0 184 fps to 304 fps 65% faster *p=1 36 fps to 61 fps 69% faster *p=2 233 fps to 282 fps 21% faster *p=4 263 fps to 401 fps 52% faster *note: The output is slightly different at the left and right edges of the frame. - additional fix bug when p=1 and tp1>0
v0.8 2022/05/18 - backport some fixes and non-Intel C code from VapourSynth port by dubhater: - Fix P=2 (temporal) blocky rectangular artifacts at the most top and bottom area - Fix bug when p=1 and tp1>0 - Avoid loss of precision when p=1 or p=2, Fixes https://github.com/pinterf/Frfun7/issues/1 - Add C-only (other than Intel SIMD) code path, enable usage of ENABLE_INTEL_SIMD build option.
v0.7 2021/09/10 - Code refresh and additions by pinterf - Source to VS2019 solution - Add/guess missing source parts, rename files - Update AviSynth headers - Add version resource - Avisynth V2.6 style plugin - Implement all mmx inline assembler as SIMD intrinsics - x64 build - fix some rounding and other issue - re-enable T=0, Tuv=0 cases (unprocessed plane copy) - add experimental TP1 (default 0) a threshold for P=1 (temporal overlapping) mode - add experimental R1 (default 3, can be set to 2) first pass radius
2013 2013/09/04 - no longer buffers the input; yields a nice speed increase. - "P" parameter added
rev6 2006/05/10 - bug fixes - remove mod8 restriction - process first and last frame
rev1 2006/05/05 - initial release


Archived Downloads

Version Download Mirror Mirror 2
2013 frfun7 2013.zip frfun7 2013.zip frfun7_2013.zip
rev6 frfun7_rev6.zip frfun7_rev6.zip frfun7_rev6.zip





Back to External Filters