Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 9th March 2020, 10:45   #61  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by MeteorRain View Post
Seems like Linux version doesn't have a default autoload. Maybe we can follow VapourSynth convention and autoload $libdir/avisynth?
Good idea, let's see what qyot27 says, we were just happy to make manual AddAutoloadDir working in the final rush.
pinterf is offline   Reply With Quote
Old 9th March 2020, 16:07   #62  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
My general assumption was that when autoloading by default was enabled, it would be $libdir/avisynth. When you build with MinGW, that's already where I'd made the plugins (ConvertStacked, ImageSeq, TimeStretch, and VDubFilter) get installed, even if it's sort of pointless on Windows.

What magiblot had mentioned in the plugin loader discussion was having it set up to use an external config file, as is usual on Linux, etc. That is the most portable way to do it (heck, even Windows could use something like that for portable builds).

On Linux, the two most logical places it could go are /etc (for the system, maybe in /etc/avisynth if we want to add more configuration files in the future) and $HOME/.config/avisynth (for a single user). The presence of one in $HOME/.config/avisynth would need to take precedence over the one in /etc, because it would be the one a normal user can override, add to, and edit as they like (it also would be up to the user to create the one in $HOME/.config/avisynth, but we need to be able to read from it first if it exists). The one in /etc would need to restrict itself to just the basic $libdir/avisynth directory, because having it installed with CMake would mean getting overwritten every time we build and install the library. Name-wise, 'avisynth.conf' probably makes the most sense.

The config file would have an autoload_directory= field that can hold a list of directories to autoload from (with the default being $libdir/avisynth, $libdir having been populated by CMAKE_INSTALL_PREFIX when AviSynth+ was built).
qyot27 is offline   Reply With Quote
Old 10th March 2020, 00:01   #63  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Quote:
Originally Posted by qyot27 View Post
/etc/avisynth
$HOME/.config/avisynth
'avisynth.conf'
with the default being $libdir/avisynth
All make sense.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 11th March 2020, 04:37   #64  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
The good news: it didn't take a whole lot to get Clang 9 to compile the source on Ubuntu 19.10.

The not-so-good news: it didn't fix macOS or FreeBSD issues with Clang, even if I grab Clang 9/llvm-9 from pkg or Homebrew rather than trying to use the default versions.
qyot27 is offline   Reply With Quote
Old 27th March 2020, 10:42   #65  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
info.h needs to #include <iomanip> to compile under gcc.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 27th March 2020, 11:22   #66  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Thanks. Good news if that's all. I'm cherry-picking mt and other fixes from Neo branch, so this is only a temporary happyness I have almost cherry-picked a whole tree, no, a whole orchard, picked lines depend on other things, if I pull them they needs quadruple times other things; even the merge is huge work, and he created those changes from scratch.
pinterf is offline   Reply With Quote
Old 27th March 2020, 11:46   #67  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Yea I tried to pack git~d438bd5 and failed. Adding that include fixed the issue -- at least for compiling. Very appreciate if someone can push a quick fix to that repo.

Meanwhile I was thinking where to put AVS+VS dual interface filters. I'm thinking about a dedicated directory (like /usr/lib/ARCH/avisynth+vapoursynth/) for those filters and then create sym links to both avisynth and vapoursynth directories. Any thoughts?
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 27th March 2020, 12:17   #68  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
It's there.
pinterf is offline   Reply With Quote
Old 27th March 2020, 12:21   #69  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
since there are work on autoload and AddAutoloadDir can we have fix for these? https://github.com/pinterf/AviSynthPlus/issues/11
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 27th March 2020, 12:31   #70  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
I haven't closed the ticket so yes.
pinterf is offline   Reply With Quote
Old 27th March 2020, 20:15   #71  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by MeteorRain View Post
Yea I tried to pack git~d438bd5 and failed. Adding that include fixed the issue -- at least for compiling. Very appreciate if someone can push a quick fix to that repo.

Meanwhile I was thinking where to put AVS+VS dual interface filters. I'm thinking about a dedicated directory (like /usr/lib/ARCH/avisynth+vapoursynth/) for those filters and then create sym links to both avisynth and vapoursynth directories. Any thoughts?
I've not thought a lot about it in the case of things that are only plugins (LSMASHSource would have been one such test-case, but they're separate as currently implemented).

