Movit: High-performance, high-quality video filters for the GPU
Home page: https://movit.sesse.net/
Dependencies:
* A C++98 compiler. GCC will do. (I haven’t tried Windows, but it
works fine on Linux and OS X, and Movit is not very POSIX-bound.)
* GNU Make.
* A GPU capable of running GLSL fragment shaders,
processing floating-point textures, and a few other things (all are
part of OpenGL 3.0 or newer, although most OpenGL 2.0 cards also
have what’s needed through extensions). If your machine is less than five
years old _and you have the appropriate drivers_, you’re home free.
GLES3 (for mobile devices) will also work.
* The [Eigen 3], [FFTW3] and [Google Test] libraries. (The library itself
does not depend on the latter, but you probably want to run the unit tests.)
* The [epoxy] library, for dealing with OpenGL extensions on various
platforms.
Step 1: Install Dependencies
1.1: eigen3-devel
[root@tutorialspots movit-2441175]# yum install eigen3-devel -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.lstn.net * epel: mirror.compevo.com * extras: repo.us.bigstepcloud.com * ius: dfw.mirror.rackspace.com * nux-dextop: mirror.li.nux.ro * remi-safe: mirror.bebout.net * updates: repo.us.bigstepcloud.com Resolving Dependencies --> Running transaction check ---> Package eigen3-devel.noarch 0:3.3.4-6.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: eigen3-devel noarch 3.3.4-6.el7 epel 1.0 M Transaction Summary ================================================================================ Install 1 Package Total download size: 1.0 M Installed size: 6.5 M Downloading packages: eigen3-devel-3.3.4-6.el7.noarch.rpm | 1.0 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : eigen3-devel-3.3.4-6.el7.noarch 1/1 Verifying : eigen3-devel-3.3.4-6.el7.noarch 1/1 Installed: eigen3-devel.noarch 0:3.3.4-6.el7 Complete!
1.2: libepoxy-devel
[root@tutorialspots movit-2441175]# yum install libepoxy-devel -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.lstn.net * epel: mirror.compevo.com * extras: repo.us.bigstepcloud.com * ius: dfw.mirror.rackspace.com * nux-dextop: mirror.li.nux.ro * remi-safe: mirror.bebout.net * updates: centos.host-engine.com Resolving Dependencies --> Running transaction check ---> Package libepoxy-devel.x86_64 0:1.3.1-2.el7_5 will be installed --> Processing Dependency: libepoxy(x86-64) = 1.3.1-2.el7_5 for package: libepox y-devel-1.3.1-2.el7_5.x86_64 --> Processing Dependency: libepoxy.so.0()(64bit) for package: libepoxy-devel-1. 3.1-2.el7_5.x86_64 --> Running transaction check ---> Package libepoxy.x86_64 0:1.3.1-2.el7_5 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libepoxy-devel x86_64 1.3.1-2.el7_5 updates 127 k Installing for dependencies: libepoxy x86_64 1.3.1-2.el7_5 updates 196 k Transaction Summary ================================================================================ Install 1 Package (+1 Dependent package) Total download size: 323 k Installed size: 2.4 M Downloading packages: (1/2): libepoxy-1.3.1-2.el7_5.x86_64.rpm | 196 kB 00:00 (2/2): libepoxy-devel-1.3.1-2.el7_5.x86_64.rpm | 127 kB 00:00 -------------------------------------------------------------------------------- Total 645 kB/s | 323 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libepoxy-1.3.1-2.el7_5.x86_64 1/2 Installing : libepoxy-devel-1.3.1-2.el7_5.x86_64 2/2 Verifying : libepoxy-1.3.1-2.el7_5.x86_64 1/2 Verifying : libepoxy-devel-1.3.1-2.el7_5.x86_64 2/2 Installed: libepoxy-devel.x86_64 0:1.3.1-2.el7_5 Dependency Installed: libepoxy.x86_64 0:1.3.1-2.el7_5 Complete!
1.3: fftw-devel
yum install fftw-devel -y
1.4: SDL2-devel
yum install SDL2-devel -y
1.5: SDL2_image-devel
[root@s126368 movit-2441175]# yum install SDL2_image-devel -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.lstn.net * epel: mirror.compevo.com * extras: repo.us.bigstepcloud.com * ius: dfw.mirror.rackspace.com * nux-dextop: mirror.li.nux.ro * remi-safe: mirror.bebout.net * updates: repo.us.bigstepcloud.com Resolving Dependencies --> Running transaction check ---> Package SDL2_image-devel.x86_64 0:2.0.3-1.el7 will be installed --> Processing Dependency: SDL2_image(x86-64) = 2.0.3-1.el7 for package: SDL2_im age-devel-2.0.3-1.el7.x86_64 --> Processing Dependency: libSDL2_image-2.0.so.0()(64bit) for package: SDL2_ima ge-devel-2.0.3-1.el7.x86_64 --> Running transaction check ---> Package SDL2_image.x86_64 0:2.0.3-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: SDL2_image-devel x86_64 2.0.3-1.el7 epel 9.3 k Installing for dependencies: SDL2_image x86_64 2.0.3-1.el7 epel 74 k Transaction Summary ================================================================================ Install 1 Package (+1 Dependent package) Total download size: 84 k Installed size: 156 k Downloading packages: (1/2): SDL2_image-2.0.3-1.el7.x86_64.rpm | 74 kB 00:00 (2/2): SDL2_image-devel-2.0.3-1.el7.x86_64.rpm | 9.3 kB 00:00 -------------------------------------------------------------------------------- Total 217 kB/s | 84 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : SDL2_image-2.0.3-1.el7.x86_64 1/2 Installing : SDL2_image-devel-2.0.3-1.el7.x86_64 2/2 Verifying : SDL2_image-2.0.3-1.el7.x86_64 1/2 Verifying : SDL2_image-devel-2.0.3-1.el7.x86_64 2/2 Installed: SDL2_image-devel.x86_64 0:2.0.3-1.el7 Dependency Installed: SDL2_image.x86_64 0:2.0.3-1.el7 Complete!
1.6 gtest-devel
[root@tutorialspots movit-2441175]# yum install gtest-devel -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.lstn.net * epel: mirror.compevo.com * extras: repo.us.bigstepcloud.com * ius: dfw.mirror.rackspace.com * nux-dextop: mirror.li.nux.ro * remi-safe: mirror.bebout.net * updates: repo.us.bigstepcloud.com Resolving Dependencies --> Running transaction check ---> Package gtest-devel.x86_64 0:1.6.0-2.el7 will be installed --> Processing Dependency: gtest = 1.6.0-2.el7 for package: gtest-devel-1.6.0-2. el7.x86_64 --> Processing Dependency: libgtest_main.so.0()(64bit) for package: gtest-devel- 1.6.0-2.el7.x86_64 --> Processing Dependency: libgtest.so.0()(64bit) for package: gtest-devel-1.6.0 -2.el7.x86_64 --> Running transaction check ---> Package gtest.x86_64 0:1.6.0-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gtest-devel x86_64 1.6.0-2.el7 epel 126 k Installing for dependencies: gtest x86_64 1.6.0-2.el7 epel 108 k Transaction Summary ================================================================================ Install 1 Package (+1 Dependent package) Total download size: 234 k Installed size: 1.2 M Downloading packages: (1/2): gtest-1.6.0-2.el7.x86_64.rpm | 108 kB 00:00 (2/2): gtest-devel-1.6.0-2.el7.x86_64.rpm | 126 kB 00:00 -------------------------------------------------------------------------------- Total 340 kB/s | 234 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : gtest-1.6.0-2.el7.x86_64 1/2 Installing : gtest-devel-1.6.0-2.el7.x86_64 2/2 Verifying : gtest-devel-1.6.0-2.el7.x86_64 1/2 Verifying : gtest-1.6.0-2.el7.x86_64 2/2 Installed: gtest-devel.x86_64 0:1.6.0-2.el7 Dependency Installed: gtest.x86_64 0:1.6.0-2.el7 Complete!
1.7 libtool
[root@tutorialspots movit-2441175]# yum install libtool Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftpmirror.your.org * epel: mirror.compevo.com * extras: repo.us.bigstepcloud.com * ius: dfw.mirror.rackspace.com * nux-dextop: mirror.li.nux.ro * remi-safe: mirror.bebout.net * updates: centos.host-engine.com Resolving Dependencies --> Running transaction check ---> Package libtool.x86_64 0:2.4.2-22.el7_3 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libtool x86_64 2.4.2-22.el7_3 base 588 k Transaction Summary ================================================================================ Install 1 Package Total download size: 588 k Installed size: 2.2 M Is this ok [y/d/N]: y Downloading packages: libtool-2.4.2-22.el7_3.x86_64.rpm | 588 kB 00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libtool-2.4.2-22.el7_3.x86_64 1/1 Verifying : libtool-2.4.2-22.el7_3.x86_64 1/1 Installed: libtool.x86_64 0:2.4.2-22.el7_3 Complete!
Step 2:
[root@tutorialspots ~]# mkdir movit [root@tutorialspots ~]# cd movit
Step 3:
Install movit 1.3.2
Download: https://git.sesse.net/?p=movit;a=snapshot;h=244117563f4c74686ba8f47d1942850e601545f2;sf=tgz (Source: https://git.sesse.net/?p=movit;a=commit;h=244117563f4c74686ba8f47d1942850e601545f2)
Then Upload
Step 4:
tar -xvf movit-2441175.tar.gz
cd movit-movit-2441175
Step 5:
[root@tutorialspots movit-2441175]# sh ./autogen.sh libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `.'. libtoolize: copying file `./config.guess' libtoolize: copying file `./config.sub' libtoolize: `./install-sh' is newer: use `--force' to overwrite libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. 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 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 for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/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-li nux-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 for gawk... gawk checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... no checking if : 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... no 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 libr aries... 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 pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... 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 for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes 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 libr aries... 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... no 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 libr aries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for Eigen3... yes checking for epoxy... yes checking for FFTW3... yes checking for SDL2... yes checking for SDL2_image... yes checking for libpng... yes configure: creating ./config.status config.status: creating Makefile config.status: creating movit.pc config.status: executing libtool commands
Step 6:
make make install
Result:
[root@tutorialspots movit-2441175]# make install mkdir -p /usr/local/lib/ /bin/sh ./libtool --tag=CXX --mode=install install -m 0644 libmovit.la /usr/loca l/lib/ libtool: install: install -m 0644 .libs/libmovit.so.4.0.2 /usr/local/lib/libmovi t.so.4.0.2 libtool: install: (cd /usr/local/lib && { ln -s -f libmovit.so.4.0.2 libmovit.so .4 || { rm -f libmovit.so.4 && ln -s libmovit.so.4.0.2 libmovit.so.4; }; }) libtool: install: (cd /usr/local/lib && { ln -s -f libmovit.so.4.0.2 libmovit.so || { rm -f libmovit.so && ln -s libmovit.so.4.0.2 libmovit.so; }; }) libtool: install: install -m 0644 .libs/libmovit.lai /usr/local/lib/libmovit.la libtool: install: install -m 0644 .libs/libmovit.a /usr/local/lib/libmovit.a libtool: install: chmod 644 /usr/local/lib/libmovit.a libtool: install: ranlib /usr/local/lib/libmovit.a libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/b in:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- mkdir -p /usr/local/include/movit/ install -m 0644 effect_chain.h effect_util.h effect.h input.h image_format.h ini t.h util.h defs.h resource_pool.h fp16.h ycbcr.h version.h flat_input.h ycbcr_in put.h ycbcr_422interleaved_input.h lift_gamma_gain_effect.h white_balance_effect .h gamma_expansion_effect.h gamma_compression_effect.h colorspace_conversion_eff ect.h alpha_multiplication_effect.h alpha_division_effect.h saturation_effect.h blur_effect.h diffusion_effect.h glow_effect.h unsharp_mask_effect.h mix_effect. h overlay_effect.h padding_effect.h resample_effect.h dither_effect.h deconvolut ion_sharpen_effect.h fft_pass_effect.h vignette_effect.h slice_effect.h complex_ modulate_effect.h luma_mix_effect.h fft_convolution_effect.h ycbcr_conversion_ef fect.h deinterlace_effect.h sandbox_effect.h mirror_effect.h resize_effect.h mul tiply_effect.h fft_input.h /usr/local/include/movit/ mkdir -p /usr/local/share/movit/ install -m 0644 vs.vert vs.130.vert vs.150.vert vs.300es.vert header.130.frag he ader.150.frag header.300es.frag footer.frag identity.frag texture1d.130.frag tex ture1d.150.frag texture1d.300es.frag flat_input.frag ycbcr_input.frag ycbcr_422i nterleaved_input.frag lift_gamma_gain_effect.frag white_balance_effect.frag gamm a_expansion_effect.frag gamma_compression_effect.frag colorspace_conversion_effe ct.frag alpha_multiplication_effect.frag alpha_division_effect.frag saturation_e ffect.frag blur_effect.frag mix_effect.frag overlay_effect.frag padding_effect.f rag resample_effect.frag dither_effect.frag deconvolution_sharpen_effect.frag ff t_pass_effect.frag vignette_effect.frag slice_effect.frag complex_modulate_effec t.frag luma_mix_effect.frag ycbcr_conversion_effect.frag deinterlace_effect.frag sandbox_effect.frag mirror_effect.frag multiply_effect.frag highlight_cutoff_ef fect.frag overlay_matte_effect.frag /usr/local/share/movit/ mkdir -p /usr/local/lib/pkgconfig/ install -m 644 movit.pc /usr/local/lib/pkgconfig/
Done!
1 Comment
Install dependencies for MLT Multimedia Framework on CentOS 7 | Free Online Tutorials
(October 4, 2018 - 12:54 pm)[…] How to install Movit on CentOS 7 […]