Log in

View Full Version : Vapoursynth


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [48] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

feisty2
15th January 2017, 08:43
Is

std::memcpy(&dstp[y][WidthMod8], &srcp[y][WidthMod8], (width - WidthMod8) * sizeof(float));
for (auto x = 0; x < WidthMod8; x += 8)
_mm256_store_ps(&dstp[y][x], reinterpret_cast<const __m256 &>(srcp[y][x]));

any faster than

std::memcpy(dstp[y], srcp[y], width * sizeof(float));

?

Myrsloik
15th January 2017, 10:07
Is

std::memcpy(&dstp[y][WidthMod8], &srcp[y][WidthMod8], (width - WidthMod8) * sizeof(float));
for (auto x = 0; x < WidthMod8; x += 8)
_mm256_store_ps(&dstp[y][x], reinterpret_cast<const __m256 &>(srcp[y][x]));

any faster than

std::memcpy(dstp[y], srcp[y], width * sizeof(float));

?

Probably not. Modern compilers all have very optimized memcpy. Occasionally you'll see someone with a small benchmark of their own memcpy variant that looks faster. Usually by using instructions that bypass the cache which makes benchmarks look better but are slower in a proper application.

See this hilarious thread (http://forum.doom9.org/showthread.php?p=1737056#post1737056) on how to not implement your own memcpy.

Myrsloik
16th January 2017, 21:29
R36 test3 (https://dl.dropboxusercontent.com/u/73468194/VapourSynth-R36-test3.exe)

Should be RC quality since I've focused on bug fixes. Will probably be released next week.

Changes:
added morpho filter to windows installer
fixed planestats bug that could sometimes affect non-mod8 calculation
added leak warning for functions
added __signature__ attribute to python function objects (stuxcrystal)
in python function objects now have name, signature and plugin attributes, plugin objects now have a namespace attribute correcpsonding to the namespace
added misc filters to included vapoursynth plugins
fixed several edge cases when specifying color values for blankclip and addborders, inf and nan are now always rejected and floating point values can be any finite value
vspipe will now properly report floating point formats in y4m instead of incorrectly making them look like integer, for example C420ps and C420ph will be used to mark single and half precision respectively
avfs will now reject scripts that don't have an avs or vpy extension to avoid pointless error mounts
fixed blankclip handling of color for compat formats
added sample type to vspipe info output
improved a few installer error messages when python can't be found
now uses python 3.6 in windows
fixed potential crash when two clips are added together (Kamekameha)

lansing
18th January 2017, 16:54
This instruction on the installer is kind of confusing. I was upgrading both Python and Vapoursynth, after Python upgrade, the Vapoursynth installer said nothing about upgrade, it said new install, but then on the installation process, we can see that it was uninstalling the old version first.

And on the 2nd pop up from the installer, it said something about choosing which python version to install onto. Since I have both 32bit and 64bit Python, I saw two options, but the selection is a radio button, I can't uncheck any one of them, and when I click on them, the selected one will be hightlighted, it makes me feel like I have chosen one over the other, it was confusing.

Myrsloik
18th January 2017, 16:56
This instruction on the installer is kind of confusing. I was upgrading both Python and Vapoursynth, after Python upgrade, the Vapoursynth installer said nothing about upgrade, it said new install, but then on the installation process, we can see that it was uninstalling the old version first.

And on the 2nd pop up from the installer, it said something about choosing which python version to install onto. Since I have both 32bit and 64bit Python, I saw two options, but the selection is a radio button, I can't uncheck any one of them, and when I click on them, the selected one will be hightlighted, it makes me feel like I have chosen one over the other, it was confusing.

You make the 32/64 bit selection when picking which vapoursynth components to install. Since you picked both 32 and 64 bit core library it lets you select both. There's also no such thing as multiple concurrent installs possible. Simply skipping the uninstall would over time leave lots of junk lying around with no other benefits. Use the portable version if you for some reason need to have multiple installations lying around.

lansing
18th January 2017, 17:07
You make the 32/64 bit selection when picking which vapoursynth components to install. Since you picked both 32 and 64 bit core library it lets you select both. There's also no such thing as multiple concurrent installs possible. Simply skipping the uninstall would over time leave lots of junk lying around with no other benefits. Use the portable version if you for some reason need to have multiple installations lying around.

I'm talking about the gui with the radio button selections, not the one with the checkbox.

And for the upgrade I mean there should be some mentions of "upgrading" instead of just regular install when it detected that I have an older version installed.

Myrsloik
21st January 2017, 13:02
Here's R36 RC1 (https://dl.dropboxusercontent.com/u/73468194/VapourSynth-R36-RC1.exe). Test it well. Portable version here (https://dl.dropboxusercontent.com/u/73468194/VapourSynth64-Portable-R36-RC1.7z).

Changes:
r36:
updated zimg library
packed format output now has alpha set instead of being zeroed
added asynchronous getframe support to python (stuxcrystal)
fixed several mac compilation issues
frame.props can now also behave like a proper python dict (stuxcrystal)
added morpho filter to windows installer
fixed planestats bug that could sometimes affect non-mod8 calculation
added leak warning for functions
added __signature__ attribute to python function objects (stuxcrystal)
in python function objects now have name, signature and plugin attributes, plugin objects now have a namespace attribute corresponding to the namespace
added misc filters to included vapoursynth plugins
fixed several edge cases when specifying color values for blankclip and addborders, inf and nan are now always rejected and floating point values can be any finite value
vspipe will now properly report floating point formats in y4m instead of incorrectly making them look like integer, for example C420ps and C420ph will be used to mark single and half precision respectively
avfs will now reject scripts that don't have an avs or vpy extension to avoid pointless error mounts
fixed blankclip handling of color for compat formats
added sample type to vspipe info output
improved a few installer error messages when python can't be found
now uses python 3.6 in windows
fixed potential crash when two clips are added together (Kamekameha)

Myrsloik
23rd January 2017, 19:42
R36 released. The installer has one microscopic change. Same change list as in the previous post.

KingLir
24th January 2017, 10:57
R36 released. The installer has one microscopic change. Same change list as in the previous post.

Many Thanks!
On brew (macOS) vapoursynth 35_1 is till showing as the latest. How in charge of releasing it on brew ?

hydra3333
24th January 2017, 13:15
Thank you.

JoeyMonco
24th January 2017, 16:38
Many Thanks!
On brew (macOS) vapoursynth 35_1 is till showing as the latest. How in charge of releasing it on brew ?

http://brewformulas.org/Vapoursynth

l33tmeatwad
26th January 2017, 23:48
Looks like R36 causes all versions of VapourSynth Editor to have a blue shade on the preview window for OSX (although encodes via FFMPEG look normal). R35 seems to work just fine, were there any particular changes to VapourSynth that could be causing this issue?

StainlessS
28th January 2017, 20:58
I've just tried to install vapoursynth on Linux Mint Cinnamon 18.1 (Serena) x64,
This went OK

./autogen.sh
./configure


But this

make

produces this

steve@cord-cin3 ~/vapoursynth $ ls
aclocal.m4 depcomp libvivtc.la
autogen.sh doc ltmain.sh
autom4te.cache include Makefile
build instructions windows.txt installer Makefile.am
ChangeLog install-sh Makefile.in
compile libeedi3.la missing
config.guess libimwri.la msvc_project
config.log libmiscfilters.la ofl.txt
config.status libmorpho.la pc
config.sub libremovegrain.la sdk
configure libtool setup.py
configure.ac libvapoursynth.la src
COPYING.LGPLv2.1 libvapoursynth-script.la test
cython_build.bat libvinverse.la
steve@cord-cin3 ~/vapoursynth $ make
CYTHON src/cython/vapoursynth.c

Error compiling Cython file:
------------------------------------------------------------
...
def __init__(self):
raise Error('Class cannot be instantiated directly')

def __str__(self):
return ('Format Descriptor\n'
f'\tId: {self.id:d}\n'
^
------------------------------------------------------------

src/cython/vapoursynth.pyx:597:15: Expected ')', found 'f'
Makefile:1971: recipe for target 'src/cython/vapoursynth.c' failed
make: *** [src/cython/vapoursynth.c] Error 1


any ideas what to do ? (linux/vapoursynth newbie)

Myrsloik
28th January 2017, 23:49
Use pip to update cython to thr latest version

StainlessS
29th January 2017, 01:11
Thanks for your answer M, tried to update cython using pip, but was using version 2.7 pip, so out of desperation tried pip3, which worked OK.

OK

cord-cin3 vapoursynth # ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:9: installing './compile'
configure.ac:6: installing './missing'
Makefile.am: installing './depcomp'
autoreconf: Leaving directory `.'


OK

cord-cin3 vapoursynth # ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ZIMG... yes
checking for yasm... yasm
checking for library containing dlopen... -ldl
checking for a Python interpreter with version >= 3... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.5
checking for python3 platform... linux
checking for python3 script directory... ${prefix}/lib/python3.5/site-packages
checking for python3 extension module directory... ${exec_prefix}/lib/python3.5/site-packages
checking for PYTHON3... yes
checking for cython3... cython3
checking for LIBASS... yes
checking for FFMPEG... no
checking for IMAGEMAGICK... yes
checking whether imagemagick is usable... yes
checking for TESSERACT... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating pc/vapoursynth.pc
config.status: creating pc/vapoursynth-script.pc
config.status: creating Makefile
config.status: executing depfiles commands
config.status: executing libtool commands


FAIL

cord-cin3 vapoursynth # make
CYTHON src/cython/vapoursynth.c

Error compiling Cython file:
------------------------------------------------------------
...
def __init__(self):
raise Error('Class cannot be instantiated directly')

def __str__(self):
return ('Format Descriptor\n'
f'\tId: {self.id:d}\n'
^
------------------------------------------------------------

src/cython/vapoursynth.pyx:597:15: Expected ')', found 'f'
Makefile:1971: recipe for target 'src/cython/vapoursynth.c' failed
make: *** [src/cython/vapoursynth.c] Error 1
cord-cin3 vapoursynth # ^C
cord-cin3 vapoursynth #

Are_
29th January 2017, 01:51
It would be nice if configure checked for a specific version of cython and screamed like if there was no tomorrow in case the minimum requirement was not met. He said he updated it, but we still don't know if this really went OK.

StainlessS
29th January 2017, 02:27
It would be nice if configure checked for a specific version of cython and screamed like if there was no tomorrow in case the minimum requirement was not met. He said he updated it, but we still don't know if this really went OK.


cord-cin3 vapoursynth # pip3 install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python3.5/dist-packages
cord-cin3 vapoursynth # pip3 install cython
Requirement already satisfied: cython in /usr/lib/python3/dist-packages
cord-cin3 vapoursynth # ^C
cord-cin3 vapoursynth #


/usr/lib/python3/dist-packages

contains only folders pip, and pip-9.0.1.dist.info

EDIT: The /usr/lib/python3.5 folder contains this lot

steve@cord-cin3 /usr/lib/python3.5 $ ls
abc.py html selectors.py
aifc.py http shelve.py
antigravity.py idlelib shlex.py
argparse.py imaplib.py shutil.py
ast.py imghdr.py signal.py
asynchat.py importlib _sitebuiltins.py
asyncio imp.py sitecustomize.py
asyncore.py inspect.py site.py
base64.py io.py smtpd.py
bdb.py ipaddress.py smtplib.py
binhex.py json sndhdr.py
bisect.py keyword.py socket.py
_bootlocale.py lib2to3 socketserver.py
bz2.py lib-dynload sqlite3
calendar.py LICENSE.txt sre_compile.py
cgi.py linecache.py sre_constants.py
cgitb.py locale.py sre_parse.py
chunk.py logging ssl.py
cmd.py lzma.py statistics.py
codecs.py macpath.py stat.py
codeop.py macurl2path.py stringprep.py
code.py mailbox.py string.py
collections mailcap.py _strptime.py
_collections_abc.py _markupbase.py struct.py
colorsys.py mimetypes.py subprocess.py
_compat_pickle.py modulefinder.py sunau.py
compileall.py multiprocessing symbol.py
_compression.py netrc.py symtable.py
concurrent nntplib.py _sysconfigdata.py
config-3.5m-x86_64-linux-gnu ntpath.py sysconfig.py
configparser.py nturl2path.py tabnanny.py
contextlib.py numbers.py tarfile.py
copy.py opcode.py telnetlib.py
copyreg.py operator.py tempfile.py
cProfile.py optparse.py test
crypt.py os.py textwrap.py
csv.py _osx_support.py this.py
ctypes pathlib.py _threading_local.py
curses pdb.py threading.py
datetime.py __phello__.foo.py timeit.py
dbm pickle.py tkinter
decimal.py pickletools.py tokenize.py
difflib.py pipes.py token.py
dis.py pkgutil.py traceback.py
distutils platform.py tracemalloc.py
doctest.py plat-x86_64-linux-gnu trace.py
dummy_threading.py plistlib.py tty.py
_dummy_thread.py poplib.py turtle.py
email posixpath.py types.py
encodings pprint.py typing.py
enum.py profile.py unittest
filecmp.py pstats.py urllib
fileinput.py pty.py uuid.py
fnmatch.py __pycache__ uu.py
formatter.py pyclbr.py venv
fractions.py py_compile.py warnings.py
ftplib.py _pydecimal.py wave.py
functools.py pydoc_data weakref.py
__future__.py pydoc.py _weakrefset.py
genericpath.py _pyio.py webbrowser.py
getopt.py queue.py wsgiref
getpass.py quopri.py xdrlib.py
gettext.py random.py xml
glob.py reprlib.py xmlrpc
gzip.py re.py zipapp.py
hashlib.py rlcompleter.py zipfile.py
heapq.py runpy.py
hmac.py sched.py
steve@cord-cin3 /usr/lib/python3.5 $

Are_
29th January 2017, 02:53
I still don't know witch version of cython do you have. What about the output of:
cython -V

If you already had cython installed the command should include -U
pip3 install cython -U

If that doesn't help uninstall and install again. Vapoursynth needs cython >=0.24.0

StainlessS
29th January 2017, 03:17
pip3 install cython -U
That seems to have nailed it.


cord-cin3 vapoursynth # pip3 install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python3.5/dist-packages

cord-cin3 vapoursynth # pip3 install cython
Requirement already satisfied: cython in /usr/lib/python3/dist-packages

cord-cin3 vapoursynth # cython -V
The program 'cython' is currently not installed. You can install it by typing:
apt install cython
cord-cin3 vapoursynth # ^C

cord-cin3 vapoursynth # pip3 install cython -U
Collecting cython
Downloading Cython-0.25.2-cp35-cp35m-manylinux1_x86_64.whl (7.0MB)
100% |████████████████████████████████| 7.0MB 133kB/s
Installing collected packages: cython
Found existing installation: Cython 0.23.4
DEPRECATION: Uninstalling a distutils installed project (cython) has been deprecated and will be removed in a future version.
This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling Cython-0.23.4:
Successfully uninstalled Cython-0.23.4
Successfully installed cython-0.25.2



'make' and 'make install' seem to have completed OK, now to see if I can get it to do something :)

Thanks very much guys.

feisty2
4th February 2017, 15:44
new module:
Plum https://forum.doom9.org/showthread.php?t=173775

Sm3n
8th February 2017, 15:10
Hi,

I wanted to install HAvsFunc but screwing a bit I choose to reinstall & update VS and here is the following error:

./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ZIMG... yes
checking for yasm... yasm
checking for library containing dlopen... -ldl
checking for a Python interpreter with version >= 3... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.4
checking for python3 platform... linux
checking for python3 script directory... ${prefix}/lib/python3.4/site-packages
checking for python3 extension module directory... ${exec_prefix}/lib/python3.4/site-packages
checking for PYTHON3... yes
checking for cython3... cython3
checking for LIBASS... yes
checking for FFMPEG... yes
checking for IMAGEMAGICK... yes
checking whether imagemagick is usable... yes
checking for TESSERACT... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating pc/vapoursynth.pc
config.status: creating pc/vapoursynth-script.pc
config.status: creating Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

root@sd-40375 ~/vapoursynth # make -j12
CXXLD libvapoursynth.la
CXXLD libsubtext.la
CCLD vapoursynth.la
/usr/bin/ld: /usr/local/lib/libavcodec.a(hevc_cabac.o): relocation R_X86_64_PC32 against symbol `ff_h264_cabac_tables' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:978: recipe for target 'libsubtext.la' failed
make: *** [libsubtext.la] Error 1

libass-dev is installed. Any idea? VS and VSE run smoothly before.

Thx

sl1pkn07
8th February 2017, 15:22
the problem is in you ffmpeg. is builded without -fPIC


/usr/bin/ld: /usr/local/lib/libavcodec.a(hevc_cabac.o): relocation R_X86_64_PC32 against symbol `ff_h264_cabac_tables' can not be used when making a shared object; recompile with -fPIC


try contact with your distro ffmpeg package provided or build yourself with -fpic activated (--enable-pic configure option)

Sm3n
8th February 2017, 15:27
the problem is in you ffmpeg. is builded without -fPIC


/usr/bin/ld: /usr/local/lib/libavcodec.a(hevc_cabac.o): relocation R_X86_64_PC32 against symbol `ff_h264_cabac_tables' can not be used when making a shared object; recompile with -fPIC


try contact with your distro ffmpeg package provided or build yourself with -fpic activated (--enable-pic configure option)

I'll try that.
Cheers

JoeyMonco
8th February 2017, 17:40
Or you just simply compile ffmpeg as a shared library not as a static library. Just pass --enable-shared to configure.

The error is telling you that you are trying to use a static library to make a shared object.

Sm3n
8th February 2017, 17:43
Or you just simply compile ffmpeg as a shared library not as a static library. Just pass --enable-shared to configure.

The error is telling you that you are trying to use a static library to make a shared object.

Here is my ffmpeg configure command and I'm not making a shared object:

./configure --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-gpl --enable-libtheora --enable-zlib --disable-shared --enable-static --enable-libx264 --enable-nonfree --enable-version3 --enable-libschroedinger --enable-avfilter --enable-libspeex --enable-libopenjpeg --enable-libgsm --enable-postproc --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-ffplay --prefix=/usr/local --enable-runtime-cpudetect --enable-bzlib --enable-libdc1394 --enable-libass --enable-libfdk_aac --extra-cflags="-fPIC" --enable-libfreetype --enable-pic && make clean && make -j 12 && mkdir /usr/local/share/ffmpeg && checkinstall

Enabling pic didn't change a thing:

/usr/bin/ld: /usr/local/lib/libavcodec.a(hevc_cabac.o): relocation R_X86_64_PC32 against symbol `ff_h264_cabac_tables' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:978: recipe for target 'libsubtext.la' failed
make: *** [libsubtext.la] Error 1
make: *** Waiting for unfinished jobs....

JoeyMonco
8th February 2017, 17:46
Here is my ffmpeg configure command and I'm not making a shared object:

snip

Did you not read the error from ld about using a .a file when making a shared object? As I said, compile ffmpeg as a shared library not as static.


Enabling pic didn't change a thing:

/usr/bin/ld: /usr/local/lib/libavcodec.a(hevc_cabac.o): relocation R_X86_64_PC32 against symbol `ff_h264_cabac_tables' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:978: recipe for target 'libsubtext.la' failed
make: *** [libsubtext.la] Error 1
make: *** Waiting for unfinished jobs....

Of course it didn't as that recompile message in the error is misleading. The issue is your ffmpeg is being compiled as a static library whereas ld expects to be a shared library. -fPIC is not going to solve that issue.

Sm3n
8th February 2017, 18:13
OK, now I get it. thank you guys!

It's been installed. Now VSE won't load library...

jackoneill
9th February 2017, 12:23
Did you not read the error from ld about using a .a file when making a shared object? As I said, compile ffmpeg as a shared library not as static.



Of course it didn't as that recompile message in the error is misleading. The issue is your ffmpeg is being compiled as a static library whereas ld expects to be a shared library. -fPIC is not going to solve that issue.

Nope. Compiling shared libraries (ffms2) with static ffmpeg has worked just fine in the past, provided that --enable-pic was passed to ffmpeg's configure.

Sm3n: Are you sure checkinstall is overwriting the existing files?

JoeyMonco
9th February 2017, 18:36
Nope. Compiling shared libraries (ffms2) with static ffmpeg has worked just fine in the past, provided that --enable-pic was passed to ffmpeg's configure.

Oh okay. Whenever I encountered that error I always just saw the solution to be the --enable-shared. :o

WolframRhodium
11th February 2017, 16:09
What is the preferred way to reference the "core" in external module after this commit (https://github.com/vapoursynth/vapoursynth/commit/c990893126debf7ccce1c4fc6df0f81770a6c7a9)?

Myrsloik
11th February 2017, 16:11
What is the preferred way to reference the "core" in external module after this commit (https://github.com/vapoursynth/vapoursynth/compare/1a99d6a837...c990893126)?

Almost all the quirks are gone so just put:
from vapoursynth import core
at the top and do core.what.Ever() when you want do things.

WolframRhodium
11th February 2017, 16:16
Almost all the quirks are gone so just put:
from vapoursynth import core
at the top and do core.what.Ever() when you want do things.

I mean, should I put it inside the function of the module?

Myrsloik
11th February 2017, 16:17
I mean, should I put it inside the function of the module?

What does that mean?

WolframRhodium
11th February 2017, 16:20
What does that mean?

method 1:

xxx.py:

from vapoursynth import core

def a_function(clip):
...
return clip


method 2:

xxx.py:

def a_funcion(clip):
from vapoursynth import core
...
return clip



which is preferred?

Myrsloik
11th February 2017, 16:21
method 1:

xxx.py:

from vapoursynth import core

def a_function(clip):
...
return clip


method 2:

xxx.py:

def a_funcion(clip):
from vapoursynth import core
...
return clip

which is preferred?

Method 1

WolframRhodium
11th February 2017, 16:24
Method 1

got it, thanks

Selur
15th February 2017, 11:25
What could be the cause of:
Failed to evaluate the script:
Python exception: Failed to load C:/Program Files/Hybrid/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll. GetLastError() returned 126.
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1491, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:26905)
File "", line 16, in <module>
File "src\cython\vapoursynth.pyx", line 1383, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:25212)
vapoursynth.Error: Failed to load C:/Program Files/Hybrid/vsfilters/DenoiseFilter/KNLMeansCL/KNLMeansCL.dll. GetLastError() returned 126.

copied my portable Vapoursytnh folders to another machine,..

Cu Selur

Myrsloik
15th February 2017, 11:32
Error code 126 usually means it can't load a required dll. So knlmeanscl probably depends on some runtime/library that isn't installed.

Selur
15th February 2017, 11:36
okay thanks, will look into it :)
update: That helped! needed to load the opencl.dll since it wasn't installed on the system. :)

KingLir
23rd February 2017, 00:28
Ask and ye shall receive:
TNLMeans (http://www.mediafire.com/download/rnv4hqp6edz4x66/VapourSynth-TNLMeans_r30.7z)

I only tested the x64 versions of each...

Thanks. Anyone have an idea how to fix the build for macOS ? I am guessing VFR-maniac didn't get a notification from GitHub about the issue opened a few months ago:

https://github.com/VFR-maniac/VapourSynth-TNLMeans/issues/3

Are_
23rd February 2017, 00:48
Maybe -stdlib=libstdc++ may help?

KingLir
23rd February 2017, 01:13
Maybe -stdlib=libstdc++ may help?

Thanks but "make -stdlib=libstdc++" just creates empty .o files and dylib file

Are_
23rd February 2017, 01:21
That's an option for the compiler, edit the makefile or pass it as an env variable to make.

KingLir
23rd February 2017, 01:41
That's an option for the compiler, edit the makefile or pass it as an env variable to make.

oh, it's seems it made some progress. Now getting:

./TNLMeans.h:36:10: fatal error: 'thread' file not found
#include <thread>

1 error generated.

EDIT: fixed:
https://github.com/VFR-maniac/VapourSynth-TNLMeans/issues/3#issuecomment-282040376

Selur
3rd March 2017, 09:39
Using VapourSynth R36 64bit portable I got a problem using vspipe and I don't see the cause for it:
Looking at my script:
# Imports
import os
import sys
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'G:/Hybrid/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/Support/dctfilter.dll")
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/DeblockFilter/Deblock/Deblock.dll")
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/Support/fmtconv.dll")
core.avs.LoadPlugin(path="G:/Hybrid/vsfilters/SourceFilter/DGDecNV/DGDecodeNV.dll")
# Import scripts
import havsfunc as havsfunc

clip = core.avs.DGSource("H:/Temp/09_20_35_7410.dgi")
# adjusting color matrix from 709 to 470bg
clip = core.resize.Bicubic(clip, matrix_in_s="709", matrix_s="470bg", range_in=0, range=0)
# Deblocking using Deblock_QED
clip = havsfunc.Deblock_QED(clip)
# resizing to 704x358
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=704, h=358, interlaced=False, interlacedd=False)
# Output
clip.set_output()
through vsedit, I get:
Script was successfully evaluated. Output video info:
Frames: 183999 | Time: 2:07:54.292 | Size: 704x358 | FPS: 24000/1001 = 23.976 | Format: YUV420P16
and the preview looks fine.
But when I call:
"G:\Hybrid\VAPOUR~1\vspipe.exe" "H:\Temp\encodingTempSynthSkript_09_20_35_7410.vpy" - --y4m
I get:
Script evaluation failed:
Python exception: Unexpected behavior. Contact author.
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1712, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:34991)
File "H:\Temp\encodingTempSynthSkript_09_20_35_7410.vpy", line 17, in <module>
clip = core.avs.DGSource("H:/Temp/09_20_35_7410.dgi")
File "src\cython\vapoursynth.pyx", line 1604, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:33131)
vapoursynth.Error: Unexpected behavior. Contact author.

