Select

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (line break)
m (formatting, links, phrasing)
Line 3: Line 3:
  
 
=== SelectEven/SelectOdd ===
 
=== SelectEven/SelectOdd ===
 +
<div style="max-width:62em" >
 +
{{Func2Def
 +
|SelectEven(clip ''clip'')
 +
|SelectOdd(clip ''clip'')
 +
}}
  
{{Template:Func2Def|SelectEven(clip ''clip'')|SelectOdd(clip ''clip'')}}
+
'''SelectEven''' makes an output video stream using only the even-numbered frames from the input. '''SelectOdd''' is its odd counterpart.
  
SelectEven makes an output video stream using only the even-numbered frames from the input. SelectOdd is its odd counterpart.
+
Since frames are numbered starting from zero, by human counting conventions '''SelectEven''' actually selects the first, third, fifth, etc, frames.  
 
+
</div>
Since frames are numbered starting from zero, SelectEven actually selects the first, third, fifth,... frames by human counting conventions.  
+
  
  
 
=== SelectEvery ===
 
=== SelectEvery ===
 +
<div style="max-width:62em" >
 +
{{FuncDef
 +
|SelectEvery(clip ''clip'', int ''step-size'', int ''offset1'' [, int ''offset2'', ...])
 +
}}
  
{{Template:FuncDef|SelectEvery(clip ''clip'', int ''step-size'', int ''offset1'' [, int ''offset2'', ...])}}
+
A generalization of filters like '''SelectEven''' and [[Pulldown]]. The easiest way to describe it is by example:  
 
+
<div {{BoxWidthIndent|62|0}} >
SelectEvery is a generalization of filters like SelectEven and [[Pulldown]]. The easiest way to describe it is by example:  
+
 
+
 
  SelectEvery(clip, 2, 0)        # identical to SelectEven(clip)
 
  SelectEvery(clip, 2, 0)        # identical to SelectEven(clip)
 
  SelectEvery(clip, 2, 1)        # identical to SelectOdd(clip)
 
  SelectEvery(clip, 2, 1)        # identical to SelectOdd(clip)
  SelectEvery(clip, 10, 3, 6, 7)  # select frames 3, 6, 7, 13, 16, 17, 23, 26, 27, ... from source clip
+
  SelectEvery(clip, 10, 3, 6, 7)  # select frames 3, 6, 7, 13, 16, 17, 23, 26, 27, ...
  SelectEvery(clip, 9, 0)        # select frames 0, 9, 18, 27, ... from source clip
+
  SelectEvery(clip, 9, 0)        # select frames 0, 9, 18, 27, ...
 +
</div>
  
 
And how about this:  
 
And how about this:  
 
+
<div {{BoxWidthIndent|62|0}} >
 
  # Take a 24fps progressive input clip and apply 3:2 pulldown,
 
  # Take a 24fps progressive input clip and apply 3:2 pulldown,
 
  # yielding a 30fps interlaced output clip
 
  # yielding a 30fps interlaced output clip
  AssumeFrameBased()
+
  [[AssumeFrameBased]]
  SeparateFields()
+
  [[SeparateFields]]
 
  SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
 
  SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
  Weave()
+
  [[Weave]]
 +
</div>
 +
</div>
  
 
=== SelectRangeEvery ===
 
=== SelectRangeEvery ===
 +
<div style="max-width:62em" >
 +
{{FuncDef|SelectRangeEvery(clip ''clip'' [, int ''every''] [, int ''length''] [, int ''offset''] [, bool ''audio''])}}
  
{{Template:FuncDef|SelectRangeEvery(clip ''clip'' [, int ''every''] [, int ''length''] [, int ''offset''] [, bool ''audio''])}}
+
Selects {{FuncArg|length}} number of frames {{FuncArg|every}} {{Serif|''n''}} frames, starting from frame {{FuncArg|offset}}.
  
