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 5th March 2020, 13:40   #41  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by sl1pkn07 View Post
@qyot27 little offtopic but related

you have plans for send the avisynth+ patches to upstream ffmpeg and ffms2?

greetings
I asked on ffmpeg-devel what the preference would be for dropping AvxSynth and switching to AviSynth+, vis-a-vis a deprecation message first and then the switch happening later, or just doing a hard switch because AvxSynth is more or less equivalent to AviSynth 2.5 and FFmpeg hasn't supported 2.5 on Windows for nearly 5 years.

I haven't gotten a response yet. If it goes much longer (a day or two or early next week), I'll not even bother with the deprecation patch and just send the switchover patchset.

For FFMS2, the change to the actual code is just a small if/else in src/avisynth/avssources.h, but there's something about the flags used by the autotools build system used upstream that's making the built library unusable by AviSynth+. I haven't done a deep dive to try and figure out what it is, though.

Quote:
Originally Posted by sl1pkn07 View Post
mmm

[image]

BlankClip(color=$000000)

same output

but version works ok

[image]

EDIT: ColorbarsHS() works

[image]
The checkerboard output is what happens whenever mpv gets something with an alpha channel. It doesn't have anything to do specifically with AviSynth+.

If you use pixel_type="YUV444P" (or other format) to change the pix_fmt that Colorbars or BlankClip is outputting, it'll show up (conversely, using it in ColorbarsHD to have it output with an alpha channel will do the opposite). Same with using a ConvertTo function afterward that makes it drop the alpha channel.

Version() outputs bgr24, so no alpha channel there.

Last edited by qyot27; 5th March 2020 at 14:04.
qyot27 is offline   Reply With Quote
Old 5th March 2020, 14:02   #42  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
okis, thanks for the info. works!

greetings
__________________
[AUR] Vapoursynth Stuff
[AUR] Avisynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 5th March 2020, 16:17   #43  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Well, I went back and did as below, seems to have completed ok

