Log in

View Full Version : Alternative image sequence loader for VS


Stephen R. Savage
24th June 2016, 16:41
imageview.Source(string path, int "fpsnum", int "fpsden", int "initial", bint "constant")

path - format string, accepts one instance of '%0Nd' or '%Nd'
fpsnum / fpsden - fps
initial - initial frame number, if not '0' or '1'
constant - all frames have same format as first


Currently supports BMP, JPEG, PNG, and TIFF with following limitations:

1/3, 2/3, 3/4 etc. JPEG subsampling not supported
CMYK, YCCK, etc. JPEG not supported
12-bit JPEG not tested
Only RGB PNGs tested
Compressed BMP not supported
Metadata not supported
Somewhat slow
Multi-page TIFF not supported


Bug reports and feature requests welcome.

Download:
rev2 (https://www.dropbox.com/s/oru4qj7vyl4bhl6/build.7z?dl=0)

Tormaid
24th June 2016, 16:58
Thank you! I think there's a lot of potential in using VS on image sequences, and I'll be extremely happy if I never have to use ImageMagick again.

sl1pkn07
24th June 2016, 21:36
request? linux capable for example XD

i tried myself, but i have troubles

download the sources from https://github.com/sekrit-twc/imagine (?)

frist is need add


#include <cstddef>


into src/imagine/common/file_io.cpp

and the tried build with bruteforce XD


echo "all:
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o extra/vsxx/vsxx_pluginmain.o extra/vsxx/vsxx_pluginmain.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o extra/libp2p/p2p.o extra/libp2p/p2p.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o extra/libp2p/v210.o extra/libp2p/v210.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/api/imagine.o src/imagine/api/imagine.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/common/decoder.o src/imagine/common/decoder.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/common/file_io.o src/imagine/common/file_io.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/common/io_context.o src/imagine/common/io_context.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/common/jumpman.o src/imagine/common/jumpman.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/provider/jpeg_decoder.o src/imagine/provider/jpeg_decoder.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/provider/png_decoder.o src/imagine/provider/png_decoder.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/imagine/provider/yuv_decoder.o src/imagine/provider/yuv_decoder.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/vsimagine/path.o src/vsimagine/path.cpp
g++ -c -std=gnu++11 -fPIC ${CXXFLAGS} ${CPPFLAGS} -I. -I./src/imagine -I./extra $(pkg-config --cflags vapoursynth) -o src/vsimagine/vsimagine.o src/vsimagine/vsimagine.cpp
g++ -shared -fPIC ${LDFLAGS} -o libvs${_plug}.so extra/vsxx/vsxx_pluginmain.o extra/libp2p/p2p.o extra/libp2p/v210.o src/imagine/api/imagine.o src/imagine/common/decoder.o src/imagine/common/file_io.o src/imagine/common/io_context.o src/imagine/common/jumpman.o src/imagine/provider/jpeg_decoder.o src/imagine/provider/png_decoder.o src/imagine/provider/yuv_decoder.o src/vsimagine/path.o src/vsimagine/vsimagine.o"> Makefile



this build OK


g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o extra/vsxx/vsxx_pluginmain.o extra/vsxx/vsxx_pluginmain.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o extra/libp2p/p2p.o extra/libp2p/p2p.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o extra/libp2p/v210.o extra/libp2p/v210.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/api/imagine.o src/imagine/api/imagine.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/common/decoder.o src/imagine/common/decoder.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/common/file_io.o src/imagine/common/file_io.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/common/io_context.o src/imagine/common/io_context.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/common/jumpman.o src/imagine/common/jumpman.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/provider/jpeg_decoder.o src/imagine/provider/jpeg_decoder.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/provider/png_decoder.o src/imagine/provider/png_decoder.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/imagine/provider/yuv_decoder.o src/imagine/provider/yuv_decoder.cpp
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/vsimagine/path.o src/vsimagine/path.cpp
In file included from src/vsimagine/path.cpp:7:0:
src/vsimagine/path.h:12:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
#endif PATH_H_
^~~~~~~
g++ -c -std=gnu++11 -fPIC -march=native -O2 -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -I. -I./src/imagine -I./extra -I/usr/include/vapoursynth -o src/vsimagine/vsimagine.o src/vsimagine/vsimagine.cpp
In file included from src/vsimagine/vsimagine.cpp:19:0:
src/vsimagine/path.h:12:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
#endif PATH_H_
^~~~~~~
g++ -shared -fPIC -Wl,-O1,--sort-common,--as-needed,-z,relro -o libvsimagine.so extra/vsxx/vsxx_pluginmain.o extra/libp2p/p2p.o extra/libp2p/v210.o src/imagine/api/imagine.o src/imagine/common/decoder.o src/imagine/common/file_io.o src/imagine/common/io_context.o src/imagine/common/jumpman.o src/imagine/provider/jpeg_decoder.o src/imagine/provider/png_decoder.o src/imagine/provider/yuv_decoder.o src/vsimagine/path.o src/vsimagine/vsimagine.o


but is not detected by VS https://sl1pkn07.wtf/paste/view/4dd5a8a4 (installed on /usr/lib/vapoursynth)


any help?

greetings

shekh
25th June 2016, 09:29
Why, cant you load sequences with lsmash/ffms?

Stephen R. Savage
14th August 2016, 02:22
New build uploaded with some support for TIFF.