Seems to be a bug in DGDecNV 5053, using DGDecNV 5052, problem doesn't occur.
-> will contact DG

Cu Selur

Selur
4th March 2017, 07:38
@Stehen R. Savage: Thanks for the hint. I know. :) Since the script is generated, keeping them separated seemed to be the easier way.
I normally run all color changes first, then some filters, then the resizer, then some other filters after the resize.
Does it make much of a difference in terms of speed? (I could probably write some code to optimize my generated scripts in case it does.)
-----
Seems to be a bug in DGDecNV 5053, using DGDecNV 5052, problem doesn't occur.
-> will contact DG
(Thanks to DG) that problem is fixed with the latest binary update of DGDecNV.

-----
Another question: Is there something similar to AVSMeter for Avisynth (a VPYMeter) ? A small tool/script to measure speed and memory consumption of Vapoursynth scripts?

Cu Selur

ChaosKing
4th March 2017, 08:35
The Vapoursynth Editor has a build in benchmarking option with memory consumtion (Core framebuffer).

Selur
4th March 2017, 09:00
oh,... wasn't aware of that thanks!

Boulder
4th March 2017, 09:47
I noticed that vspipe uses a lot of memory at the beginning of an encode process, then slowly lowers the usage until it's in the normal range. I'm talking about going from 3 GB to 800-900 MB.

Myrsloik
4th March 2017, 10:27
I noticed that vspipe uses a lot of memory at the beginning of an encode process, then slowly lowers the usage until it's in the normal range. I'm talking about going from 3 GB to 800-900 MB.

That's because it figures out how big the caches have ro be after a while. This isn't avisynth...