Code:
steve@Plex-780:~$ sudo apt-get update 
[sudo] password for steve:            
Ign:1 http://mirrors.evowise.com/linuxmint/packages tricia InRelease
Hit:2 http://archive.canonical.com/ubuntu bionic InRelease                     
Hit:3 http://mirrors.evowise.com/linuxmint/packages tricia Release             
Hit:4 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu bionic InRelease 
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]    
Hit:6 http://archive.ubuntu.com/ubuntu bionic InRelease                        
Ign:7 http://dl.google.com/linux/earth/deb stable InRelease                    
Get:9 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]      
Hit:10 http://dl.google.com/linux/earth/deb stable Release                     
Get:12 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]   
Hit:13 https://repo.skype.com/deb stable InRelease                             
Fetched 252 kB in 3s (76.8 kB/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://dl.google.com/linux/earth/deb stable InRelease' doesn't support architecture 'i386'
Code:
steve@Plex-780:~$ export CC=gcc-9 CXX=g++-9 LD=gcc-9

Code:
steve@Plex-780:~$ printenv
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
LANG=en_GB.UTF-8
GDM_LANG=en_GB
DISPLAY=:0
GTK_OVERLAY_SCROLLING=1
COLORTERM=truecolor
XDG_VTNR=7
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path
S_COLORS=auto
CC=gcc-9
XDG_SESSION_ID=c1
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/steve
USER=steve
DESKTOP_SESSION=cinnamon
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/9615975d_643e_4430_a9bd_aaac90012fc1
DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path
QT_QPA_PLATFORMTHEME=qt5ct
PWD=/home/steve
HOME=/home/steve
SSH_AGENT_PID=1356
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/usr/local/share/:/usr/share/
XDG_SESSION_DESKTOP=cinnamon
GJS_DEBUG_OUTPUT=stderr
GTK_MODULES=gail:atk-bridge
CXX=g++-9
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=5202
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_CURRENT_DESKTOP=X-Cinnamon
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.80
XDG_SEAT=seat0
SHLVL=1
LANGUAGE=en_GB:en
GDMSESSION=cinnamon
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=steve
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/home/steve/.Xauthority
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
PATH=/home/steve/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
CINNAMON_VERSION=4.4.8
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
SESSION_MANAGER=local/Plex-780:@/tmp/.ICE-unix/1273,unix/Plex-780:/tmp/.ICE-unix/1273
LD=gcc-9
LESSOPEN=| /usr/bin/lesspipe %s
_=/usr/bin/printenv
Code:
steve@Plex-780:~$ ls
AviSynthPlus  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
steve@Plex-780:~$ cd AviSynthPlus
steve@Plex-780:~/AviSynthPlus$ mkdir avisynth-build
steve@Plex-780:~/AviSynthPlus$ cd avisynth-build
Code:
steve@Plex-780:~/AviSynthPlus/avisynth-build$ CC=gcc-9 CXX=g++-9 LD=gcc-9 cmake ../ -G Ninja -DCMAKE_CXX_FLAGS="-fpermissive" && \
> ninja && \
> sudo ninja install
-- The C compiler identification is GNU 9.2.1
-- The CXX compiler identification is GNU 9.2.1
-- Check for working C compiler: /usr/bin/gcc-9
-- Check for working C compiler: /usr/bin/gcc-9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++-9
-- Check for working CXX compiler: /usr/bin/g++-9 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.17.1") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/steve/AviSynthPlus/avisynth-build
[33/80] Building CXX object avs_core/CMakeFiles/AvsCore.dir/core/avisynth.cpp.o
../avs_core/core/avisynth.cpp: In member function ‘virtual char* ScriptEnvironment::VSprintf(const char*, void*)’:
../avs_core/core/avisynth.cpp:3142:50: warning: ISO C++ forbids casting to an array type ‘va_list’ {aka ‘__va_list_tag [1]’} [-fpermissive]
 3142 |     std::string str = FormatString(fmt, (va_list)val);
      |                                                  ^~~
[79/80] Building CXX object avs_core/CMakeFiles/AvsCore.dir/filters/exprfilter/exprfilter.cpp.o
In file included from ../avs_core/filters/exprfilter/exprfilter.cpp:109:
../avs_core/filters/exprfilter/jitasm.h:8224:52: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8224 |  template<int N> struct ArgTraits_cdecl<N, __m64, 8> {enum {stack_size = 0, flag = ARG_IN_MMX | ARG_TYPE_VALUE, reg_id = MM0};};
      |                                                    ^
../avs_core/filters/exprfilter/jitasm.h:8229:54: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 8229 |  template<int N> struct ArgTraits_cdecl<N, __m128, 16> {enum {stack_size = 0, flag = ARG_IN_XMM_SP | ARG_TYPE_VALUE, reg_id = XMM0};};
      |                                                      ^
../avs_core/filters/exprfilter/jitasm.h:8234:55: warning: ignoring attributes on template argument ‘__m128d’ {aka ‘__vector(2) double’} [-Wignored-attributes]
 8234 |  template<int N> struct ArgTraits_cdecl<N, __m128d, 16> {enum {stack_size = 0, flag = ARG_IN_XMM_DP | ARG_TYPE_VALUE, reg_id = XMM0};};
      |                                                       ^
../avs_core/filters/exprfilter/jitasm.h:8237:55: warning: ignoring attributes on template argument ‘__m128i’ {aka ‘__vector(2) long long int’} [-Wignored-attributes]
 8237 |  template<int N> struct ArgTraits_cdecl<N, __m128i, 16> {enum {stack_size = 0, flag = ARG_IN_XMM_INT | ARG_TYPE_VALUE, reg_id = XMM0};};
      |                                                       ^
../avs_core/filters/exprfilter/jitasm.h:8294:47: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8294 |  template<> struct ArgTraits_win64<0, __m64, 8> : ArgTraits_win64_reg<RCX, ARG_IN_REG | ARG_TYPE_VALUE> {};
      |                                               ^
../avs_core/filters/exprfilter/jitasm.h:8295:47: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8295 |  template<> struct ArgTraits_win64<1, __m64, 8> : ArgTraits_win64_reg<RDX, ARG_IN_REG | ARG_TYPE_VALUE> {};
      |                                               ^
../avs_core/filters/exprfilter/jitasm.h:8296:47: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8296 |  template<> struct ArgTraits_win64<2, __m64, 8> : ArgTraits_win64_reg<R8, ARG_IN_REG | ARG_TYPE_VALUE> {};
      |                                               ^
../avs_core/filters/exprfilter/jitasm.h:8297:47: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8297 |  template<> struct ArgTraits_win64<3, __m64, 8> : ArgTraits_win64_reg<R9, ARG_IN_REG | ARG_TYPE_VALUE> {};
      |                                               ^
../avs_core/filters/exprfilter/jitasm.h:8357:67: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8357 |  template<int N> struct ArgTraits_linux64<N, __m64,  sizeof(__m64)>   : ArgTraits_linux64_sse<ARG_IN_XMM_INT | ARG_TYPE_VALUE> {};
      |                                                                   ^
../avs_core/filters/exprfilter/jitasm.h:8360:69: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 8360 |  template<int N> struct ArgTraits_linux64<N, __m128,  sizeof(__m128)>  : ArgTraits_linux64_sse<ARG_IN_XMM_SP | ARG_TYPE_VALUE> {};
      |                                                                     ^
../avs_core/filters/exprfilter/jitasm.h:8363:70: warning: ignoring attributes on template argument ‘__m128d’ {aka ‘__vector(2) double’} [-Wignored-attributes]
 8363 |  template<int N> struct ArgTraits_linux64<N, __m128d, sizeof(__m128d)> : ArgTraits_linux64_sse<ARG_IN_XMM_DP | ARG_TYPE_VALUE> {};
      |                                                                      ^
../avs_core/filters/exprfilter/jitasm.h:8364:70: warning: ignoring attributes on template argument ‘__m128i’ {aka ‘__vector(2) long long int’} [-Wignored-attributes]
 8364 |  template<int N> struct ArgTraits_linux64<N, __m128i, sizeof(__m128i)> : ArgTraits_linux64_sse<ARG_IN_XMM_INT | ARG_TYPE_VALUE> {};
      |                                                                      ^
../avs_core/filters/exprfilter/jitasm.h:8742:25: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 8742 |  struct ResultT<__m64, 8> {
      |                         ^
../avs_core/filters/exprfilter/jitasm.h:8774:27: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 8774 |  struct ResultT<__m128, 16> {
      |                           ^
../avs_core/filters/exprfilter/jitasm.h:8798:28: warning: ignoring attributes on template argument ‘__m128d’ {aka ‘__vector(2) double’} [-Wignored-attributes]
 8798 |  struct ResultT<__m128d, 16> {
      |                            ^
../avs_core/filters/exprfilter/jitasm.h:8820:28: warning: ignoring attributes on template argument ‘__m128i’ {aka ‘__vector(2) long long int’} [-Wignored-attributes]
 8820 |  struct ResultT<__m128i, 16> {
      |                            ^
../avs_core/filters/exprfilter/jitasm.h:9081:22: warning: ignoring attributes on template argument ‘__m64’ {aka ‘__vector(2) int’} [-Wignored-attributes]
 9081 |   struct Arg<__m64, 8>
      |                      ^
../avs_core/filters/exprfilter/jitasm.h:9149:24: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 9149 |   struct Arg<__m128, 16>
      |                        ^
../avs_core/filters/exprfilter/jitasm.h:9199:36: warning: ignoring attributes on template argument ‘__m128d’ {aka ‘__vector(2) double’} [-Wignored-attributes]
 9199 |   template<> struct Arg<__m128d, 16> : Arg<__m128, 16> {
      |                                    ^
../avs_core/filters/exprfilter/jitasm.h:9199:54: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 9199 |   template<> struct Arg<__m128d, 16> : Arg<__m128, 16> {
      |                                                      ^
../avs_core/filters/exprfilter/jitasm.h: In constructor ‘jitasm::detail::calling_convention_cdecl::Arg<__vector(2) double, 16>::Arg(jitasm::Frontend&, const jitasm::detail::ArgInfo&)’:
../avs_core/filters/exprfilter/jitasm.h:9200:62: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 9200 |    Arg(Frontend& f, const ArgInfo& arg_info) : Arg<__m128, 16>(f, arg_info) {}
      |                                                              ^
../avs_core/filters/exprfilter/jitasm.h: At global scope:
../avs_core/filters/exprfilter/jitasm.h:9203:36: warning: ignoring attributes on template argument ‘__m128i’ {aka ‘__vector(2) long long int’} [-Wignored-attributes]
 9203 |   template<> struct Arg<__m128i, 16> : Arg<__m128, 16> {
      |                                    ^
../avs_core/filters/exprfilter/jitasm.h:9203:54: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 9203 |   template<> struct Arg<__m128i, 16> : Arg<__m128, 16> {
      |                                                      ^
../avs_core/filters/exprfilter/jitasm.h: In constructor ‘jitasm::detail::calling_convention_cdecl::Arg<__vector(2) long long int, 16>::Arg(jitasm::Frontend&, const jitasm::detail::ArgInfo&)’:
../avs_core/filters/exprfilter/jitasm.h:9204:62: warning: ignoring attributes on template argument ‘__m128’ {aka ‘__vector(4) float’} [-Wignored-attributes]
 9204 |    Arg(Frontend& f, const ArgInfo& arg_info) : Arg<__m128, 16>(f, arg_info) {}
      |                                                              ^
[80/80] Linking CXX shared library avs_core/libavisynth.so
[1/2] Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libavisynth.so
-- Installing: /usr/local/include/avisynth
-- Installing: /usr/local/include/avisynth/avisynth.h
-- Installing: /usr/local/include/avisynth/avs
-- Installing: /usr/local/include/avisynth/avs/types.h
-- Installing: /usr/local/include/avisynth/avs/capi.h
-- Installing: /usr/local/include/avisynth/avs/config.h
-- Installing: /usr/local/include/avisynth/avs/win.h
-- Installing: /usr/local/include/avisynth/avs/posix.h
-- Installing: /usr/local/include/avisynth/avs/minmax.h
-- Installing: /usr/local/include/avisynth/avs/alignment.h
-- Installing: /usr/local/include/avisynth/avs/cpuid.h
-- Installing: /usr/local/include/avisynth/avisynth_c.h
steve@Plex-780:~/AviSynthPlus/avisynth-build$
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 5th March 2020, 22:42   #44  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Quote:
Originally Posted by sl1pkn07 View Post
Note: lots of AVS+ stuff is installed into vapoursynth 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 5th March 2020, 23:01   #45  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
ooopppssss (done, just reinstall)
__________________
[AUR] Vapoursynth Stuff
[AUR] Avisynth Stuff
sl1pkn07 is offline   Reply With Quote
Old 6th March 2020, 19:15   #46  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Just for reference, managed to use avisynth with the CPP interface under Ubuntu
https://github.com/AviSynth/AviSynth...ment-595892327
I don't know if it is an achievement or not but I was quite happy
pinterf is offline   Reply With Quote
Old 7th March 2020, 06:57   #47  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
I'm implementing AVS input for x265 and I'm seeing SIGSEGV on _Thrd_yield () from /c/Windows/SYSTEM32/MSVCP140.dll.

[redacted]

Finally figured out. If I recompile avisynth-plus under mingw64, the result DLL works with a mingw64 compiled program.

x265 compiled with mingw64 doesn't work with the DLL (probably msvc) shipped from official.

Guess I would have to use the C interface instead.
__________________
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

Last edited by MeteorRain; 7th March 2020 at 09:26.
MeteorRain is offline   Reply With Quote
Old 7th March 2020, 17:29   #48  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by MeteorRain View Post
I'm implementing AVS input for x265 and I'm seeing SIGSEGV on _Thrd_yield () from /c/Windows/SYSTEM32/MSVCP140.dll.

[redacted]

Finally figured out. If I recompile avisynth-plus under mingw64, the result DLL works with a mingw64 compiled program.

x265 compiled with mingw64 doesn't work with the DLL (probably msvc) shipped from official.

Guess I would have to use the C interface instead.
Yep, c++ ABIs are different.
pinterf is offline   Reply With Quote
Old 7th March 2020, 18:46   #49  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
So x264 does really use the C interface? If there is actually an application that is using the C interface than it might not be impossible to use it directly from managed code too, without a wrapper, that's interesting, I wish I knew this before I had built my wrapper, was a good learning experience though.
stax76 is offline   Reply With Quote
Old 7th March 2020, 19:31   #50  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
So x264 does really use the C interface?
As do Megui (via dimzon's wrapper) and some pipe tools (avs4x26x, avs2yuv).
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 7th March 2020, 19:36   #51  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
And avspmod and ffmpeg
pinterf is offline   Reply With Quote
Old 8th March 2020, 10:40   #52  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Had a very quick testing on avs+ with x265 under Debian buster, and it worked.

I'm working on bring a few other stuff to my repo, and when that's done, I'm gonna start porting common filters.
__________________
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 8th March 2020, 17:25   #53  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Which are common filters? I have some as well, no need to work twice on the same topic.
pinterf is offline   Reply With Quote
Old 8th March 2020, 20:37   #54  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
c++ != c
stax76 is offline   Reply With Quote
Old 8th March 2020, 20:47   #55  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by stax76 View Post
c++ != c
Which is this in response to?

x264:
https://code.videolan.org/videolan/x...nput/avs.c#L49

FFmpeg:
http://git.videolan.org/?p=ffmpeg.gi...d0c4294f27#l38

Or better yet, actually look in FFmpeg's compat/avisynth directory: only avisynth_c.h, not the C++ avisynth.h header.

And all the AviSynth library functions that get invoked are the avs_func_name type (and AVSC_DECLARE_FUNC/LOAD_AVS_FUNC) that only the C interface exposes.
qyot27 is offline   Reply With Quote
Old 8th March 2020, 21:56   #56  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Thanks for the links, I'll have a look.

Response to saying megui using C instead of C++ interface.

https://sourceforge.net/p/megui/code...apper.cpp#l433

I've built my own wrapper that is similar but I have wondered if I could use avs and vs from .NET directly without building a wrapper, .NET has first class C and COM interop support for sure but maybe it's not worth the trouble and the interop code would be longer and more complicated than building a wrapper with a very simple interface, it's difficult to know what is better without actually trying to build it. MysteryX wrote some vs code but for avs only the vfw route has been taken before.

https://github.com/staxrip/staxrip/t...er/FrameServer

https://github.com/staxrip/staxrip/b...FrameServer.vb

https://github.com/staxrip/staxrip/b...deoRenderer.vb

So far reading the colorspace is the only thing I used the wrapper for which could not be done by vfw.
stax76 is offline   Reply With Quote
Old 8th March 2020, 22:04   #57  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Quote:
Originally Posted by pinterf View Post
Which are common filters? I have some as well, no need to work twice on the same topic.
Unless you plan on packing Debian packages?

If you get your plugins working on any Linux environment, I'll just need to write some meta files (debian packer, docker file, etc) and shouldn't be twice of work.
__________________
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 8th March 2020, 22:12   #58  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
Response to saying megui using C instead of C++ interface.
I stand corrected. I probably got it mixed up with something else...
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 9th March 2020, 02:03   #59  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
Seems like Linux version doesn't have a default autoload. Maybe we can follow VapourSynth convention and autoload $libdir/avisynth?

For anyone who wants to try x265 and avs+ under Debian buster and Ubuntu bionic: https://yuuki-deb.x86.men/
__________________
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

Last edited by MeteorRain; 9th March 2020 at 05:18.
MeteorRain is offline   Reply With Quote
Old 9th March 2020, 08:14   #60  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by MeteorRain View Post
Unless you plan on packing Debian packages?

If you get your plugins working on any Linux environment, I'll just need to write some meta files (debian packer, docker file, etc) and shouldn't be twice of work.
Packaging is O.K. and welcomed, I meant that the source itself needs sometimes heavy refactoring, mainly because of SIMD processor level separation. I experienced it on avs+ source, took quite a lot of time, big codebase takes its toll. So my aim in general to be able to build them on clang and gcc as well, once compilation works I'm finished with my part.
pinterf 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 18:04.


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