SalFPS3: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
No edit summary
 
Raffriff42 (talk | contribs)
m link fix
 
(7 intermediate revisions by 3 users 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_12Dec05.dll download at http://www.64k.it/andres/data/avisynth/Motion_12Dec05.zip ]]
* [[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 09:57, 12 November 2015

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

Description

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

Requirements

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

Required Plugins


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.


Examples

Change frame rate to 23.976:

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





Back to External Filters