Select

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (line break)
(add link to avs+ documentation)
 
(One intermediate revision by one user not shown)
Line 3: Line 3:
  
 
=== SelectEven/SelectOdd ===
 
=== SelectEven/SelectOdd ===
 +
<div style="max-width:62em" >
 +
<div {{BlueBox2|40|0|3px solid purple}} >
 +
{{AvsPlusFullname}}<br>
 +
Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/select.html https://avisynthplus.readthedocs.io]
 +
</div>
  
{{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.
+
{{Func2Def
 +
|SelectEven(clip ''clip'')
 +
|SelectOdd(clip ''clip'')
 +
}}
  
Since frames are numbered starting from zero, SelectEven actually selects the first, third, fifth,... frames by human counting conventions.  
+
'''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>
  
  
 
=== SelectEvery ===
 
=== SelectEvery ===
 +
<div style="max-width:62em" >
 +
<div {{BlueBox2|40|0|3px solid purple}} >
 +
{{AvsPlusFullname}}<br>
 +
Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/selectevery.html https://avisynthplus.readthedocs.io]
 +
</div>
  
{{Template:FuncDef|SelectEvery(clip ''clip'', int ''step-size'', int ''offset1'' [, int ''offset2'', ...])}}
 
  
SelectEvery is a generalization of filters like SelectEven and [[Pulldown]]. The easiest way to describe it is by example:
+
{{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(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" >
 +
<div {{BlueBox2|40|0|3px solid purple}} >
 +
{{AvsPlusFullname}}<br>
 +
Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/selectrangeevery.html https://avisynthplus.readthedocs.io]
 +
</div>
  
{{Template:FuncDef|SelectRangeEvery(clip ''clip'' [, int ''every''] [, int ''length''] [, int ''offset''] [, bool ''audio''])}}
 
  
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).
+
{{FuncDef|SelectRangeEvery(clip ''clip'' [, int ''every''] [, int ''length''] [, int ''offset''] [, bool ''audio''])}}
  
Starting from v2.55, SelectRangeEvery will also process audio. To keep the original audio, use ''audio = false''.
+
Selects {{FuncArg|length}} number of frames {{FuncArg|every}} {{Serif|''n''}} frames, starting from frame {{FuncArg|offset}}.  
  
'''Examples:'''
+
{{Par2|every|int|1500}}
 +
{{Par2|length|int|50}}
 +
{{Par2|offset|int|0}}
 +
{{Par2|audio|bool|true}}
  
 +
By default, select 50 frames every 1500 frames, starting with frame 0.
 +
 +
'''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]]

Latest revision as of 07:16, 18 September 2022

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

Contents

[edit] SelectEven/SelectOdd

AviSynth+
Up-to-date documentation: https://avisynthplus.readthedocs.io


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.


[edit] SelectEvery

AviSynth+
Up-to-date documentation: https://avisynthplus.readthedocs.io


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

[edit] SelectRangeEvery

AviSynth+
Up-to-date documentation: https://avisynthplus.readthedocs.io


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)

[edit] External Links

Personal tools