This filter is available starting from v2.5. The filter selects ''length'' number of frames ''every'' n frames, starting from frame ''offset''. Default values are: Select 50 frames every 1500 frames, starting with first selection at frame 0. (''every'' = 1500, ''length'' = 50, ''offset'' = 0).
+
{{Par2|every|int|1500}}
 +
{{Par2|length|int|50}}
 +
{{Par2|offset|int|0}}
 +
{{Par2|audio|bool|true}}
  
Starting from v2.55, SelectRangeEvery will also process audio. To keep the original audio, use ''audio = false''.
+
By default, select 50 frames every 1500 frames, starting with frame 0.  
  
'''Examples:'''
+
'''SelectRangeEvery''' will normally process audio. To keep the original audio, use {{FuncArg|audio}}=false.
  
 +
'''Examples:'''
 +
<div {{BoxWidthIndent|62|0}} >
 
  # Selects the frames 0 to 13, 280 to 293, 560 to 573, etc.
 
  # Selects the frames 0 to 13, 280 to 293, 560 to 573, etc.
 
  SelectRangeEvery(clip, 280, 14)
 
  SelectRangeEvery(clip, 280, 14)
 +
</div>
  
 +
<div {{BoxWidthIndent|62|0}} >
 
  # Selects the frames 2 to 15, 282 to 295, 562 to 575, etc.
 
  # Selects the frames 2 to 15, 282 to 295, 562 to 575, etc.
 
  SelectRangeEvery(clip, 280, 14, 2)
 
  SelectRangeEvery(clip, 280, 14, 2)
<br>
+
</div>
 +
</div>
 +
 
 
=== External Links ===
 
=== External Links ===
* [http://forum.doom9.org/showthread.php?t=135690 Doom9 Forum] - Deinterlacing BFF/TFF - which SelectEvery setting?
+
* [http://forum.doom9.org/showthread.php?t=135690 ''Deinterlacing BFF/TFF - which SelectEvery setting?''] (Doom9 Forum)
 
[[Category:Internal filters]]
 
[[Category:Internal filters]]
 
[[Category:Timeline_editing_filters]]
 
[[Category:Timeline_editing_filters]]

Revision as of 12:14, 28 February 2016

"Select" redirects here. For the switch-like control function, see Internal Functions: Select

Contents

SelectEven/SelectOdd

SelectEven(clip clip)
SelectOdd(clip clip)

SelectEven makes an output video stream using only the even-numbered frames from the input. SelectOdd is its odd counterpart.

Since frames are numbered starting from zero, by human counting conventions SelectEven actually selects the first, third, fifth, etc, frames.


SelectEvery

SelectEvery(clip clip, int step-size, int offset1 [, int offset2, ...])

A generalization of filters like SelectEven and Pulldown. The easiest way to describe it is by example:

SelectEvery(clip, 2, 0)         # identical to SelectEven(clip)
SelectEvery(clip, 2, 1)         # identical to SelectOdd(clip)
SelectEvery(clip, 10, 3, 6, 7)  # select frames 3, 6, 7, 13, 16, 17, 23, 26, 27, ...
SelectEvery(clip, 9, 0)         # select frames 0, 9, 18, 27, ...

And how about this:

# Take a 24fps progressive input clip and apply 3:2 pulldown,
# yielding a 30fps interlaced output clip
AssumeFrameBased
SeparateFields
SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7)
Weave

SelectRangeEvery

SelectRangeEvery(clip clip [, int every] [, int length] [, int offset] [, bool audio])

Selects length number of frames every n frames, starting from frame offset.

int  every = 1500
int  length = 50
int  offset = 0
bool  audio = true

By default, select 50 frames every 1500 frames, starting with frame 0.

SelectRangeEvery will normally process audio. To keep the original audio, use audio=false.

Examples:

# Selects the frames 0 to 13, 280 to 293, 560 to 573, etc.
SelectRangeEvery(clip, 280, 14)
# Selects the frames 2 to 15, 282 to 295, 562 to 575, etc.
SelectRangeEvery(clip, 280, 14, 2)

External Links

Personal tools