Open
Description
The dav1d decoder provides a meson build script and is straightforward to cross-compile.
https://github.com/lovell/sharp-libvips/tree/dav1d
The rav1e encoder does not provide build tooling and relies on cargo cinstall
, which is not that simple to get working with cross-compilation. It causes rust symbol conflicts as we also statically-link the rust-based librsvg, so requires the slightly dangerous -Wl,--allow-multiple-definition
linker flag.
https://github.com/lovell/sharp-libvips/tree/rav1e
Could consider the C-based svt-av1 as the encoder, perhaps the svt-av1-psy fork that prefers SSIM over PSNR - see lovell/sharp#4276
Also need to determine by how much the shared library binary file size would increase, if any, with separate decoder/encoder.