For normal libraries that happen to have plugin interfaces (like FFMS2) it makes sense to just install them into the normal $libdir and then symlink into the two directories based on whether the plugin interfaces were activated (and which one, if they can be toggled separately).
qyot27 is offline   Reply With Quote
Old 27th March 2020, 21:35   #72  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
I have a few filters that I equipped with dual interface. I'm planning to test compile lsmash works under Linux as one piece. I'm not a fan of having dedicated purpose libraries dangling in lib dir, so I'm heading for libdir/avisynth+vapoursynth if no one objects.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 27th March 2020, 22:28   #73  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Pinter, I'm not sure if it's only needed for GCC or should be included for all non-MSVC compilers or all compilers.

You can check the iomanip header and it seems it should be included regardless.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 28th March 2020, 03:43   #74  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Some updates:
Latest AVS+ compiles. I have AviSynth+ 3.5 (r3100, HEAD, x86_64) with me.
HolyWu LSmashWorks compiles with a few tweaks.
I managed to encode using x265-yuuki with lsmashsource into mp4 output, it went smoothly.

I still have to AddAutoloadDir("/usr/lib/x86_64-linux-gnu/avisynth/") because that piece of code hasn't reached there yet.
I ended up putting the filter inside /usr/lib/x86_64-linux-gnu/dualsynth/ and sym linking it to both directories.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 3rd April 2020, 00:48   #75  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
With 3.5.1, several things have been fixed:

FreeBSD and macOS can use AddAutoloadDir, although in FreeBSD's case it's required to first mount procfs. FreeBSD does have a different way of gleaning the information needed, but I'm not sure if that's applicable to the other *BSDs as well. In NetBSD and DragonFly BSD, the procfs thing should work, although like FreeBSD, it's not mounted by default and treated as deprecated. OpenBSD out-and-out removed procfs, so I'm not sure what we're going to do there.

I've abandoned the config file to manage autoloading idea for now, and instead hardcoded the two plugin autoload directories: $libdir/avisynth (determined when the core is built, doesn't change) and $HOME/.avisynth. Users will need to create $HOME/.avisynth if they wish to put anything there, but that means that even if some plugin installs don't go to the same /avisynth subdirectory that the core puts ConvertStacked in, an .avsi file using AddAutoloadDir in $HOME/.avisynth can probably remedy them loading without needing it in every script. Provided AVSI autoloading functions.

Native Clang 8 on FreeBSD 12.1 and AppleClang on Catalina can now build AviSynth+, although there are a lot of warnings. High Sierra and Mojave, for those still using them, need to keep using GCC-9 due to the lack of <filesystem> support in the base libc++ from Apple. Even llvm-9 from Homebrew seemed to get hit by this, from what I remember, but I haven't tested it thoroughly.

SONAME and SOVERSION are now set, and yes, it looks weird. The base library bears the release version, so that multiple versions can be installed simultaneously, while the SOVERSION symlink points to AVISYNTH_INTERFACE_VERSION (the closest thing to the ABI compatibility indicators SOVERSIONs are meant to relay). So libavisynth.so.3.5.1, libavisynth.so.7 symlink, and the regular libavisynth.so symlink.

-fpermissive is no longer required.
qyot27 is offline   Reply With Quote
Old 5th April 2020, 05:27   #76  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
The AviSynth+ switchover patches have landed in upstream FFmpeg, removing the need for using the avsplus_linux2 branch on my dev repo.
qyot27 is offline   Reply With Quote
Old 4th May 2020, 22:43   #77  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Some tools seem to load avisynth from the path env var enabling portable setup, other tools don't.

works:

av2pipemod
x264


does not work:

mpc be
mpv
ffmpeg


Might there be security concerns or is it simply a missing feature?
stax76 is offline   Reply With Quote
Old 4th May 2020, 22:47   #78  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
other tools don't.
Can you elaborate? What's the error message?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 4th May 2020, 22:57   #79  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
mpv.net:

starts delayed without showing an error or doing anything


mpc be:

cannot render the file


ffmpeg:

D:\Samples\aaa_temp\aaa.avs: Unknown error occurred
stax76 is offline   Reply With Quote
Old 4th May 2020, 23:00   #80  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
D:\Samples\aaa_temp\aaa.avs
Can you post that script?

Edit - Also, how did you install Avisynth?
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 4th May 2020 at 23:02.
Groucho2004 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.