[Cin] Building Cingg from git using system FFmpeg and libs (Slowroll)
Terje J. Hanssen
terjejhanssen at gmail.com
Sun Sep 22 12:56:18 CEST 2024
After getting the generic built environment for Cingg on
openSUSE-Slowroll in place, it's time to continue with the steps to get
Cingg built from git using the system FFmpeg and libs.
First a reference to and from the previous thread
https://lists.cinelerra-gg.org/pipermail/cin/2024-September/008652.html
----------------
from the manual 1.3.8 Unbundled Builds
"There are some generic build scripts included in the CINELERRA-GG GIT
repository
for users who want to do unbundled builds with ffmpeg already available
on their
system. This has been tested on Arch, Ubuntu 18, FreeBSD, Windows10 and Leap
15 (rpm) at the time this was documented. The names of the build scripts
are:
arch.bld, bsd.bld, deb.bld, rpm.bld, and cygwin.bld. These scripts are in
the blds subdirectory."
from 1.3.3 in the manual):
Notes about Building from Git in your Customized Environment
Getting a build to work in a custom environment is not easy. If you have
already installed libraries which are normally in the thirdparty build,
getting them to be recognized means you have to install the devel
version so the header files which match the library interfaces exist. If
you want to build using only the thirdparty libraries installed in your
system, just include "–without-thirdparty" to your configure script. For
example:
./configure --with-single-user --disable-static-build --without-thirdparty
Below is the list of thirdparty builds, but this list may have changed
over time.
Table 1.1: List of thirdparty builds
a52dec yes
djbfft yes
ffmpeg yes
fftw auto
flac auto
giflib yes
ilmbase auto
lame auto
libavc1394 auto
libraw1394 auto
libiec61883 auto
libdv auto
.......snip
The yes means force build and auto means probe and use the system
version if the build operation is not static. To get your customized
build to work, you need to change the probe options for the conflicting
libraries from yes to auto, or even rework the configure.ac script.
There may be several libraries which need special treatment.
An example of a problem you might encounter with your customized
installation is with a52dec which has probes line
(CHECK_LIB/CHECK_HEADERS) in configure.ac, but djbfft does not. In this
case, djbfft is only built because a52dec is built, so if your system
has a52dec, set a52dec to auto and see if that problem is solved by
retrying the build with:
./configure --with-single-user -enable-a52dec=auto .
With persistence, you can get results, but it may take several tries to
stabilize the build. If you need help, email the log and config.log,
which is usually sufficient to determine why a build failed.
If you have already installed the libfdk_aac development package on your
computer because you prefer this version over the default aac, you will
have to do the following to get this alternative operational. The
libfdk_aac library is not a part of CINELERRA-GG by default because it
is not license free.
export FFMPEG_EXTRA_CFG=" --enable-libfdk-aac --enable-nonfree"
export EXTRA_LIBS=" -lfdk-aac"
for f in `grep -lw aac cinelerra-5.1/ffmpeg/audio/*`; do
sed -e 's/\<aac\>/libfdk_aac/' -i $f
done
--------------
FFmpeg from Packman (thirdparty for Slowroll) has the following
capabilities enabled and typical Hwaccel methods available:
ffmpeg -hwaccels
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64
--shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
-Werror=return-type -flto=auto -ffat-lto-objects -g' --optflags='-O2
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
-Werror=return-type -flto=auto -ffat-lto-objects -g' --disable-htmlpages
--enable-pic --disable-stripping --enable-shared --disable-static
--enable-gpl --enable-version3 --enable-libsmbclient --disable-openssl
--enable-gnutls --enable-ladspa --enable-libshaderc --enable-vulkan
--enable-libplacebo --enable-libaom --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d
--enable-libdc1394 --enable-libdrm --enable-libfontconfig
--enable-libfreetype --enable-libfribidi --enable-libgsm
--enable-libjack --enable-libjxl --enable-librist --enable-libmp3lame
--enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
--enable-libopenh264-dlopen --enable-libopus --enable-libpulse
--enable-librav1e --enable-librubberband --enable-libsvtav1
--enable-libsoxr --enable-libspeex --enable-libssh --enable-libsrt
--enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi
--enable-lto --enable-lv2 --enable-libvpl --enable-vaapi --enable-vdpau
--enable-version3 --enable-libfdk-aac-dlopen --enable-nonfree
--enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libvo-amrwbenc --enable-libx264 --enable-libx265 --enable-libxvid
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Hardware acceleration methods:
vdpau
cuda
vaapi
qsv
drm
vulkan
-------------------
Suggestions to modified/additional procedure steps to build Cingg from
git using the system FFmpeg and libs
continued from the previous thread?
https://lists.cinelerra-gg.org/pipermail/cin/2024-September/008655.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20240922/faeedc3b/attachment.htm>
More information about the Cin
mailing list