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"
|
2022-05-21 08:55:43 +00:00
|
|
|
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
|
|
|
|
2021-10-01 20:48:40 +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"]
|
2021-10-13 02:21:55 +00:00
|
|
|
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"]
|
2021-10-01 20:48:40 +00:00
|
|
|
|
|
|
|
[profile.dev.package.av-scenechange]
|
|
|
|
opt-level = 3
|
2021-11-19 18:37:34 +00:00
|
|
|
|
|
|
|
[profile.release]
|
|
|
|
lto = "thin"
|
|
|
|
codegen-units = 1
|
2021-12-15 22:58:00 +00:00
|
|
|
|
|
|
|
[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]
|
2022-05-01 03:35:59 +00:00
|
|
|
av-scenechange = { git = "https://github.com/rust-av/av-scenechange", rev = "a124199a746cba3ff2e08637836d37a91b6a9a58" }
|
2022-03-25 21:34:07 +00:00
|
|
|
console = { git = "https://github.com/console-rs/console", rev = "5484ea9d9f6884f6685349708e27bf08fab7703c" }
|