Linux support
Is it possible to build a TIVTC plugin for the Linux version of AviSynth+? https://avs-plus.net/
Not yet. Linux based Avisynth+ itself is a very new thing, filter sources and their build environment are - in general - not ready for linux (or even a gcc or clang) build. I myself won't have time or interest for that, volunteers welcomed.
Thank you very much for porting the TIVTC plugin for my favorite Linux AviSynth+. Everything works, I checked it in Ubuntu 16.04 x86 (with GCC 10). At least mode=7, mode=2, mode=4 (2 pass) work.
Just a couple of clarifications. In the instructions, you need to replace cd TIVTC with cd TIVTC/src
And add the #include <cstdlib> line to the TIVTC/src/TIVTC/Cache.cpp file, i.e. it should look like this:
#include "Cache.h"
#include <memory>
#include <cstdlib>
Otherwise, a compilation error occurs.
By the way, linux vapoursynth cannot load linux avisynth plugins (core.avs.LoadPlugin: No attribute with the name avs exists). But this is a question for the author of vapoursynth...
I recommend everyone to use mode=2, it has higher precision. However, mode=2 uses non-linear frame access (this can cause other problems). So it's best to use two passes: mode=4 (metrics output) and then mode=2. In this case, linear access is used with maximum decimation accuracy.
Linux mpv can open avisynth scripts with sound.
video = LWLibavVideoSource("input.mkv")
audio = LWLibavAudioSource("input.mkv", cache=false)
AudioDub(video, audio)
TDecimate(cycleR=1, cycle=6)
mpv input.avs
This allows to make fps correction while watching the video.
But most likely, if mpv is built with ffmpeg 4.3.1, which is built with avisynth support (like mine). That is, ffmpeg is responsible for avs decoding. There is no mention of avisynth in configure mpv.
Thanks, fixed. Plus made some further header replacements, your problem was maybe specific for gcc10? It worked for me.
your problem was maybe specific for gcc10?
Perhaps. gcc10 is compiled by me in /usr/local, since Ubuntu 16.04 ships with gcc5 (but gcc>=8 is required). And I used LD_LIBRARY_PATH=/usr/local/lib (with export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH). Because the old system libs are used by default. I'm going to check on Debian 10 where the system default is gcc8.
Hi
thanks for the plugin
can you make Retreive Ranges linux compatible?
RetrieveRanges.cpp:44:10: fatal error: windows.h: No such file or directory
44 | #include <windows.h>
| ^~~~~~~~~~~
compilation terminated.
greetings
Updated and simple makefile is added. (note: directory name has been fixed)