As pointed out by Andrew (BT #214), using libdav1d as opposed to libaom for decoding (no encoding) is so attractive because it pretty much runs at full speed. So when FFmpeg 4.2 included the compile option for this, we were highly motivated to put this in as the default for AV1 media loading/editing. AV1 is yet another codec that seems to be newly relevant.
However as mentioned in a previous email, dav1d inclusion was a big problem for the older system monthly builds. First,
meson had to be at or above version 47 and only 5 out of 18 build
systems were. Consequently, GG ended up eliminating the "meson"
requirement and substituting the standard "make" instead. Then the
"nasm" assembler on some of the older systems was not able to compile
Dav1d so they had to be switched out for a newer/working version (11 out of 19 were OK).
If we had known the problems that would be encountered in applying libdav1d, I wonder if we would have included it at this time? Also, as mentioned in the BT #214, a remapping for decoding with libdav1d being the preference is in the {cinelerra_path}/ffmpeg/decode.opts file. To revert to using libaom instead for decoding, you will need to comment out the line: remap_video_decoder libaom-av1=libdav1d
every time you update Cinelerra. We have not tested what happens if there is either no libdav1d or libaom so if that creates a different problem, we will have to address that. gg/Phyllis
The following information is for the people who do their own builds.
The easy workaround, if you do not care about AV1 files, is to add to the configure line in your script:
./configure .... --disable-dav1d
The better fix, is to upgrade nasm to at least 2.13 or higher.
Here is the list of the problem distro systems:
libdav1d requires minimum nasm>=2.13 && meson>=0.47
In the chart below * designates compile works, x designates compile fails
meson nasm os kernel
0.51.2 * 2.14.02 * arch linux (5.2.9-arch1-1-ARCH)
missing x 2.10.07 x centos 3.10.0-957.10.1.el7.x86_64
0.21.0 x 2.11.05 x debian8 3.16.0-10-amd64
0.37.1 x 2.12.01 x debian9 4.9.0-9-amd64
0.37.1 x 2.12.01 x debian9i 4.9.0-9-686-pae
0.49.2 * 2.14 * debian10 4.19.0-5-amd64
0.47.2 * 2.13.03 * fc28 5.0.16-100.fc28.x86_64
0.51.1 * 2.13.03 * fc29 5.2.7-100.fc29.x86_644
0.50.1 * 2.13.03 * fc30 5.2.9-200.fc30.x86_644
missing x 2.13.03 * su42.3 4.4.180-102-default
0.46.0 x 2.13.02 * leap05 4.12.14-lp151.28.13-default
0.40.1 x 2.11.08 x mint18 4.8.0-53-generic
0.45.1 x 2.13.02 * mint19 4.15.0-20-generic
missing x 2.10.09 x ub14 3.13.0-170-generic
0.29.0 x 2.11.08 x ub16 4.4.0-159-generic
0.45.1 x 2.13.02 * 4.15.0-58-generic
missing x 2.10.09 x ub14i 3.16.0-77-generic
0.46.1 x * slk32
0.46.1 x * slk34
Summary:
meson 14 fail, 5 succeed
nasm 8 fail, 11 succeed
To get a working set of builds for the month, the way gg used was to:
- generate a Makefile for x86 to replace meson (for now).
- copy nasm "NASM version 2.13.03 compiled on Feb 2 2019" to:
debian8 debian9 debian9i leap03 ub16 ub14 ubuntu mint18