StainlessS
11th June 2013, 11:23
Prompted by this thread:
http://forum.doom9.org/showthread.php?t=168018
EDIT: Requires Microsoft Visual C++ 2008 runtimes.
FrameRepeat() Plugin for Avisynth v2.5 & v2.6 by StainlessS.
FrameRepeat() is a simple plugin to select frames to repeat.
v2.6 plugin only required for Show and Ver arguments to display info on frame in Avisynth v2.6+ colorspaces.
Video:- Planar, YUY2, RGB32, RGB24. # EDIT: ALL AVS+ colorspaces.
Audio:- Returns NO AUDIO.
FrameRepeat(Clip,int "default",string "Cmd", bool "Show", bool "Ver")
Compulsory args:
Clip, No Default, source clip.
Optional args:
default, int, default=0. The default repeat count for frames not mentioned in command file.
Default =0, is, frames not mentioned in Cmd command file are excluded (repeated 0 times, ie not output at all).
Cmd, string, Default= "", Not set.
Command file, frame numbers supplied in a file. Use eg "Repeat.txt" for command file in your script directory.
Show bool, Default= false.
true = Show info.
ver bool, Default=false.
true = Show version.
The 'Cmd' Command file allows one command per line and can contain comments eg:
#------------- # below contents of a text file eg "Repeat.txt".
1 1 # This is a comment. Output frame 1 once.
2 # Single frame number without a repeat count, outputs frame only once, equivalent to 2 1. # EDIT: Oops, we changed that, default is 0, so frame 2 skipped altogether.
3,2 # Can also use ',' COMMA rather than SPACE as a number separator. Outputs frame 3 twice.
5,3 # Output frame 5, 3 times.
#-------------
Given a 6 frame clip (frames 0 -> 5)
FrameRepeat(clip,default=0,cmd="Repeat.txt") # would produce this sequence "1,2,3,3,5,5,5".
FrameRepeat(clip,default=1,cmd="Repeat.txt") # would produce this sequence "0,1,2,3,3,4,5,5,5".
FrameRepeat(clip,default=2,cmd="Repeat.txt") # would produce this sequence "0,0,1,2,3,3,4,4,5,5,5".
FrameRepeat(clip,default=3) # would produce this sequence "0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5".
# Note, above without a command file.
Where a frame number and repeat count is mentioned more than once in file, the last one will override earlier ones..
--------------------------------------
StainlessS.
FrameRepeat(clip) will produce a "No frames to output" type of error message, as 'default' defaults to 0.
See MediaFire in sig
http://forum.doom9.org/showthread.php?t=168018
EDIT: Requires Microsoft Visual C++ 2008 runtimes.
FrameRepeat() Plugin for Avisynth v2.5 & v2.6 by StainlessS.
FrameRepeat() is a simple plugin to select frames to repeat.
v2.6 plugin only required for Show and Ver arguments to display info on frame in Avisynth v2.6+ colorspaces.
Video:- Planar, YUY2, RGB32, RGB24. # EDIT: ALL AVS+ colorspaces.
Audio:- Returns NO AUDIO.
FrameRepeat(Clip,int "default",string "Cmd", bool "Show", bool "Ver")
Compulsory args:
Clip, No Default, source clip.
Optional args:
default, int, default=0. The default repeat count for frames not mentioned in command file.
Default =0, is, frames not mentioned in Cmd command file are excluded (repeated 0 times, ie not output at all).
Cmd, string, Default= "", Not set.
Command file, frame numbers supplied in a file. Use eg "Repeat.txt" for command file in your script directory.
Show bool, Default= false.
true = Show info.
ver bool, Default=false.
true = Show version.
The 'Cmd' Command file allows one command per line and can contain comments eg:
#------------- # below contents of a text file eg "Repeat.txt".
1 1 # This is a comment. Output frame 1 once.
2 # Single frame number without a repeat count, outputs frame only once, equivalent to 2 1. # EDIT: Oops, we changed that, default is 0, so frame 2 skipped altogether.
3,2 # Can also use ',' COMMA rather than SPACE as a number separator. Outputs frame 3 twice.
5,3 # Output frame 5, 3 times.
#-------------
Given a 6 frame clip (frames 0 -> 5)
FrameRepeat(clip,default=0,cmd="Repeat.txt") # would produce this sequence "1,2,3,3,5,5,5".
FrameRepeat(clip,default=1,cmd="Repeat.txt") # would produce this sequence "0,1,2,3,3,4,5,5,5".
FrameRepeat(clip,default=2,cmd="Repeat.txt") # would produce this sequence "0,0,1,2,3,3,4,4,5,5,5".
FrameRepeat(clip,default=3) # would produce this sequence "0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5".
# Note, above without a command file.
Where a frame number and repeat count is mentioned more than once in file, the last one will override earlier ones..
--------------------------------------
StainlessS.
FrameRepeat(clip) will produce a "No frames to output" type of error message, as 'default' defaults to 0.
See MediaFire in sig