SalFPS3

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(correct download link)
m (link fix)
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Filter|Mug Funky, Didee|3.0|[[Media:salFPS3.avs|salFPS3.avs]]|Frame Rate Converters|
+
{{FilterCat4|External_filters|Scripts|Adjustment_filters|Frame_Rate_Conversion}}
* YV12
+
{{Filter3
|}}
+
|Mug Funky, Didée
{{Template:FuncDef|salFPS3(clip input, float FPS, int "mode", int "protection", int "protection2", int "iterate", int "reset", int "initialise") }}
+
|3.0
 +
|[[Media:salFPS3.avs|salFPS3.avs]]
 +
|Frame Rate Converters
 +
|
 +
|6=[http://forum.doom9.org/showthread.php?p=987212#post987212 Doom9 Thread]}}
  
== Abstract ==  
+
== Description ==
A modded version of MotionProtectedFPS for super protection. Originally created by Mug Funky, modded by Didee.
+
A modded version of MotionProtectedFPS for extra protection. Originally created by Mug Funky, modded by Didée.
 +
<br>
 +
<br>
  
== Requires Filters ==
+
== Requirements ==
 +
* AviSynth 2.5.8 or greater
 +
* [[Interlacing_and_deinterlacing|Progressive]] input only
 +
* Supported color formats: [[YV12]]
 +
=== Required Plugins ===
 
* [[MaskTools2]]
 
* [[MaskTools2]]
* [[Motion]] download at [http://www.64k.it/andres/data/avisynth/Motion_12Dec05.zip 64k.it]
+
* [[Motion]] | [http://wilbertdijkhof.com/mg262/Motion_v10.zip Motion_v10.zip]
 
+
<br>
== Description ==
+
A high quality frame rate convertion filter.
+
 
+
{{Par|input|clip|last}}
+
Clip to be converted.
+
 
+
{{Par|FPS|float|null}}
+
The FPS to be converted to.
+
 
+
{{Par|mode|int|warp}}
+
See MotionFPS documentation for details.
+
 
+
{{Par|protection|int|80}}
+
Protection value for SumStretchFPSMask.
+
 
+
{{Par|protection2|int|20}}
+
Protection value for mt_edge.
+
 
+
{{Par|interate|int|2}}
+
Iterate value for FindMotion.
+
 
+
{{Par|reset|int|50}}
+
Reset value for FindMotion.
+
 
+
{{Par|initialise|int|6}}
+
Initialise value for FindMotion.
+
 
+
== Note ==
+
 
+
You may need these functions to make this script work.
+
<pre>
+
function Mod16 (clip c, bool "mirror")
+
{
+
mirror = default(mirror,false)
+
+
modwidth = ceil(c.width/16 + 0.5)*16
+
modheight = ceil(c.height/16 + 0.5)*16
+
 
+
out = c.addborders(0,0,modwidth - c.width,modheight - c.height)
+
out2 = stackvertical(stackhorizontal(c,c.fliphorizontal()),stackhorizontal(c.flipvertical(),c.turn180())).crop(0,0,modwidth,modheight,align=true)
+
global gl_diff_width = int(out.width - c.width)
+
global gl_diff_height = int(out.height - c.height)
+
mirror==false? out : out2
+
}
+
 
+
function unMod16 (clip c)
+
{
+
c.crop(0,0,-gl_diff_width,-gl_diff_height)
+
}
+
</pre>
+
== Links ==
+
Download [[Media: salFPS3.avs|salFPS3.avs]] : Current Version (recommended). <br>
+
Download [[Media: salFPS.avs|salFPS.avs]] : Original Version.
+
  
[[Category:External filters]]
+
== [[Script variables|Syntax and Parameters]] ==
 +
:{{Template:FuncDef|salFPS3 (clip input, float FPS, int "mode", int "protection", int "protection2", int "iterate", int "reset", int "initialise") }}
 +
<br>
 +
::{{Par2|input|clip| }}
 +
:::Input clip to be converted.
 +
<br>
 +
::{{Par2|FPS|float| }}
 +
:::The FPS to be converted to, this value is not optional so it must be specified.
 +
<br>
 +
:::{{Par2|mode|int|warp}}
 +
:::Modes:
 +
:::*<code>move</code> : construct new frame by moving blocks
 +
:::*<code>warpfast</code> : construct new frame by stretching blocks
 +
:::*<code>warp</code> : construct new frame by stretching blocks; more accurate than warpfast
 +
<br>
 +
::{{Par2|protection|int|80}}
 +
:::<tt>multiplier</tt> value for <tt>SumStretchFPSMask</tt>.
 +
<br>
 +
::{{Par2|protection2|int|20}}
 +
:::<tt>thY1</tt> value for <tt>mt_edge</tt>; low threshold, if the pixel value is less than thY1, the pixel is set to 0.
 +
<br>
 +
::{{Par2|interate|int|2}}
 +
:::<tt>iterate</tt> value for <tt>FindMotion</tt>.
 +
<br>
 +
::{{Par2|reset|int|50}}
 +
:::<tt>reset</tt> value for <tt>FindMotion</tt>.
 +
:::*<code>reset=0</code> : motion estimation always uses estimated motion vectors for the previous frame, which forces linear access.
 +
:::*<code>reset=50</code> : motion vectors are calculated from scratch every 50 frames, allowing seeking. Lower values will allow faster seeking.
 +
<br>
 +
::{{Par2|initialise|int|6}}
 +
:::<tt>initialise</tt> value for <tt>FindMotion</tt>; higher values increase the accuracy of vectors calculated from scratch, at the cost of increased calculation time.
 +
<br>
 +
== Examples ==
 +
Change frame rate to 23.976:
 +
[[AviSource]]("blah.avi")<br>
 +
fps = 24000.0/1001.0
 +
salFPS3(fps)
 +
<br>
 +
==External Links ==
 +
*Download [[Media: salFPS3.avs|salFPS3.avs]] : Current Version (recommended). <br>
 +
*Download [[Media: salFPS.avs|salFPS.avs]] : Original Version.
 +
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Frame_Rate_Conversion|External Filters]] &larr;'''

Latest revision as of 08:57, 12 November 2015

Abstract
Author Mug Funky, Didée
Version 3.0
Download salFPS3.avs
Category Frame Rate Converters
License
Discussion Doom9 Thread

Contents

[edit] Description

A modded version of MotionProtectedFPS for extra protection. Originally created by Mug Funky, modded by Didée.

[edit] Requirements

  • AviSynth 2.5.8 or greater
  • Progressive input only
  • Supported color formats: YV12

[edit] Required Plugins


[edit] Syntax and Parameters

salFPS3 (clip input, float FPS, int "mode", int "protection", int "protection2", int "iterate", int "reset", int "initialise")


clip  input =
Input clip to be converted.


float  FPS =
The FPS to be converted to, this value is not optional so it must be specified.


int  mode = warp
Modes:
  • move : construct new frame by moving blocks
  • warpfast : construct new frame by stretching blocks
  • warp : construct new frame by stretching blocks; more accurate than warpfast


int  protection = 80
multiplier value for SumStretchFPSMask.


int  protection2 = 20
thY1 value for mt_edge; low threshold, if the pixel value is less than thY1, the pixel is set to 0.


int  interate = 2
iterate value for FindMotion.


int  reset = 50
reset value for FindMotion.
  • reset=0 : motion estimation always uses estimated motion vectors for the previous frame, which forces linear access.
  • reset=50 : motion vectors are calculated from scratch every 50 frames, allowing seeking. Lower values will allow faster seeking.


int  initialise = 6
initialise value for FindMotion; higher values increase the accuracy of vectors calculated from scratch, at the cost of increased calculation time.


[edit] Examples

Change frame rate to 23.976:

AviSource("blah.avi")
fps = 24000.0/1001.0 salFPS3(fps)


[edit] External Links




Back to External Filters

Personal tools