ReduceBy2¶
Set of filters to resize the width and/or height by 2:
HorizontalReduceBy2 reduces the horizontal size of each frame by half.
VerticalReduceBy2 reduces the vertical size by half.
ReduceBy2, reduces the vertical and horizontal size by half. It is the same as
HorizontalReduceBy2
followed byVerticalReduceBy2
.
The filter kernel used is (1/4,1/2,1/4), which is the same as in VirtualDub's "2:1 reduction (high quality)" filter. This avoids the aliasing problems that occur with a (1/2,1/2) kernel.
If the source video is interlaced, the VerticalReduceBy2
filter will
deinterlace it (by field blending) as a side-effect.
Note
Note that, ReduceBy2
is a quick and dirty filter (performance related compromise).
Unlike the standard resize filters, the ReduceBy2
filters do not
preserve the position of the image center. It shifts color planes by half of
pixel. In fact, ReduceBy2()
is equivalent to:
# for RGB
BilinearResize(Width/2, Height/2, 0.5, -0.5)
# for YUY420
MergeChroma(BilinearResize(Width/2,Height/2,0.5,0.5),BilinearResize(Width/2, Height/2,1.0,1.0))
# for YUV422
MergeChroma(BilinearResize(Width/2,Height/2,0.5,0.5),BilinearResize(Width/2,Height/2,1.0,0.5))
See the "ReduceBy2() introduces chroma shift" thread for more information.
Syntax and Parameters¶
HorizontalReduceBy2 (clip)
VerticalReduceBy2 (clip)
ReduceBy2 (clip)
- clip
Source clip; all color formats supported.
Changelog¶
Version |
Changes |
---|---|
AviSynth+ r2487 |
Horizontal/VerticalReduceBy2: add support for RGB48/64, planar RGB(A) and YUV(A). |
AviSynth+ r2290 |
Horizontal/VerticalReduceBy2: add 16/32 bit support. |
$Date: 2023/01/20 19:19:07 $