[Cin] The "Story of Dav1d" with Cinelerra builds (AV1 decoder)
Andrew Randrianasulu
randrianasulu at gmail.com
Tue Sep 3 08:37:27 CEST 2019
В сообщении от Tuesday 03 September 2019 00:00:32 Phyllis Smith написал(а):
> 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?
Sorry, for not testing all those combination, I tend to just add/update new software
as some program ask for it. And being Slackware OS can be moved both ways (up/downgrade) equally easy.
I think obvious fix for nasm problem will be testing nasm version in cinelerra-5.1/configure.ac
(like lines 464/465 currnetly do, but for something specific for 2.13 and up) and
disable libdav1d with message if nasm too old.
nasm --version
NASM version 2.13.03 compiled on Mar 11 2018
Or may be compile nasm as part of Cin-GG build system, but I'm afraid this way will lead to Cin OS :}
> 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
>
More information about the Cin
mailing list