Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optional AVIF support #116

Merged
merged 5 commits into from
Jun 24, 2020
Merged

Optional AVIF support #116

merged 5 commits into from
Jun 24, 2020

Conversation

Aloso
Copy link
Contributor

@Aloso Aloso commented Jun 24, 2020

This adds optional support for AVIF files. It can be enabled with --features=avif. Note that it requires cmake.

I can confirm that it works on Arch Linux. You can test if it works on your platform with this file: avif.zip

There's a tracking issue for AVIF support in image-rs, but that's unlikely to be implemented soon (image-rs only accepts pure Rust codecs).

If you don't think adding this is a good idea, feel free to close this PR.

@Aloso Aloso changed the title Avif Optional AVIF support Jun 24, 2020
@ArturKovacs
Copy link
Owner

Closing and re-opening to trigger a re-build.

@ArturKovacs ArturKovacs reopened this Jun 24, 2020
@paolobarbolini
Copy link
Contributor

paolobarbolini commented Jun 24, 2020

I think you are missing Meson, Ninja and NASM.

  • Ubuntu (please note we are using 20.04 to get the latest nasm Meson required by Dav1d)
  • macOS
  • I haven't written the Windows build but I think they are available via Chocolatey

@Aloso
Copy link
Contributor Author

Aloso commented Jun 24, 2020

@paolobarbolini thanks for your help! I'll see if I get it to work on ubuntu and macos

@Aloso
Copy link
Contributor Author

Aloso commented Jun 24, 2020

Note that I disabled the avif feature for Windows, since I don't know how to install the dependencies (mesa, ninja, nasm) on Windows.

@paolobarbolini
Copy link
Contributor

I can make a PR to this repo when I get the chance to also add it to the libavif-rs CI

@ArturKovacs
Copy link
Owner

I can make a PR to this repo when I get the chance to also add it to the libavif-rs CI

@paolobarbolini I'm not sure what this means. Could you explain?

@paolobarbolini
Copy link
Contributor

paolobarbolini commented Jun 24, 2020

I can make a PR to this repo when I get the chance to also add it to the libavif-rs CI

@paolobarbolini I'm not sure what this means. Could you explain?

After writing the Windows CI steps for the libavif-rs repo I'll also open a PR for this one, since the CI configuration is very similar between the two repositories.

@ArturKovacs ArturKovacs merged commit 086eecf into ArturKovacs:master Jun 24, 2020
@ArturKovacs ArturKovacs added this to the v5.0 milestone Jun 24, 2020
@Aloso Aloso deleted the avif branch June 24, 2020 21:52
@paolobarbolini
Copy link
Contributor

Update: I started working on the Windows support njaard/libavif-rs#15 but at the moment it's not working for some reason.

@ArturKovacs
Copy link
Owner

I love to hear that @paolobarbolini! Unfortunately I don't have much time for open source development but I can see that the relevant PR (njaard/libavif-rs#18) was merged so updating the libavif-rs dependency should be done for Emulsion but I'm not sure when will I get to it.

@paolobarbolini
Copy link
Contributor

paolobarbolini commented Jul 27, 2020

Windows support will come out in the v0.3 release. At the moment there aren't any breaking changes in the libavif-image crate, so you should be able to just bump the version once we release it. You can also try it right now by importing from git, but because of a bug in libgit2 cloning the repository might fail in some cargo versions.

Your CI isn't currently testing AVIF on Windows, and that will require the Windows job to be updated to install the libavif required build dependencies (build dependencies | tests), but that can be done later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants