Select

From Avisynth wiki
Revision as of 07:16, 18 September 2022 by Reel.Deal (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

"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