Releases: Kiyamou/VapourSynth-JincResize
JincResize-r7.2
-
Add parameters
quant_x
,quant_y
for controlling sub-pixel quantization. -
Rename parameters, keeping consistent with AviSynth plugins.
crop_left
->src_left
crop_top
->src_top
crop_width
->src_width
crop_height
->src_height
-
Give up using AVX2 on calculating convolution for 8~16bit input.
JincResize-r7.1
-
Update msvc for AVX2
-
The macro
USE_AVX2
is defined in\include\Helper.hpp
, you can modify it to use AVX2 or not. -
Todo list: Add a parameter
opt
to select the type of cpu optimizations.
JincResize-r7
-
Fix bug
- Fix #7: Abnormal black points on white words when 16bit or 8bit input
- Fix bug for blur when downscaling
-
Add AVX2 for convolution
-
Use
-O3
instead of-O2
when compilation -
Other changes in details
-
Note
- JincResize-r7: no optimization for convolution
- JincResize-r7-avx2: use AVX2 for convolution
JincResize-r7-RC1
-
Rebuild
- Port AviSynth JincResize plugin, mainly for elliptical weighted averaging (EWA) resample
Test 720p->1080p (100 frames) with Intel i5-4260U:
core.jinc.JincResize(src, 1920, 1280)
Version Speed r7-RC1 10.839 fps r6.1 1.468 fps r6 1.704 fps (About 536% faster than r6, 638% faster than r6.1)
-
Note
- There is bug when there are texts on screen for 8bit and 16 bit input, while it's normal for 32bit input and 9-15bit input.
JincResize-r6.1
- Fix bug (#6)
- Update for compiler about c++17
- Adjust code structure
JincResize-r6
-
Speed up
- Add AVX optimization for LUT (look up table)
- Some optimization on code details
- Adjust the calculation methord of Jinc Function when
tap=8
(#4)
Test 720p->1080p (100 frames) with Intel i5-4260U:
core.jinc.JincResize(src, 1920, 1280)
Version Speed r5 1.269 fps r6 1.594 fps (About 25% faster)
-
Add meson for build
-
Adjust code structure
-
TODO List for r7
- port AviSynth version about EWA resample
-
Extra note
- R38-R46: Adapted to VapourSynth 64bit R38-R46
- R47-R48: Adapted to VapourSynth 64bit R47-R48
JincResize-r5
-
Speed up
-
Use Taylor series for Jinc function when radius is not large. Thanks to @luglio.
Test 720p->1080p (1200 frames) with AMD 2700x:
core.jinc.JincResize(src, 1920, 1080)
Version Speed r4 9.514 fps r5 9.543 fps
-
-
Other changes in details
-
Extra note
- R38-R46: Adapted to VapourSynth 64bit R38-R46
- R47-R48: Adapted to VapourSynth 64bit R47-R48
JincResize-r4
- Add 32bit support
JincResize-r3
- Change function name:
core.ewa.Lanczos
->core.jinc.JincResize
- Change parameter:
float radius
->int tap
- The original meaning of this parameter is the zero points of Jinc function
- In old versions, users need to enter the value of the zero point by themselves with
radius
. Of course, users can enter any float value, but deviating from the original meaning. - In the current version, we provide 16 zero points. Users can choose suited zero point with
tap
. With the increasing oftap
value, the value of zero points increases. - In default settings, the old and current versions are the same.
- Modifying code,
maybe speed up a little.
JincResize-r2
- Speed up
Compiled by g++ instead of VS, the running speed of dynamic link library has increased significantly.
Zooming from 1280x720 to 1920x1080.
JincResize-r1 needs about 9 seconds per frame in VapourSynthEditor.
JincResize-r2 needs about 1 to 2 seconds per frame in VapourSynthEditor.
Of course, the speed of r2 version is still slow. But after all, it’s not as unacceptable as r1 version.