Av1an/Cargo.toml

53 lines
1.4 KiB
TOML
Raw Normal View History

2021-08-29 15:53:56 +00:00
[package]
2021-08-31 11:22:24 +00:00
name = "av1an"
2022-01-17 07:16:42 +00:00
version = "0.3.1"
2021-08-29 15:53:56 +00:00
authors = ["Zen <master_of_zen@protonmail.com>"]
description = """
Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding
"""
repository = "https://github.com/master-of-zen/Av1an"
keywords = ["video"]
categories = ["command-line-utilities"]
2021-08-30 13:04:27 +00:00
license = "GPL-3.0"
rust-version = "1.59"
2022-04-10 16:46:49 +00:00
edition = "2021"
2021-08-29 15:53:56 +00:00
[[bin]]
2021-08-31 11:22:24 +00:00
path = "src/main.rs"
2021-08-29 15:53:56 +00:00
name = "av1an"
[dependencies]
anyhow = "1.0.42"
serde_json = "1.0.64"
serde = { version = "1.0.126", features = ["serde_derive"] }
shlex = "1.0.0"
path_abs = "0.5.1"
2022-01-17 07:16:42 +00:00
av1an-cli = { path = "av1an-cli", version = "0.3.1" }
av1an-core = { path = "av1an-core", version = "0.3.1" }
2021-05-06 13:36:15 +00:00
[features]
Scene detect changes (#383) * Remove sc-downscale-height CLI option The standard scenecut detection method at 1080p is currently as fast as downsampling to 720p and running scenecut detection on that, and the fast scenecut method is significantly faster without downsampling, because the algorithm is faster than ffmpeg's resizing algorithm. As such, it doesn't make sense to have this option anymore. * Fix conditional use of newer VS APIs It makes sense to enable these by default, since the vast majority of users should have a moderately recent version of Vapoursynth. We also needed to disable the static ffmpeg as the default for now. libaom returns None for the pixel format, so it is not usable for the changes needed later in this PR. I attempted to get the git version of ffmpeg-next compiling with libdav1d, but was running into issues, I believe because Arch's package manager only includes a dynamic library for libdav1d and not a static version. It probably makes sense to disable it anyway given the issues Windows users have been having with it. * No longer convert input to 8-bit for scene detect It appears that downconverting does have an impact on scene detection accuracy. The speed penalty for running in 10-bit compared to 8-bit is only 10%. Given this, it seems preferable to run the scene detect in the more accurate format. * Skip ffmpeg intermediate step for vapoursynth input * Fix skipping of ffmpeg pipe step This optimization added in #379 was never triggered. Because the initialize() method always added a set of default params to self.ffmpeg_params, the clause to skip the ffmpeg pipe, self.ffmpeg_params.is_empty(), was unreachable. * Revert "Remove sc-downscale-height CLI option" This reverts commit a51763607faddae07a595f567d4f4cf815de3299. * Validate pixel formats based on encoder support * Fix CI build The dynamic linking of ffmpeg doesn't seem to play nicely with the old version of ffmpeg which is packaged in Ubuntu's last LTS. This enables static linking when we are running in CI to work around that issue, given that that workaround is easier than overhauling which docker container we use.
2021-10-20 16:54:48 +00:00
default = ["vapoursynth_new_api"]
ffmpeg_static = ["av1an-core/ffmpeg_static", "av1an-cli/ffmpeg_static"]
Scene detect changes (#383) * Remove sc-downscale-height CLI option The standard scenecut detection method at 1080p is currently as fast as downsampling to 720p and running scenecut detection on that, and the fast scenecut method is significantly faster without downsampling, because the algorithm is faster than ffmpeg's resizing algorithm. As such, it doesn't make sense to have this option anymore. * Fix conditional use of newer VS APIs It makes sense to enable these by default, since the vast majority of users should have a moderately recent version of Vapoursynth. We also needed to disable the static ffmpeg as the default for now. libaom returns None for the pixel format, so it is not usable for the changes needed later in this PR. I attempted to get the git version of ffmpeg-next compiling with libdav1d, but was running into issues, I believe because Arch's package manager only includes a dynamic library for libdav1d and not a static version. It probably makes sense to disable it anyway given the issues Windows users have been having with it. * No longer convert input to 8-bit for scene detect It appears that downconverting does have an impact on scene detection accuracy. The speed penalty for running in 10-bit compared to 8-bit is only 10%. Given this, it seems preferable to run the scene detect in the more accurate format. * Skip ffmpeg intermediate step for vapoursynth input * Fix skipping of ffmpeg pipe step This optimization added in #379 was never triggered. Because the initialize() method always added a set of default params to self.ffmpeg_params, the clause to skip the ffmpeg pipe, self.ffmpeg_params.is_empty(), was unreachable. * Revert "Remove sc-downscale-height CLI option" This reverts commit a51763607faddae07a595f567d4f4cf815de3299. * Validate pixel formats based on encoder support * Fix CI build The dynamic linking of ffmpeg doesn't seem to play nicely with the old version of ffmpeg which is packaged in Ubuntu's last LTS. This enables static linking when we are running in CI to work around that issue, given that that workaround is easier than overhauling which docker container we use.
2021-10-20 16:54:48 +00:00
vapoursynth_new_api = ["av1an-core/vapoursynth_new_api"]
2021-08-29 15:53:56 +00:00
[workspace]
members = ["av1an-core", "av1an-cli"]
[profile.dev.package.av-scenechange]
opt-level = 3
[profile.release]
lto = "thin"
codegen-units = 1
[profile.ci]
inherits = "release"
lto = "off"
codegen-units = 1024
debug-assertions = true
overflow-checks = true
2022-02-01 06:52:08 +00:00
[patch.crates-io]
av-scenechange = { git = "https://github.com/rust-av/av-scenechange", rev = "a124199a746cba3ff2e08637836d37a91b6a9a58" }
console = { git = "https://github.com/console-rs/console", rev = "5484ea9d9f6884f6685349708e27bf08fab7703c" }