X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=inline;f=parts%2FDeveloper.tex;h=4b4aed42e433159c619e4fa1c61ee81a2a0492ef;hb=HEAD;hp=4f522d0738acc62009a5c34c1f6143d36b7e32b1;hpb=4186a3355401958df90e82cb15bceb72e5835bb7;p=goodguy%2Fcin-manual-latex.git diff --git a/parts/Developer.tex b/parts/Developer.tex index 4f522d0..0b10967 100644 --- a/parts/Developer.tex +++ b/parts/Developer.tex @@ -227,6 +227,7 @@ Optional Features: --enable-openjpeg build openjpeg (auto) --enable-libogg build libogg (auto) --enable-libsndfile build libsndfile (auto) + --enable-libsvtav1 build libsvtav1 (no) --enable-libtheora build libtheora (auto) --enable-libuuid build libuuid (yes) --enable-libvorbis build libvorbis (auto) @@ -367,67 +368,65 @@ developer's feedback and experimentation. \textbf{dav1d} \begin{description}[noitemsep] - \item Status - currently \CGG{} is staying at 0.5. This is disappointing because there -may be speed gains in version 0.6 that would be beneficial. However, it is usable for decoding + \item Status - currently \CGG{} is staying at 0.5.1. This is disappointing because there +may be speed gains in later versions that would be beneficial. However, it is usable for decoding whereas libaom is a lot slower. Unfortunately, it has no effective encoder. - \item Problem - 0.6 dav1d requires NASM 2.14 and uses instructions like vgf2p8affineqb, + \item Problem - 0.6 dav1d requires NASM 2.14 (and later versions of dav1d use even later versions of NASM) and uses instructions like vgf2p8affineqb, not exactly an "add" instruction. It also uses meson which is not widely available on all -distros. The only distros that are built for \CGG{} that are at 2.14 are the latest version -of Arch, Debian(10), Gentoo, Tumbleweed, and Fedora(31). The rest are at 2.12 and 2.13 including -the most widely used Ubuntu. The NASM requirement apparently provides for using AVX-512 +distros. The more recent NASM requirement apparently provides for using AVX-512 instructions (like vgf2p8affineqb, which is more like a whole routine than a simple instruction). \item Workaround already in use by \CGG{} - a Makefile was generated to replace Meson usage -but has to be continuously updated for new releases. Dav1d 0.5 requires NASM 2.13 so at this level -the newer distros mostly work. The availability of meson and nasm are a significant problem on +but has to be continuously updated for new releases. Dav1d 0.5.1 requires NASM 2.13 so at this level +the newer distros will work. The availability of meson and nasm are a significant problem on many systems which are still in wide use. \item Your workaround - Because a request to dav1d developers to consider changes to ensure their library is more widely usable does not appear to be in their future, since it works -for them, you can upgrade NASM to 2.14 to stay up to date. Of course, install meson also. +for them, you can upgrade NASM to 2.14 to stay up to date. Even then, you will have to build using meson and incorporate it into \CGG{}. \end{description} \textbf{OpenExr} \begin{description}[noitemsep] - \item Status - currently at latest version - \item Problem - the OpenExr tarball is not a single package but is 2 packages instead + \item Status - stable at 2.4.1 from February 2020. + \item Problem - the OpenExr tarball is not a single package but is 2 packages instead. \item Workaround already in use by \CGG{} - reworked the packages so that it looks like -one package with 2 stubs - \item Your workaround - perhaps use the same workaround +one package with 2 stubs. + \item Your workaround - perhaps use the same workaround. \end{description} \textbf{OpenCV} \begin{description}[noitemsep] - \item Status - 2 different versions specific for O/S but none for Ubuntu 14, 32 or 64 bit + \item Status - 2 different versions specific for O/S but none for Ubuntu 14, 32 or 64 bit. \item Problem - There are really 2 problems here. The first is OpenCV is not really "Open" in that Surf is patented/non-free and there is no actual source available for certain capabilities. The second is that cmake 3.5.1 is required for OpenCV 4.2. - \item Workaround already in use by \CGG{} - using 3.4.1 for older distros and 4.2 for newer + \item Workaround already in use by \CGG{} - using 3.4.1 for older distros and 4.2 for newer. \item Your workaround - upgrade cmake to 3.5.1 for upgrade to 4.2; add non-free to the compile; and use binaries that you do not know what they contain since no source code to compile. -Look into opencv4/opencv2/core/types.hpp:711;27 +Look into opencv4/opencv2/core/types.hpp:711;27. \end{description} \textbf{libaom} \begin{description}[noitemsep] - \item Status - currently at version 3.0.0 for older O/S and 3.1.1 for newer O/S - \item Problem - requires cmake 3.5 at 3.0.0 and 3.6 for 3.1.1 - \item Workaround already in use by \CGG{} - leaving out of Ubuntu14, Ubuntu, Centos7 - \item Your workaround - upgrade on those systems to cmake 3.6 + \item Status - currently at version 3.6.0 for older O/S and 3.8.0 for newer O/S. + \item Problem - requires cmake 3.5 at v3.6.0 and 3.7.2 for v3.8.0. + \item Workaround already in use by \CGG{} - modify configure.ac to switch from 3.8.0 to 3.6.0 for Ubuntu 16 and delete thirdparty/src/libaom-v3.8.0*.*. + \item Your workaround - upgrade on some systems to cmake 3.7.2, switch to using 3.6.0 as in last sentence, or add --libaom-enable=no to configure line when building. \end{description} \textbf{x10tv} \begin{description}[noitemsep] - \item Status - this is the x10 TV remote control - \item Problem - INPUT\_PROP\_POINTING\_STICK not defined error on older distros - \item Workaround already in use by \CGG{} - leaving out of Ubuntu14, Ubuntu, Centos7 - \item Your workaround - look into /usr/include/linux/input-event-codes.h + \item Status - this is the x10 TV remote control. + \item Problem - INPUT\_PROP\_POINTING\_STICK not defined error on older distros. + \item Workaround already in use by \CGG{} - leaving out of Ubuntu14, Ubuntu, Centos7. + \item Your workaround - look into /usr/include/linux/input-event-codes.h. \end{description} -\textbf{libvpx} +\textbf{lv2 plugins, consisting of 6 routines} \begin{description}[noitemsep] - \item Status - currently at version 1.8.1 - \item Problem - when decoding a test file, it failed to correctly load to the timeline - \item Workaround already in use by \CGG{} - not upgrading to 1.8.2 - \item Your workaround - no analysis for a solution has been performed yet + \item Status - currently at version 1.18.0 for lv2 and different for other 5. + \item Problem - the current versions use cmake but the updated versions now all use meson and \CGG{} is not set up to handle that. + \item Workaround already in use by \CGG{} - not upgrading at this time. + \item Your workaround - if you are familiar with meson, you can independently upgrade the 6 routines. \end{description} \section{Find Lock Problems with Booby Trap} @@ -753,7 +752,7 @@ This follows four steps: Start by downloading the \CGG{} source from Cinelerra's git. The last parameter is a directory name of your choice, the directory must not exist. As example, the name \textit{cinelerra5} is used. \begin{lstlisting}[numbers=none] - git clone --depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5 + git clone --depth 1 git://git.cinelerra-gg.org/goodguy/cinelerra.git cinelerra5 \end{lstlisting} The source will be in a subdirectory \texttt{cinelerra-5.1} of the directory created by the \textit{git clone} operation. @@ -761,7 +760,7 @@ The source will be in a subdirectory \texttt{cinelerra-5.1} of the directory cre If context-sensitive help is needed, download the manual sources too, with a different destination directory. \begin{lstlisting}[numbers=none] - git clone --depth 1 "git://git.cinelerra-gg.org/goodguy/cin-manual-latex.git" cin-manual-latex + git clone --depth 1 git://git.cinelerra-gg.org/goodguy/cin-manual-latex.git cin-manual-latex \end{lstlisting} Then move to the \texttt{/\{path to cinelerra-5.1}/\} directory.