Replace last regex with hand written parser (#441)
* Replace panic with error return * Replace last regex with hand written parser * Update dependencies * Fix clippy warnings * Adjust idx check * More idiomatic rust
This commit is contained in:
parent
07710cb088
commit
6f46ef8531
90
Cargo.lock
generated
90
Cargo.lock
generated
|
@ -4,9 +4,9 @@ version = 3
|
|||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.17.0"
|
||||
version = "0.15.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
|
||||
checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
@ -31,9 +31,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "0.7.18"
|
||||
version = "0.7.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
||||
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
@ -144,7 +144,7 @@ dependencies = [
|
|||
"av-data",
|
||||
"av-format",
|
||||
"log",
|
||||
"nom 6.1.2",
|
||||
"nom 6.2.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -191,7 +191,7 @@ dependencies = [
|
|||
"shlex 1.1.0",
|
||||
"structopt",
|
||||
"thiserror",
|
||||
"vergen 5.1.18",
|
||||
"vergen 5.1.17",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -219,7 +219,6 @@ dependencies = [
|
|||
"paste",
|
||||
"path_abs",
|
||||
"plotters",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"simdutf8",
|
||||
|
@ -238,9 +237,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.63"
|
||||
version = "0.3.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6"
|
||||
checksum = "4717cfcbfaa661a0fd48f8453951837ae7e8f81e481fbb136e3202d72805a744"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
|
@ -647,9 +646,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.26.1"
|
||||
version = "0.24.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
|
||||
checksum = "0e4075386626662786ddb0ec9081e7c7eeb1ba31951f447ca780ef9f5d568189"
|
||||
|
||||
[[package]]
|
||||
name = "git2"
|
||||
|
@ -681,9 +680,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.19"
|
||||
version = "0.1.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
||||
checksum = "c7a30908dbce072eca83216eab939d2290080e00ca71611b96a09e5cdce5f3fa"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
@ -702,7 +701,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "indicatif"
|
||||
version = "0.17.0-beta.1"
|
||||
source = "git+https://github.com/mitsuhiko/indicatif#16e755cd17570b95adff7d22c00c36b8014cd3e9"
|
||||
source = "git+https://github.com/mitsuhiko/indicatif#f80adc3310e3764d25ceac4542eccf6cd334aa80"
|
||||
dependencies = [
|
||||
"console",
|
||||
"number_prefix",
|
||||
|
@ -732,9 +731,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.1"
|
||||
version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
|
||||
checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
@ -790,9 +789,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.108"
|
||||
version = "0.2.110"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
|
||||
checksum = "b58a4469763e4e3a906c4ed786e1c70512d16aa88f84dded826da42640fc6a1c"
|
||||
|
||||
[[package]]
|
||||
name = "libfuzzer-sys"
|
||||
|
@ -864,15 +863,15 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
|
|||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.4.1"
|
||||
version = "2.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
|
||||
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.6.4"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
|
||||
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
@ -911,9 +910,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "nasm-rs"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9dbff86bd2ee8cb407e8608e2c3504412a967c06286ef7e5cf7c1b9db756f0a9"
|
||||
checksum = "a06380d23b58dcdaf892fa36c3950cad3110e7d76851275d5f85c22eb9cdd614"
|
||||
dependencies = [
|
||||
"rayon",
|
||||
]
|
||||
|
@ -943,9 +942,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "6.1.2"
|
||||
version = "6.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2"
|
||||
checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
|
||||
dependencies = [
|
||||
"bitvec",
|
||||
"funty",
|
||||
|
@ -1040,12 +1039,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
|
|||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.27.1"
|
||||
version = "0.24.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170"
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
|
@ -1116,9 +1112,9 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
|
|||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.22"
|
||||
version = "0.3.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f"
|
||||
checksum = "d1a3ea4f0dd7f1f3e512cf97bf100819aa547f36a6eccac8dbaae839eb92363e"
|
||||
|
||||
[[package]]
|
||||
name = "plotters"
|
||||
|
@ -1180,9 +1176,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.32"
|
||||
version = "1.0.33"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43"
|
||||
checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
@ -1313,9 +1309,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.5.4"
|
||||
version = "1.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
|
||||
checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
|
@ -1373,9 +1369,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.5"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088"
|
||||
checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
|
@ -1397,18 +1393,18 @@ checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.130"
|
||||
version = "1.0.131"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
|
||||
checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.130"
|
||||
version = "1.0.131"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
|
||||
checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -1603,9 +1599,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "sysinfo"
|
||||
version = "0.21.1"
|
||||
version = "0.21.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb6c2c4a6ca462f07ca89841a2618dca6e405304d19ae238997e64915d89f513"
|
||||
checksum = "8f88d66f3341b688163d3585037954ff276cf24a234d015b30025318a3e3449a"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"core-foundation-sys",
|
||||
|
@ -1867,9 +1863,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "vergen"
|
||||
version = "5.1.18"
|
||||
version = "5.1.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d48696c0fbbdafd9553e14c4584b4b9583931e9474a3ae506f1872b890d0b47"
|
||||
checksum = "6cf88d94e969e7956d924ba70741316796177fa0c79a2c9f4ab04998d96e966e"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cfg-if 1.0.0",
|
||||
|
|
|
@ -22,7 +22,6 @@ anyhow = "1.0.42"
|
|||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
sysinfo = "0.21.0"
|
||||
regex = "1.5.4"
|
||||
splines = "4.0.0"
|
||||
|
||||
# the latest git version is currently required since wide_bar
|
||||
|
|
|
@ -4,6 +4,10 @@
|
|||
//! runtime detection that the corresponding feature
|
||||
//! set is available before calling them.
|
||||
|
||||
use std::{borrow::Cow, collections::HashSet};
|
||||
|
||||
use crate::encoder::Encoder;
|
||||
|
||||
// We can safely always ignore this prefix, as the second number will
|
||||
// always be at some point after this prefix. See examples of aomenc
|
||||
// output below to see why this is the case.
|
||||
|
@ -261,10 +265,107 @@ pub fn parse_x26x_frames(s: &str) -> Option<u64> {
|
|||
.and_then(|s| s.parse().ok())
|
||||
}
|
||||
|
||||
/// Returns the set of valid parameters given a help text for the given encoder
|
||||
#[must_use]
|
||||
pub fn valid_params(help_text: &str, encoder: Encoder) -> HashSet<Cow<'_, str>> {
|
||||
// x265 has 292 parameters, which is the most of any encoder, so we round up
|
||||
// slightly just in case
|
||||
let mut params = HashSet::with_capacity(300);
|
||||
|
||||
for s in help_text.split_ascii_whitespace() {
|
||||
if s.starts_with('-') {
|
||||
if s.len() == 1 || s == "--" {
|
||||
continue;
|
||||
}
|
||||
|
||||
if encoder == Encoder::x265 {
|
||||
// x265 does this: -m/--subme
|
||||
// or even: -w/--[no-]weightp
|
||||
// So we need to ensure that in this case the short parameter is also handled.
|
||||
let s = s.get("-x/".len()..).map_or(s, |stripped| {
|
||||
if stripped.starts_with("--") {
|
||||
params.insert(Cow::Borrowed(&s[..2]));
|
||||
|
||||
stripped
|
||||
} else {
|
||||
s
|
||||
}
|
||||
});
|
||||
|
||||
// Somehow x265 manages to have a buggy --help, where a single option (--[no-]-hrd-concat)
|
||||
// has an extra dash.
|
||||
let arg = s
|
||||
.strip_prefix("--[no-]")
|
||||
.map(|stripped| stripped.strip_prefix('-').unwrap_or(stripped));
|
||||
|
||||
if let Some(arg) = arg {
|
||||
params.insert(Cow::Owned(format!("--{}", arg)));
|
||||
params.insert(Cow::Owned(format!("--no-{}", arg)));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// aomenc outputs '--tune=<arg>' for example, so we have to find the character
|
||||
// from the left so as to not miss the leftmost char
|
||||
if let Some(idx) = s.find(|c: char| !c.is_ascii_alphanumeric() && c != '-' && c != '_') {
|
||||
// In some weird cases (like with x264) there may be a dash followed by a non alphanumeric
|
||||
// character, so we just ignore that.
|
||||
if idx > 1 {
|
||||
params.insert(Cow::Borrowed(&s[..idx]));
|
||||
}
|
||||
} else {
|
||||
// It's a little concerning how *two* encoders manage to have buggy help output.
|
||||
let arg = if encoder == Encoder::vpx {
|
||||
// vpxenc randomly truncates the "Vizier Rate Control Options" in the help
|
||||
// outout, which sometimes causes it to truncate at a dash, which breaks the
|
||||
// tests if we don't do this. Not sure what the correct solution in this case is.
|
||||
s.strip_suffix('-').unwrap_or(s)
|
||||
} else {
|
||||
s
|
||||
};
|
||||
|
||||
params.insert(Cow::Borrowed(arg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
params
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::parse::*;
|
||||
|
||||
#[test]
|
||||
fn valid_params_works() {
|
||||
use std::borrow::Borrow;
|
||||
|
||||
macro_rules! generate_tests {
|
||||
($($x:ident),* $(,)?) => {
|
||||
$(
|
||||
let returned: HashSet<String> = valid_params(include_str!(concat!("../tests/", stringify!($x), "_help.txt")), Encoder::$x)
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect();
|
||||
let expected: HashSet<String> = include_str!(concat!("../tests/", stringify!($x), "_params.txt"))
|
||||
.split_ascii_whitespace()
|
||||
.map(|s| s.to_string())
|
||||
.collect();
|
||||
|
||||
for arg in expected.iter() {
|
||||
assert!(returned.contains(Borrow::<str>::borrow(&**arg)), "expected '{}', but it was missing in return value (for encoder {})", arg, stringify!($x));
|
||||
}
|
||||
for arg in returned.iter() {
|
||||
assert!(expected.contains(Borrow::<str>::borrow(&**arg)), "return value contains '{}', but it was not expected (for encoder {})", arg, stringify!($x));
|
||||
}
|
||||
assert_eq!(returned, expected);
|
||||
)*
|
||||
};
|
||||
}
|
||||
|
||||
generate_tests!(aom, rav1e, svt_av1, vpx, x264, x265);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rav1e_parsing() {
|
||||
let test_cases = [
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use crate::parse::valid_params;
|
||||
use crate::progress_bar::{reset_bar_at, reset_mp_bar_at};
|
||||
use crate::vapoursynth::{is_ffms2_installed, is_lsmash_installed};
|
||||
use crate::{
|
||||
|
@ -11,7 +12,7 @@ use crate::{
|
|||
finish_progress_bar, inc_bar, inc_mp_bar, init_multi_progress_bar, init_progress_bar,
|
||||
update_mp_msg,
|
||||
},
|
||||
read_chunk_queue, regex, save_chunk_queue,
|
||||
read_chunk_queue, save_chunk_queue,
|
||||
scene_detect::av_scenechange_detect,
|
||||
split::{extra_splits, segment, write_scenes_to_file},
|
||||
vapoursynth::create_vs_file,
|
||||
|
@ -23,6 +24,7 @@ use anyhow::{bail, ensure, Context};
|
|||
use crossbeam_utils;
|
||||
use ffmpeg_next::format::Pixel;
|
||||
use itertools::Itertools;
|
||||
use std::borrow::Borrow;
|
||||
use std::cmp::Ordering;
|
||||
use std::{
|
||||
borrow::Cow,
|
||||
|
@ -363,29 +365,23 @@ impl EncodeArgs {
|
|||
}
|
||||
|
||||
fn validate_encoder_params(&self) {
|
||||
/// Returns the set of valid parameters given a help text of an encoder
|
||||
#[must_use]
|
||||
fn valid_params(help_text: &str) -> HashSet<&str> {
|
||||
regex!(r"\s+(-\w+|(?:--\w+(?:-\w+)*))")
|
||||
.find_iter(help_text)
|
||||
.filter_map(|m| m.as_str().split_ascii_whitespace().next())
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
fn invalid_params<'a>(
|
||||
params: &'a [&'a str],
|
||||
valid_options: &'a HashSet<&'a str>,
|
||||
valid_options: &'a HashSet<Cow<'a, str>>,
|
||||
) -> Vec<&'a str> {
|
||||
params
|
||||
.iter()
|
||||
.filter(|param| !valid_options.contains(*param))
|
||||
.filter(|param| !valid_options.contains(Borrow::<str>::borrow(&**param)))
|
||||
.copied()
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
fn suggest_fix<'a>(wrong_arg: &str, arg_dictionary: &'a HashSet<&'a str>) -> Option<&'a str> {
|
||||
fn suggest_fix<'a>(
|
||||
wrong_arg: &str,
|
||||
arg_dictionary: &'a HashSet<Cow<'a, str>>,
|
||||
) -> Option<&'a str> {
|
||||
// Minimum threshold to consider a suggestion similar enough that it could be a typo
|
||||
const MIN_THRESHOLD: f64 = 0.75;
|
||||
|
||||
|
@ -393,9 +389,9 @@ impl EncodeArgs {
|
|||
.iter()
|
||||
.map(|arg| (arg, strsim::jaro_winkler(arg, wrong_arg)))
|
||||
.max_by(|(_, a), (_, b)| a.partial_cmp(b).unwrap_or(Ordering::Less))
|
||||
.and_then(|(&suggestion, score)| {
|
||||
.and_then(|(suggestion, score)| {
|
||||
if score > MIN_THRESHOLD {
|
||||
Some(suggestion)
|
||||
Some(suggestion.borrow())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
|
@ -423,7 +419,7 @@ impl EncodeArgs {
|
|||
let [cmd, arg] = self.encoder.help_command();
|
||||
String::from_utf8(Command::new(cmd).arg(arg).output().unwrap().stdout).unwrap()
|
||||
};
|
||||
let valid_params = valid_params(&help_text);
|
||||
let valid_params = valid_params(&help_text, self.encoder);
|
||||
let invalid_params = invalid_params(&video_params, &valid_params);
|
||||
|
||||
for wrong_param in &invalid_params {
|
||||
|
@ -554,7 +550,7 @@ properly into a mkv file. Specify mkvmerge as the concatenation method by settin
|
|||
Ok(chunks)
|
||||
}
|
||||
|
||||
fn calc_split_locations(&self) -> Vec<usize> {
|
||||
fn calc_split_locations(&self) -> anyhow::Result<Vec<usize>> {
|
||||
match self.split_method {
|
||||
SplitMethod::AvScenechange => av_scenechange_detect(
|
||||
&self.input,
|
||||
|
@ -564,9 +560,8 @@ properly into a mkv file. Specify mkvmerge as the concatenation method by settin
|
|||
self.verbosity,
|
||||
self.sc_method,
|
||||
self.sc_downscale_height,
|
||||
)
|
||||
.unwrap(),
|
||||
SplitMethod::None => Vec::new(),
|
||||
),
|
||||
SplitMethod::None => Ok(Vec::new()),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -581,7 +576,7 @@ properly into a mkv file. Specify mkvmerge as the concatenation method by settin
|
|||
let mut scenes = if (self.scenes.is_some() && scene_file.exists()) || self.resume {
|
||||
crate::split::read_scenes_from_file(scene_file.as_path())?.0
|
||||
} else {
|
||||
self.calc_split_locations()
|
||||
self.calc_split_locations()?
|
||||
};
|
||||
let scenes_before = scenes.len() + 1;
|
||||
if let Some(split_len) = self.extra_splits_len {
|
||||
|
|
|
@ -1,11 +1,3 @@
|
|||
#[macro_export]
|
||||
macro_rules! regex {
|
||||
($re:literal $(,)?) => {{
|
||||
static RE: once_cell::sync::OnceCell<regex::Regex> = once_cell::sync::OnceCell::new();
|
||||
RE.get_or_init(|| regex::Regex::new($re).unwrap())
|
||||
}};
|
||||
}
|
||||
|
||||
/// Count the number of elements passed to this macro.
|
||||
///
|
||||
/// Extra commas in between other commas are counted as an element.
|
||||
|
|
|
@ -71,13 +71,13 @@ fn get_num_frames(env: &mut Environment) -> anyhow::Result<usize> {
|
|||
let info = get_clip_info(env);
|
||||
|
||||
let num_frames = {
|
||||
if let Property::Variable = info.format {
|
||||
if Property::Variable == info.format {
|
||||
bail!("Cannot output clips with varying format");
|
||||
}
|
||||
if let Property::Variable = info.resolution {
|
||||
if Property::Variable == info.resolution {
|
||||
bail!("Cannot output clips with varying dimensions");
|
||||
}
|
||||
if let Property::Variable = info.framerate {
|
||||
if Property::Variable == info.framerate {
|
||||
bail!("Cannot output clips with varying framerate");
|
||||
}
|
||||
|
||||
|
|
255
av1an-core/tests/aom_help.txt
Normal file
255
av1an-core/tests/aom_help.txt
Normal file
|
@ -0,0 +1,255 @@
|
|||
Usage: aomenc <options> -o dst_filename src_filename
|
||||
|
||||
Options:
|
||||
--help Show usage options and exit
|
||||
-c <arg>, --cfg=<arg> Config file to use
|
||||
-D, --debug Debug mode (makes output deterministic)
|
||||
-o <arg>, --output=<arg> Output filename
|
||||
--codec=<arg> Codec to use
|
||||
-p <arg>, --passes=<arg> Number of passes (1/2/3)
|
||||
--pass=<arg> Pass to execute (1/2/3)
|
||||
--fpf=<arg> First pass statistics file name
|
||||
--limit=<arg> Stop encoding after n input frames
|
||||
--skip=<arg> Skip the first n input frames
|
||||
--good Use Good Quality Deadline
|
||||
--rt Use Realtime Quality Deadline
|
||||
--allintra Use all intra mode
|
||||
-q, --quiet Do not print encode progress
|
||||
-v, --verbose Show encoder parameters
|
||||
--psnr=<arg> Show PSNR in status line(0: Disable PSNR status line display, 1: PSNR calculated using input bit-depth (default), 2: PSNR calculated using stream bit-depth), takes default option when arguments are not specified
|
||||
--webm Output WebM (default when WebM IO is enabled)
|
||||
--ivf Output IVF
|
||||
--obu Output OBU
|
||||
--q-hist=<arg> Show quantizer histogram (n-buckets)
|
||||
--rate-hist=<arg> Show rate histogram (n-buckets)
|
||||
--disable-warnings Disable warnings about potentially incorrect encode settings.
|
||||
-y, --disable-warning-prompt Display warnings, but do not prompt user to continue.
|
||||
--test-decode=<arg> Test encode/decode mismatch
|
||||
off, fatal, warn
|
||||
|
||||
Encoder Global Options:
|
||||
--yv12 Input file is YV12
|
||||
--i420 Input file is I420 (default)
|
||||
--i422 Input file is I422
|
||||
--i444 Input file is I444
|
||||
-u <arg>, --usage=<arg> Usage profile number to use (0: good, 1: rt, 2: allintra)
|
||||
-t <arg>, --threads=<arg> Max number of threads to use
|
||||
--profile=<arg> Bitstream profile number to use
|
||||
-w <arg>, --width=<arg> Frame width
|
||||
-h <arg>, --height=<arg> Frame height
|
||||
--forced_max_frame_width=<arg>
|
||||
Maximum frame width value to force
|
||||
--forced_max_frame_height=<arg>
|
||||
Maximum frame height value to force
|
||||
--stereo-mode=<arg> Stereo 3D video format
|
||||
mono, left-right, bottom-top, top-bottom, right-left
|
||||
--timebase=<arg> Output timestamp precision (fractional seconds)
|
||||
--fps=<arg> Stream frame rate (rate/scale)
|
||||
--global-error-resilient=<arg>
|
||||
Enable global error resiliency features
|
||||
-b <arg>, --bit-depth=<arg> Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
|
||||
8, 10, 12
|
||||
--input-bit-depth=<arg> Bit depth of input
|
||||
--lag-in-frames=<arg> Max number of frames to lag
|
||||
--large-scale-tile=<arg> Large scale tile coding (0: off (default), 1: on (ivf output only))
|
||||
--monochrome Monochrome video (no chroma planes)
|
||||
--full-still-picture-hdr Use full header for still picture
|
||||
--use-16bit-internal Force use of 16-bit pipeline
|
||||
--annexb=<arg> Save as Annex-B
|
||||
|
||||
Rate Control Options:
|
||||
--drop-frame=<arg> Temporal resampling threshold (buf %)
|
||||
--resize-mode=<arg> Frame resize mode
|
||||
--resize-denominator=<arg> Frame resize denominator
|
||||
--resize-kf-denominator=<arg>
|
||||
Frame resize keyframe denominator
|
||||
--superres-mode=<arg> Frame super-resolution mode
|
||||
--superres-denominator=<arg>
|
||||
Frame super-resolution denominator
|
||||
--superres-kf-denominator=<arg>
|
||||
Frame super-resolution keyframe denominator
|
||||
--superres-qthresh=<arg> Frame super-resolution qindex threshold
|
||||
--superres-kf-qthresh=<arg> Frame super-resolution keyframe qindex threshold
|
||||
--end-usage=<arg> Rate control mode
|
||||
vbr, cbr, cq, q
|
||||
--target-bitrate=<arg> Bitrate (kbps)
|
||||
--min-q=<arg> Minimum (best) quantizer
|
||||
--max-q=<arg> Maximum (worst) quantizer
|
||||
--undershoot-pct=<arg> Datarate undershoot (min) target (%)
|
||||
--overshoot-pct=<arg> Datarate overshoot (max) target (%)
|
||||
--buf-sz=<arg> Client buffer size (ms)
|
||||
--buf-initial-sz=<arg> Client initial buffer size (ms)
|
||||
--buf-optimal-sz=<arg> Client optimal buffer size (ms)
|
||||
--bias-pct=<arg> CBR/VBR bias (0=CBR, 100=VBR)
|
||||
--minsection-pct=<arg> GOP min bitrate (% of target)
|
||||
--maxsection-pct=<arg> GOP max bitrate (% of target)
|
||||
|
||||
Keyframe Placement Options:
|
||||
--enable-fwd-kf=<arg> Enable forward reference keyframes
|
||||
--kf-min-dist=<arg> Minimum keyframe interval (frames)
|
||||
--kf-max-dist=<arg> Maximum keyframe interval (frames)
|
||||
--disable-kf Disable keyframe placement
|
||||
--sframe-dist=<arg> S-Frame interval (frames)
|
||||
--sframe-mode=<arg> S-Frame insertion mode (1..2)
|
||||
|
||||
AV1 Specific Options:
|
||||
--cpu-used=<arg> Speed setting (0..6 in good mode, 6..9 in realtime mode)
|
||||
--auto-alt-ref=<arg> Enable automatic alt reference frames
|
||||
--sharpness=<arg> Bias towards block sharpness in rate-distortion optimization of transform coefficients (0..7), default is 0
|
||||
--static-thresh=<arg> Motion detection threshold
|
||||
--row-mt=<arg> Enable row based multi-threading (0: off, 1: on (default))
|
||||
--tile-columns=<arg> Number of tile columns to use, log2
|
||||
--tile-rows=<arg> Number of tile rows to use, log2
|
||||
--enable-tpl-model=<arg> RDO based on frame temporal dependency (0: off, 1: backward source based). This is required for deltaq mode.
|
||||
--enable-keyframe-filtering=<arg>
|
||||
Apply temporal filtering on key frame(0: no filter, 1: filter without overlay (default), 2: filter with overlay - experimental, may break random access in players.)
|
||||
--arnr-maxframes=<arg> AltRef max frames (0..15)
|
||||
--arnr-strength=<arg> AltRef filter strength (0..6)
|
||||
--tune=<arg> Distortion metric tuned with
|
||||
psnr, ssim, vmaf_with_preprocessing, vmaf_without_preprocessing, vmaf, vmaf_neg, butteraugli, image_perceptual_quality
|
||||
--cq-level=<arg> Constant/Constrained Quality level
|
||||
--max-intra-rate=<arg> Max I-frame bitrate (pct)
|
||||
--max-inter-rate=<arg> Max P-frame bitrate (pct)
|
||||
--gf-cbr-boost=<arg> Boost for Golden Frame in CBR mode (pct)
|
||||
--lossless=<arg> Lossless mode (0: false (default), 1: true)
|
||||
--enable-cdef=<arg> Enable the constrained directional enhancement filter (0: false, 1: true (default), 2: disable for non-reference frames)
|
||||
--enable-restoration=<arg> Enable the loop restoration filter (0: false (default in Realtime mode), 1: true (default in Non-realtime mode))
|
||||
--enable-rect-partitions=<arg>
|
||||
Enable rectangular partitions (0: false, 1: true (default))
|
||||
--enable-ab-partitions=<arg>
|
||||
Enable ab partitions (0: false, 1: true (default))
|
||||
--enable-1to4-partitions=<arg>
|
||||
Enable 1:4 and 4:1 partitions (0: false, 1: true (default))
|
||||
--min-partition-size=<arg> Set min partition size (4:4x4, 8:8x8, 16:16x16, 32:32x32, 64:64x64, 128:128x128). On frame with 4k+ resolutions or higher speed settings, the min partition size will have a minimum of 8.
|
||||
--max-partition-size=<arg> Set max partition size (4:4x4, 8:8x8, 16:16x16, 32:32x32, 64:64x64, 128:128x128)
|
||||
--enable-dual-filter=<arg> Enable dual filter (0: false, 1: true (default))
|
||||
--enable-chroma-deltaq=<arg>
|
||||
Enable chroma delta quant (0: false (default), 1: true)
|
||||
--enable-intra-edge-filter=<arg>
|
||||
Enable intra edge filtering (0: false, 1: true (default))
|
||||
--enable-order-hint=<arg> Enable order hint (0: false, 1: true (default))
|
||||
--enable-tx64=<arg> Enable 64-pt transform (0: false, 1: true (default))
|
||||
--enable-flip-idtx=<arg> Enable extended transform type (0: false, 1: true (default)) including FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST, ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT, V_ADST, H_ADST, V_FLIPADST, H_FLIPADST
|
||||
--enable-rect-tx=<arg> Enable rectangular transform (0: false, 1: true (default))
|
||||
--enable-dist-wtd-comp=<arg>
|
||||
Enable distance-weighted compound (0: false, 1: true (default))
|
||||
--enable-masked-comp=<arg> Enable masked (wedge/diff-wtd) compound (0: false, 1: true (default))
|
||||
--enable-onesided-comp=<arg>
|
||||
Enable one sided compound (0: false, 1: true (default))
|
||||
--enable-interintra-comp=<arg>
|
||||
Enable interintra compound (0: false, 1: true (default))
|
||||
--enable-smooth-interintra=<arg>
|
||||
Enable smooth interintra mode (0: false, 1: true (default))
|
||||
--enable-diff-wtd-comp=<arg>
|
||||
Enable difference-weighted compound (0: false, 1: true (default))
|
||||
--enable-interinter-wedge=<arg>
|
||||
Enable interinter wedge compound (0: false, 1: true (default))
|
||||
--enable-interintra-wedge=<arg>
|
||||
Enable interintra wedge compound (0: false, 1: true (default))
|
||||
--enable-global-motion=<arg>
|
||||
Enable global motion (0: false, 1: true (default))
|
||||
--enable-warped-motion=<arg>
|
||||
Enable local warped motion (0: false, 1: true (default))
|
||||
--enable-filter-intra=<arg> Enable filter intra prediction mode (0: false, 1: true (default))
|
||||
--enable-smooth-intra=<arg> Enable smooth intra prediction modes (0: false, 1: true (default))
|
||||
--enable-paeth-intra=<arg> Enable Paeth intra prediction mode (0: false, 1: true (default))
|
||||
--enable-cfl-intra=<arg> Enable chroma from luma intra prediction mode (0: false, 1: true (default))
|
||||
--enable-diagonal-intra=<arg>
|
||||
Enable diagonal (D45 to D203) intra prediction modes, which are a subset of directional modes. Has no effect if enable-directional-intra is 0 (0: false, 1: true (default))
|
||||
--force-video-mode=<arg> Force video mode (0: false, 1: true (default))
|
||||
--enable-obmc=<arg> Enable OBMC (0: false, 1: true (default))
|
||||
--enable-overlay=<arg> Enable coding overlay frames (0: false, 1: true (default))
|
||||
--enable-palette=<arg> Enable palette prediction mode (0: false, 1: true (default))
|
||||
--enable-intrabc=<arg> Enable intra block copy prediction mode (0: false, 1: true (default))
|
||||
--enable-angle-delta=<arg> Enable intra angle delta (0: false, 1: true (default))
|
||||
--disable-trellis-quant=<arg>
|
||||
Disable trellis optimization of quantized coefficients (0: false 1: true 2: true for rd search 3: true for estimate yrd serch (default))
|
||||
--enable-qm=<arg> Enable quantisation matrices (0: false (default), 1: true)
|
||||
--qm-min=<arg> Min quant matrix flatness (0..15), default is 8
|
||||
--qm-max=<arg> Max quant matrix flatness (0..15), default is 15
|
||||
--reduced-tx-type-set=<arg> Use reduced set of transform types
|
||||
--use-intra-dct-only=<arg> Use DCT only for INTRA modes
|
||||
--use-inter-dct-only=<arg> Use DCT only for INTER modes
|
||||
--use-intra-default-tx-only=<arg>
|
||||
Use Default-transform only for INTRA modes
|
||||
--quant-b-adapt=<arg> Use adaptive quantize_b
|
||||
--coeff-cost-upd-freq=<arg> Update freq for coeff costs. 0: SB, 1: SB Row per Tile, 2: Tile, 3: Off
|
||||
--mode-cost-upd-freq=<arg> Update freq for mode costs. 0: SB, 1: SB Row per Tile, 2: Tile, 3: Off
|
||||
--mv-cost-upd-freq=<arg> Update freq for mv costs. 0: SB, 1: SB Row per Tile, 2: Tile, 3: Off
|
||||
--frame-parallel=<arg> Enable frame parallel decodability features (0: false (default), 1: true)
|
||||
--error-resilient=<arg> Enable error resilient features (0: false (default), 1: true)
|
||||
--aq-mode=<arg> Adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh)
|
||||
--deltaq-mode=<arg> Delta qindex mode (0: off, 1: deltaq objective (default), 2: deltaq placeholder, 3: key frame visual quality, 4: user rating based visual quality optimization). Currently this requires enable-tpl-model as a prerequisite.
|
||||
--deltaq-strength=<arg> Deltaq strength for --deltaq-mode=4 (%)
|
||||
--delta-lf-mode=<arg> Enable delta-lf-mode (0: off (default), 1: on)
|
||||
--frame-boost=<arg> Enable frame periodic boost (0: off (default), 1: on)
|
||||
--noise-sensitivity=<arg> Noise sensitivity (frames to blur)
|
||||
--tune-content=<arg> Tune content type
|
||||
default, screen, film
|
||||
--cdf-update-mode=<arg> CDF update mode for entropy coding (0: no CDF update, 1: update CDF on all frames(default), 2: selectively update CDF on some frames)
|
||||
--color-primaries=<arg> Color primaries (CICP) of input content:
|
||||
bt709, unspecified, bt601, bt470m, bt470bg, smpte240, film, bt2020, xyz, smpte431, smpte432, ebu3213
|
||||
--transfer-characteristics=<arg>
|
||||
Transfer characteristics (CICP) of input content:
|
||||
unspecified, bt709, bt470m, bt470bg, bt601, smpte240, lin, log100, log100sq10, iec61966, bt1361, srgb, bt2020-10bit, bt2020-12bit, smpte2084, hlg, smpte428
|
||||
--matrix-coefficients=<arg> Matrix coefficients (CICP) of input content:
|
||||
identity, bt709, unspecified, fcc73, bt470bg, bt601, smpte240, ycgco, bt2020ncl, bt2020cl, smpte2085, chromncl, chromcl, ictcp
|
||||
--chroma-sample-position=<arg>
|
||||
The chroma sample position when chroma 4:2:0 is signaled:
|
||||
unknown, vertical, colocated
|
||||
--min-gf-interval=<arg> min gf/arf frame interval (default 0, indicating in-built behavior)
|
||||
--max-gf-interval=<arg> max gf/arf frame interval (default 0, indicating in-built behavior)
|
||||
--gf-min-pyr-height=<arg> Min height for GF group pyramid structure (0 (default) to 5)
|
||||
--gf-max-pyr-height=<arg> maximum height for GF group pyramid structure (0 to 5 (default))
|
||||
--sb-size=<arg> Superblock size to use
|
||||
dynamic, 64, 128
|
||||
--num-tile-groups=<arg> Maximum number of tile groups, default is 1
|
||||
--mtu-size=<arg> MTU size for a tile group, default is 0 (no MTU targeting), overrides maximum number of tile groups
|
||||
--timing-info=<arg> Signal timing info in the bitstream (model unly works for no hidden frames, no super-res yet):
|
||||
unspecified, constant, model
|
||||
--film-grain-test=<arg> Film grain test vectors (0: none (default), 1: test-1 2: test-2, ... 16: test-16)
|
||||
--film-grain-table=<arg> Path to file containing film grain parameters
|
||||
--denoise-noise-level=<arg> Amount of noise (from 0 = don't denoise, to 50)
|
||||
--denoise-block-size=<arg> Denoise block size (default = 32)
|
||||
--enable-dnl-denoising=<arg>
|
||||
Apply denoising to the frame being encoded when denoise-noise-level is enabled (0: false, 1: true (default))
|
||||
--max-reference-frames=<arg>
|
||||
maximum number of reference frames allowed per frame (3 to 7 (default))
|
||||
--reduced-reference-set=<arg>
|
||||
Use reduced set of single and compound references (0: off (default), 1: on)
|
||||
--enable-ref-frame-mvs=<arg>
|
||||
Enable temporal mv prediction (default is 1)
|
||||
--target-seq-level-idx=<arg>
|
||||
Target sequence level index. Possible values are in the form of "ABxy"(pad leading zeros if less than 4 digits). AB: Operating point(OP) index, xy: Target level index for the OP. E.g. "0" means target level index 0 for the 0th OP, "1021" means target level index 21 for the 10th OP.
|
||||
--set-tier-mask=<arg> Set bit mask to specify which tier each of the 32 possible operating points conforms to. Bit value 0(defualt): Main Tier, 1: High Tier.
|
||||
--min-cr=<arg> Set minimum compression ratio. Take integer values. Default is 0. If non-zero, encoder will try to keep the compression ratio of each frame to be higher than the given value divided by 100.
|
||||
--vbr-corpus-complexity-lap=<arg>
|
||||
Set average corpus complexity per mb for single pass VBR using lap. (0..10000), default is 0
|
||||
--input-chroma-subsampling-x=<arg>
|
||||
chroma subsampling x value.
|
||||
--input-chroma-subsampling-y=<arg>
|
||||
chroma subsampling y value.
|
||||
--dv-cost-upd-freq=<arg> Update freq for dv costs. 0: SB, 1: SB Row per Tile, 2: Tile, 3: Off
|
||||
--partition-info-path=<arg> Partition information read and write path
|
||||
--enable-directional-intra=<arg>
|
||||
Enable directional intra prediction modes (0: false, 1: true (default))
|
||||
--enable-tx-size-search=<arg>
|
||||
Enable transform size search to find the best size for each block. If false, transforms always have the largest possible size (0: false, 1: true (default))
|
||||
--loopfilter-control=<arg> Control loop filtering (0: Loopfilter disabled for all frames, 1: Enable loopfilter for all frames (default), 2: Disable loopfilter for non-reference frames, 3: Disable loopfilter for frames with low motion
|
||||
--auto-intra-tools-off=<arg>
|
||||
Automatically turn off several intra coding tools for allintra mode. Only in effect if --deltaq-mode=3.
|
||||
-p <arg>, --passes=<arg> Number of passes (1/2/3)
|
||||
--two-pass-output=<arg> The output file for the first two passes for three-pass encoding.
|
||||
-spf <arg>, --second-pass-log=<arg> Log file from second pass.
|
||||
--fwd-kf-dist=<arg> Set distance between forward keyframes. A value of -1 means no repetitive forward keyframes. Default is -1.
|
||||
|
||||
Stream timebase (--timebase):
|
||||
The desired precision of timestamps in the output, expressed
|
||||
in fractional seconds. Default is 1/1000.
|
||||
|
||||
Included encoders:
|
||||
|
||||
av1 - AOMedia Project AV1 Encoder 3.2.0-295-g00d80b8bcb (default)
|
||||
|
||||
Use --codec to switch to a non-default encoder.
|
||||
|
197
av1an-core/tests/aom_params.txt
Normal file
197
av1an-core/tests/aom_params.txt
Normal file
|
@ -0,0 +1,197 @@
|
|||
--allintra
|
||||
--film-grain-test
|
||||
--chroma-sample-position
|
||||
--enable-smooth-interintra
|
||||
-o
|
||||
--tune
|
||||
-p
|
||||
--test-decode
|
||||
--enable-chroma-deltaq
|
||||
--help
|
||||
--superres-qthresh
|
||||
-w
|
||||
--enable-tx64
|
||||
--input-chroma-subsampling-y
|
||||
--enable-masked-comp
|
||||
--enable-cfl-intra
|
||||
--enable-ref-frame-mvs
|
||||
--enable-dist-wtd-comp
|
||||
--webm
|
||||
--psnr
|
||||
--max-intra-rate
|
||||
--max-partition-size
|
||||
--denoise-block-size
|
||||
--rt
|
||||
--cfg
|
||||
-D
|
||||
-v
|
||||
--static-thresh
|
||||
--obu
|
||||
--use-intra-default-tx-only
|
||||
-1
|
||||
-u
|
||||
--force-video-mode
|
||||
--cdf-update-mode
|
||||
--enable-diff-wtd-comp
|
||||
--enable-global-motion
|
||||
--height
|
||||
--tile-rows
|
||||
--enable-cdef
|
||||
--buf-optimal-sz
|
||||
--enable-interintra-comp
|
||||
--sframe-mode
|
||||
--vbr-corpus-complexity-lap
|
||||
--i444
|
||||
--enable-intra-edge-filter
|
||||
--film-grain-table
|
||||
--sframe-dist
|
||||
--reduced-reference-set
|
||||
--full-still-picture-hdr
|
||||
--max-q
|
||||
--gf-cbr-boost
|
||||
--drop-frame
|
||||
--codec
|
||||
--enable-rect-tx
|
||||
--coeff-cost-upd-freq
|
||||
--frame-boost
|
||||
--enable-angle-delta
|
||||
--min-partition-size
|
||||
--deltaq-mode
|
||||
-b
|
||||
--bit-depth
|
||||
--cq-level
|
||||
--lossless
|
||||
--buf-sz
|
||||
--ivf
|
||||
--enable-fwd-kf
|
||||
--enable-interintra-wedge
|
||||
--tile-columns
|
||||
--tune-content
|
||||
--matrix-coefficients
|
||||
--loopfilter-control
|
||||
--quant-b-adapt
|
||||
--input-bit-depth
|
||||
--superres-kf-denominator
|
||||
--usage
|
||||
--disable-warnings
|
||||
-q
|
||||
--use-intra-dct-only
|
||||
--frame-parallel
|
||||
--global-error-resilient
|
||||
--yv12
|
||||
--width
|
||||
--min-gf-interval
|
||||
--maxsection-pct
|
||||
--enable-interinter-wedge
|
||||
-c
|
||||
--enable-dual-filter
|
||||
--quiet
|
||||
--second-pass-log
|
||||
--output
|
||||
--enable-1to4-partitions
|
||||
--forced_max_frame_width
|
||||
--row-mt
|
||||
--enable-flip-idtx
|
||||
--use-16bit-internal
|
||||
--bias-pct
|
||||
--set-tier-mask
|
||||
--superres-mode
|
||||
--kf-max-dist
|
||||
--enable-intrabc
|
||||
--q-hist
|
||||
--end-usage
|
||||
--min-q
|
||||
--enable-rect-partitions
|
||||
--color-primaries
|
||||
--rate-hist
|
||||
--i422
|
||||
--enable-onesided-comp
|
||||
-y
|
||||
--qm-max
|
||||
--limit
|
||||
--transfer-characteristics
|
||||
--minsection-pct
|
||||
--large-scale-tile
|
||||
--resize-denominator
|
||||
--fpf
|
||||
--disable-trellis-quant
|
||||
--enable-dnl-denoising
|
||||
-spf
|
||||
--fwd-kf-dist
|
||||
--disable-warning-prompt
|
||||
-h
|
||||
--buf-initial-sz
|
||||
--deltaq-strength
|
||||
--enable-keyframe-filtering
|
||||
--skip
|
||||
--resize-kf-denominator
|
||||
--enable-tpl-model
|
||||
--superres-denominator
|
||||
--arnr-strength
|
||||
--enable-restoration
|
||||
--enable-filter-intra
|
||||
--undershoot-pct
|
||||
--stereo-mode
|
||||
--enable-paeth-intra
|
||||
--noise-sensitivity
|
||||
--enable-overlay
|
||||
--gf-min-pyr-height
|
||||
--sb-size
|
||||
--num-tile-groups
|
||||
--max-reference-frames
|
||||
--error-resilient
|
||||
--partition-info-path
|
||||
--enable-palette
|
||||
--enable-ab-partitions
|
||||
--auto-intra-tools-off
|
||||
--kf-min-dist
|
||||
--delta-lf-mode
|
||||
-t
|
||||
--good
|
||||
--enable-diagonal-intra
|
||||
--superres-kf-qthresh
|
||||
--disable-kf
|
||||
--dv-cost-upd-freq
|
||||
--auto-alt-ref
|
||||
--enable-qm
|
||||
--mtu-size
|
||||
--verbose
|
||||
--reduced-tx-type-set
|
||||
--enable-tx-size-search
|
||||
--use-inter-dct-only
|
||||
--input-chroma-subsampling-x
|
||||
--arnr-maxframes
|
||||
--denoise-noise-level
|
||||
--timing-info
|
||||
--passes
|
||||
--enable-smooth-intra
|
||||
--two-pass-output
|
||||
--enable-warped-motion
|
||||
--target-bitrate
|
||||
--debug
|
||||
--forced_max_frame_height
|
||||
--monochrome
|
||||
--enable-order-hint
|
||||
--mv-cost-upd-freq
|
||||
--aq-mode
|
||||
--qm-min
|
||||
--target-seq-level-idx
|
||||
--enable-directional-intra
|
||||
--max-inter-rate
|
||||
--fps
|
||||
--profile
|
||||
--i420
|
||||
--lag-in-frames
|
||||
--overshoot-pct
|
||||
--sharpness
|
||||
--enable-obmc
|
||||
--mode-cost-upd-freq
|
||||
--max-gf-interval
|
||||
--resize-mode
|
||||
--cpu-used
|
||||
--timebase
|
||||
--gf-max-pyr-height
|
||||
--min-cr
|
||||
--annexb
|
||||
--pass
|
||||
--threads
|
131
av1an-core/tests/rav1e_help.txt
Normal file
131
av1an-core/tests/rav1e_help.txt
Normal file
|
@ -0,0 +1,131 @@
|
|||
rav1e 0.4.1 (release)
|
||||
AV1 video encoder
|
||||
|
||||
USAGE:
|
||||
rav1e [FLAGS] [OPTIONS] <INPUT> --output <OUTPUT>
|
||||
|
||||
FLAGS:
|
||||
--fullhelp
|
||||
Prints more detailed help information
|
||||
|
||||
--low-latency
|
||||
Low latency mode; disables frame reordering
|
||||
Has a significant speed-to-quality trade-off
|
||||
--still-picture
|
||||
Still picture mode
|
||||
|
||||
--benchmark
|
||||
Provide a benchmark report at the end of the encoding
|
||||
|
||||
-v, --verbose
|
||||
Verbose logging; outputs info for every frame
|
||||
|
||||
-q, --quiet
|
||||
Do not output any status message
|
||||
|
||||
--psnr
|
||||
Calculate and display PSNR metrics
|
||||
|
||||
--metrics
|
||||
Calulate and display several metrics including PSNR, SSIM, CIEDE2000 etc
|
||||
|
||||
-y
|
||||
Overwrite output file.
|
||||
|
||||
-h, --help
|
||||
Prints help information
|
||||
|
||||
-V, --version
|
||||
Prints version information
|
||||
|
||||
|
||||
OPTIONS:
|
||||
--threads <THREADS>
|
||||
Set the threadpool size [default: 0]
|
||||
|
||||
-o, --output <OUTPUT>
|
||||
Compressed AV1 in IVF video output
|
||||
|
||||
--first-pass <FIRST_PASS>
|
||||
Perform the first pass of a two-pass encode, saving the pass data to the specified file for future passes
|
||||
|
||||
--second-pass <SECOND_PASS>
|
||||
Perform the second pass of a two-pass encode, reading the pass data saved from a previous pass from the
|
||||
specified file
|
||||
-l, --limit <LIMIT>
|
||||
Maximum number of frames to encode [default: 0]
|
||||
|
||||
--skip <SKIP>
|
||||
Skip n number of frames and encode [default: 0]
|
||||
|
||||
--quantizer <QP>
|
||||
Quantizer (0-255), smaller values are higher quality [default: 100]
|
||||
|
||||
--min-quantizer <MINQP>
|
||||
Minimum quantizer (0-255) to use in bitrate mode [default: 0]
|
||||
|
||||
-b, --bitrate <BITRATE>
|
||||
Bitrate (kbps)
|
||||
|
||||
-s, --speed <SPEED>
|
||||
Speed level (0 is best quality, 10 is fastest)
|
||||
Speeds 10 and 0 are extremes and are generally not recommended [default: 6]
|
||||
-i, --min-keyint <MIN_KEYFRAME_INTERVAL>
|
||||
Minimum interval between keyframes [default: 12]
|
||||
|
||||
-I, --keyint <KEYFRAME_INTERVAL>
|
||||
Maximum interval between keyframes. When set to 0, disables fixed-interval keyframes. [default: 240]
|
||||
|
||||
-S, --switch-frame-interval <SWITCH_FRAME_INTERVAL>
|
||||
Maximum interval between switch frames. When set to 0, disables switch frames. [default: 0]
|
||||
|
||||
--reservoir-frame-delay <RESERVOIR_FRAME_DELAY>
|
||||
Number of frames over which rate control should distribute the reservoir [default: min(240, 1.5x keyint)]
|
||||
A minimum value of 12 is enforced.
|
||||
--rdo-lookahead-frames <RDO_LOOKAHEAD_FRAMES>
|
||||
Number of frames encoder should lookahead for RDO purposes [default: 40]
|
||||
--tune <TUNE>
|
||||
Quality tuning [default: Psychovisual] [possible values: Psnr, Psychovisual]
|
||||
|
||||
--tile-rows <TILE_ROWS>
|
||||
Number of tile rows. Must be a power of 2. rav1e may override this based on video resolution. [default: 0]
|
||||
|
||||
--tile-cols <TILE_COLS>
|
||||
Number of tile columns. Must be a power of 2. rav1e may override this based on video resolution. [default:
|
||||
0]
|
||||
--tiles <TILES>
|
||||
Number of tiles. Tile-cols and tile-rows are overridden
|
||||
so that the video has at least this many tiles. [default: 0]
|
||||
--range <PIXEL_RANGE>
|
||||
Pixel range [default: limited] [possible values: Limited, Full]
|
||||
|
||||
--primaries <COLOR_PRIMARIES>
|
||||
Color primaries used to describe color parameters [default: unspecified] [possible values: BT709,
|
||||
Unspecified, BT470M, BT470BG, BT601, SMPTE240, GenericFilm, BT2020, XYZ, SMPTE431, SMPTE432, EBU3213]
|
||||
--transfer <TRANSFER_CHARACTERISTICS>
|
||||
Transfer characteristics used to describe color parameters [default: unspecified] [possible values: BT709,
|
||||
Unspecified, BT470M, BT470BG, BT601, SMPTE240, Linear, Log100, Log100Sqrt10, IEC61966, BT1361, SRGB,
|
||||
BT2020_10Bit, BT2020_12Bit, SMPTE2084, SMPTE428, HLG]
|
||||
--matrix <MATRIX_COEFFICIENTS>
|
||||
Matrix coefficients used to describe color parameters [default: unspecified] [possible values: Identity,
|
||||
BT709, Unspecified, FCC, BT470BG, BT601, SMPTE240, YCgCo, BT2020NCL, BT2020CL, SMPTE2085, ChromatNCL,
|
||||
ChromatCL, ICtCp]
|
||||
--mastering-display <MASTERING_DISPLAY>
|
||||
Mastering display primaries in the form of G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min) [default: unspecified]
|
||||
|
||||
--content-light <CONTENT_LIGHT>
|
||||
Content light level used to describe content luminosity (cll,fall) [default: 0,0]
|
||||
|
||||
--frame-rate <FRAME_RATE>
|
||||
Constant frame rate to set at the output (inferred from input when omitted)
|
||||
|
||||
--time-scale <TIME_SCALE>
|
||||
The time scale associated with the frame rate if provided (ignored otherwise) [default: 1]
|
||||
|
||||
-r, --reconstruction <RECONSTRUCTION>
|
||||
Outputs a Y4M file containing the output from the decoder
|
||||
|
||||
|
||||
ARGS:
|
||||
<INPUT>
|
||||
Uncompressed YUV4MPEG2 video input
|
51
av1an-core/tests/rav1e_params.txt
Normal file
51
av1an-core/tests/rav1e_params.txt
Normal file
|
@ -0,0 +1,51 @@
|
|||
--still-picture
|
||||
--quiet
|
||||
--version
|
||||
--keyint
|
||||
--psnr
|
||||
--threads
|
||||
--verbose
|
||||
--low-latency
|
||||
-q
|
||||
-h
|
||||
--skip
|
||||
--reservoir-frame-delay
|
||||
--mastering-display
|
||||
--rdo-lookahead-frames
|
||||
-s
|
||||
--output
|
||||
-i
|
||||
--tile-cols
|
||||
--reconstruction
|
||||
--bitrate
|
||||
--tiles
|
||||
-V
|
||||
--second-pass
|
||||
-l
|
||||
-b
|
||||
-I
|
||||
--tile-rows
|
||||
--limit
|
||||
-o
|
||||
--min-quantizer
|
||||
-S
|
||||
--metrics
|
||||
-v
|
||||
--first-pass
|
||||
-y
|
||||
--fullhelp
|
||||
--quantizer
|
||||
--min-keyint
|
||||
--switch-frame-interval
|
||||
--tune
|
||||
--help
|
||||
--range
|
||||
--speed
|
||||
--primaries
|
||||
--transfer
|
||||
--matrix
|
||||
--benchmark
|
||||
--content-light
|
||||
--frame-rate
|
||||
--time-scale
|
||||
-r
|
138
av1an-core/tests/svt_av1_help.txt
Normal file
138
av1an-core/tests/svt_av1_help.txt
Normal file
|
@ -0,0 +1,138 @@
|
|||
Usage: SvtAv1EncApp <options> -b dst_filename -i src_filename
|
||||
|
||||
Examples:
|
||||
Two passes encode (VBR only):
|
||||
SvtAv1EncApp <--stats svtav1_2pass.log> --rc 1 --tbr 1000 --pass 1 -b dst_filename -i src_filename
|
||||
SvtAv1EncApp <--stats svtav1_2pass.log> --rc 1 --tbr 1000 --pass 2 -b dst_filename -i src_filename
|
||||
Or a combined cli:
|
||||
SvtAv1EncApp <--stats svtav1_2pass.log> --passes 2 --rc 1 --tbr 1000 -b dst_filename -i src_filename
|
||||
|
||||
Options:
|
||||
--help Show usage options and exit
|
||||
-i, --input Input filename
|
||||
-b, --output Output filename
|
||||
--errlog Error filename
|
||||
-o, --recon Recon filename
|
||||
--stat-file Stat filename
|
||||
--preset Encoder mode/Preset used (-2 (debugging preset),-1 (debugging preset),0 - 8 [default]) thehigher the preset, the higher the speed, the lower the preset, the lower the quality
|
||||
|
||||
Encoder Global Options:
|
||||
-w, --width Frame width
|
||||
-h, --height Frame height
|
||||
-n, --frames Stop encoding after n input frames
|
||||
--nb Buffer n input frames
|
||||
--progress Change verbosity of the output (0: no progress is printed, 1: default, 2: aomenc style machine parsable output)
|
||||
--no-progress Do not print out progress, if set to 1 it is equivalent to `--progress 0`, else `--progress 1`
|
||||
--color-format Set encoder color format(YUV400, YUV420, YUV422, YUV444 : YUV420 [default])
|
||||
--profile Bitstream profile number to use(0: main profile[default], 1: high profile, 2: professional profile)
|
||||
--fps Stream frame rate (rate/scale)
|
||||
--fps-num Stream frame rate numerator
|
||||
--fps-denom Stream frame rate denominator
|
||||
--input-depth Bit depth for codec(8 or 10)
|
||||
--16bit-pipeline Bit depth for enc-dec(0: lbd[default], 1: hbd)
|
||||
--compressed-ten-bit-format Offline packing of the 2bits: requires two bits packed input (0: OFF[default], 1: ON)
|
||||
--inj Inject pictures at defined frame rate(0: OFF[default],1: ON)
|
||||
--inj-frm-rt Set injector frame rate
|
||||
--hierarchical-levels Set hierarchical levels (0 - 5 : 4 [default])
|
||||
--pred-struct Set prediction structure( 0: low delay P, 1: low delay B, 2: random access [default])
|
||||
--enable-stat-report outputs psnr ssim metrics at the end of the encode (0: OFF[default], 1: ON)
|
||||
--asm Limit assembly instruction set [0 - 11] or [c, mmx, sse, sse2, sse3, ssse3, sse4_1, sse4_2, avx, avx2, avx512, max], by default highest level supported by CPU
|
||||
--lp target number of logical cores to be used (1-max number of cores on machine[default])
|
||||
--unpin Allows the execution to be pined/unpined to/from specific cores set by --lp
|
||||
The combinational use of --unpin with --lp results in memory reduction while allowing the execution to work on any of the cores and not restrict it to specific cores
|
||||
--unpin is overwritten to 0 when --ss is set to 0 or 1. ( 0: OFF ,1: ON [default])
|
||||
Example: 72 core machine:
|
||||
72 jobs x -- lp 1 -- unpin 1
|
||||
36 jobs x -- lp 2 -- unpin 1
|
||||
18 jobs x -- lp 4 -- unpin 1
|
||||
--ss Specify which socket the encoder runs on--unpin is overwritten to 0 when --ss is set to 0 or 1
|
||||
|
||||
Rate Control Options:
|
||||
--rc Rate control mode(0 = CQP if --enable-tpl-la is set to 0, else CRF , 1 = VBR)
|
||||
--tbr Target Bitrate (kbps)
|
||||
--use-q-file Overwrite QP assignment using qp values in QP file
|
||||
--use-fixed-qindex-offsets Use fixed QIndex offset
|
||||
--key-frame-qindex-offset Key Frame QIndex Offset
|
||||
--key-frame-chroma-qindex-offset Key Frame Chroma QIndex Offset
|
||||
--qindex-offsets QIndexOffsets
|
||||
--chroma-qindex-offsets ChromaQIndexOffsets
|
||||
--qpfile Path to Qp file
|
||||
-q, --qp Constant/Constrained Quality level
|
||||
--crf Constant Rate Factor, equal to --rc 0 --enable-tpl-la 1 --qp x
|
||||
--max-qp Maximum (worst) quantizer[0-63] only applicable when --rc > 0
|
||||
--min-qp Minimum (best) quantizer[0-63] only applicable when --rc > 0
|
||||
--adaptive-quantization Set adaptive QP level(0: OFF ,1: variance base using segments ,2: Deltaq pred efficiency)
|
||||
--vbv-bufsize VBV buffer size
|
||||
--undershoot-pct Datarate undershoot (min) target (%)
|
||||
--overshoot-pct Datarate overshoot (max) target (%)
|
||||
--recode-loop Recode loop levels (0 : OFF, 1: Allow recode for KF and exceeding maximum frame bandwidth, 2:Allow recode only for KF/ARF/GF frames, 3: Allow recode for all frames based on bitrate constraints, 4: preset based decision [Default])
|
||||
|
||||
Twopass Options:
|
||||
--pass Multipass bitrate control (1: first pass, generates stats file , 2: second pass, uses stats file)
|
||||
--stats Filename for 2 pass stats("svtav1_2pass.log" : [Default])
|
||||
--passes Number of passes (1: one pass encode, 2: two passes encode) applicable only for rc > 0
|
||||
--bias-pct CBR/VBR bias (0=CBR-like, 100=VBR-like)
|
||||
--minsection-pct GOP min bitrate (% of target)
|
||||
--maxsection-pct GOP max bitrate (% of target)
|
||||
|
||||
GOP size and type Options:
|
||||
--keyint Intra period interval(frames) (-2: default intra period , -1: No intra update or [0 - 2^31-2]; [-2-255] if RateControlMode >= 1)
|
||||
--irefresh-type Intra refresh type (1: FWD Frame (Open GOP), 2: KEY Frame (Closed GOP)[default])
|
||||
--lookahead, -lad The lookahead option is currently disabled (forced to 0) until further work is done on rate control
|
||||
|
||||
AV1 Specific Options:
|
||||
--tile-rows Number of tile rows to use, log2[0-6]
|
||||
--tile-columns Number of tile columns to use, log2[0-4]
|
||||
--disable-dlf Disable loop filter(0: loop filter enabled[default] ,1: loop filter disabled)
|
||||
--cdef-level CDEF Level, 0: OFF, 1-5: ON with 64,16,8,4,1 step refinement, -1: DEFAULT
|
||||
--enable-restoration-filtering Enable the loop restoration filter(0: OFF ,1: ON ,-1:DEFAULT)
|
||||
--sg-filter-mode Self-guided filter mode (0:OFF, 1: step 0, 2: step 1, 3: step 4, 4: step 16, -1: DEFAULT)
|
||||
--wn-filter-mode Wiener filter mode (0:OFF, 1: 3-Tap luma/ 3-Tap chroma, 2: 5-Tap luma/ 5-Tap chroma, 3: 7-Tap luma/ 7-Tap chroma, -1: DEFAULT)
|
||||
--mrp-level Multi reference frame levels( 0: OFF, 1: FULL, 2: Level1 .. 9: Level8, -1: DEFAULT)
|
||||
--enable-tpl-la RDO based on frame temporal dependency (0: off, 1: backward source based)
|
||||
--enable-mfmv Enable motion field motion vector( 0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-redundant-blk Use the same md results(mode, residual , cost,etc..)as the previously processed identical block(0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-spatial-sse-full-loop-level Enable spatial sse full loop(0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-over-bndry-blk Enable over boundary block mode (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-new-nrst-near-comb Enable new nearest near comb injection (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-nsq-table-use Enable nsq table (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-framend-cdf-upd-mode Enable frame end cdf update mode (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--chroma-mode Select chroma mode([0-3], -1: DEFAULT)
|
||||
--disable-cfl Disable chroma from luma (CFL) flag (0: OFF (do not disable), 1: ON (disable), -1: DEFAULT)
|
||||
--enable-local-warp Enable warped motion use , 0 = OFF, 1 = ON, -1 = DEFAULT
|
||||
--enable-global-motion Enable global motion (0: OFF, 1: ON [default])
|
||||
--intra-angle-delta Enable intra angle delta filtering filtering (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-interintra-comp Enable interintra compound (0: OFF, 1: ON (default))
|
||||
--enable-paeth Enable paeth (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-smooth Enable smooth (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--obmc-level OBMC Level(0: OFF, 1: Fully ON, 2 and 3 are faster levels, -1: DEFAULT)
|
||||
--rdoq-level Enable RDOQ (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--filter-intra-level Enable filter intra prediction mode (0: OFF, 1: ON [default])
|
||||
--enable-intra-edge-filter Enable intra edge filter (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--enable-pic-based-rate-est Enable picture based rate estimation (0: OFF, 1: ON, -1: DEFAULT)
|
||||
--pred-me Set predictive motion estimation level(-1: default, [0-5])
|
||||
--bipred-3x3 Set bipred3x3 injection (0: OFF, 1: ON FULL, 2: Reduced set, -1: DEFAULT)
|
||||
--compound Enable compound mode(0: OFF, 1:ON[AVG/DIST/DIFF], 2: ON[AVG/DIST/DIFF/WEDGE], -1: default)
|
||||
--use-default-me-hme Use default motion estimation/hierarchical motion estimation settings(0: OFF, 1: ON[default])
|
||||
--hme Enable hierarchical motion estimation(0: OFF, 1: ON)
|
||||
--hme-l0 Enable hierarchical motion estimation Level 0 (0: OFF, 1: ON)
|
||||
--hme-l1 Enable hierarchical motion estimation Level 1 (0: OFF, 1: ON)
|
||||
--hme-l2 Enable hierarchical motion estimation Level 2 (0: OFF, 1: ON)
|
||||
--ext-block Enable the rectangular and asymetric block (0: OFF, 1: ON)
|
||||
--search-w Set search area in width[1-256]
|
||||
--search-h Set search area in height[1-256]
|
||||
--scm Set screen content detection level([0-2], 2 Content adaptive decision: DEFAULT)
|
||||
--intrabc-mode Set intraBC mode (0: OFF, 1: ON slow, 2: ON faster, 3: ON fastest, -1: DEFAULT)
|
||||
--hbd-md Enable high bit depth mode decision(0: OFF, 1: ON partially[default],2: fully ON)
|
||||
--palette-level Set palette prediction mode(-1: default or [0-6])
|
||||
--umv Allow motion vectors to reach outside of the picture boundary(O: OFF, 1: ON[default])
|
||||
--film-grain Enable film grain(0: OFF[default], 1-50: ON, film-grain denoising strength)
|
||||
--tf-level Set altref level(-1: Default; 0: OFF; 1: ON)
|
||||
--enable-overlays Enable the insertion of an extra picture called overlayer picture which will be used as an extra reference frame for the base-layer picture(0: OFF[default], 1: ON)
|
||||
--enable-intra-angle-delta Enable intra angle delta filtering filtering (0: OFF, 1: ON, -1: DEFAULT)
|
||||
|
||||
Color Description Options:
|
||||
--color-primaries Color primaries (2: DEFAULT)
|
||||
--transfer-characteristics Transfer characteristics (2: DEFAULT)
|
||||
--matrix-coefficients Matrix coefficients (2: DEFAULT)
|
||||
--color-range Color range, 0: Studio (default), 1: Full
|
119
av1an-core/tests/svt_av1_params.txt
Normal file
119
av1an-core/tests/svt_av1_params.txt
Normal file
|
@ -0,0 +1,119 @@
|
|||
--use-q-file
|
||||
--enable-overlays
|
||||
--errlog
|
||||
-h
|
||||
--matrix-coefficients
|
||||
--qpfile
|
||||
--disable-dlf
|
||||
--compound
|
||||
--umv
|
||||
--obmc-level
|
||||
--fps-num
|
||||
--maxsection-pct
|
||||
--width
|
||||
--undershoot-pct
|
||||
--enable-mfmv
|
||||
--pred-me
|
||||
--tile-columns
|
||||
--hme
|
||||
--wn-filter-mode
|
||||
--preset
|
||||
--cdef-level
|
||||
--compressed-ten-bit-format
|
||||
-lad
|
||||
--enable-spatial-sse-full-loop-level
|
||||
--nb
|
||||
--sg-filter-mode
|
||||
--enable-new-nrst-near-comb
|
||||
--color-range
|
||||
--hme-l1
|
||||
--palette-level
|
||||
--unpin
|
||||
-q
|
||||
-b
|
||||
--adaptive-quantization
|
||||
--pass
|
||||
--enable-restoration-filtering
|
||||
--bipred-3x3
|
||||
--vbv-bufsize
|
||||
--mrp-level
|
||||
--enable-interintra-comp
|
||||
--inj-frm-rt
|
||||
--transfer-characteristics
|
||||
--fps
|
||||
--ext-block
|
||||
--enable-intra-edge-filter
|
||||
--enable-global-motion
|
||||
--hbd-md
|
||||
--tf-level
|
||||
--pred-struct
|
||||
--input-depth
|
||||
--qp
|
||||
--enable-nsq-table-use
|
||||
--recon
|
||||
--hme-l0
|
||||
--inj
|
||||
--filter-intra-level
|
||||
--enable-smooth
|
||||
--frames
|
||||
--height
|
||||
--stats
|
||||
--help
|
||||
--enable-tpl-la
|
||||
--search-w
|
||||
--stat-file
|
||||
--min-qp
|
||||
--irefresh-type
|
||||
--use-default-me-hme
|
||||
--progress
|
||||
--output
|
||||
-n
|
||||
--lp
|
||||
--fps-denom
|
||||
--chroma-qindex-offsets
|
||||
--color-primaries
|
||||
--enable-intra-angle-delta
|
||||
--input
|
||||
--hierarchical-levels
|
||||
--disable-cfl
|
||||
--enable-pic-based-rate-est
|
||||
--enable-over-bndry-blk
|
||||
-1
|
||||
--recode-loop
|
||||
--scm
|
||||
--intrabc-mode
|
||||
--key-frame-chroma-qindex-offset
|
||||
--enable-stat-report
|
||||
--tile-rows
|
||||
-o
|
||||
--film-grain
|
||||
--chroma-mode
|
||||
--enable-framend-cdf-upd-mode
|
||||
--rdoq-level
|
||||
--passes
|
||||
--profile
|
||||
--key-frame-qindex-offset
|
||||
--color-format
|
||||
--no-progress
|
||||
--use-fixed-qindex-offsets
|
||||
--max-qp
|
||||
--enable-redundant-blk
|
||||
--ss
|
||||
--enable-local-warp
|
||||
--minsection-pct
|
||||
--tbr
|
||||
--search-h
|
||||
--enable-paeth
|
||||
--lookahead
|
||||
--intra-angle-delta
|
||||
--bias-pct
|
||||
--keyint
|
||||
-i
|
||||
--crf
|
||||
--hme-l2
|
||||
--rc
|
||||
--qindex-offsets
|
||||
--16bit-pipeline
|
||||
--overshoot-pct
|
||||
-w
|
||||
--asm
|
167
av1an-core/tests/vpx_help.txt
Normal file
167
av1an-core/tests/vpx_help.txt
Normal file
|
@ -0,0 +1,167 @@
|
|||
Usage: vpxenc <options> -o dst_filename src_filename
|
||||
|
||||
Options:
|
||||
--help Show usage options and exit
|
||||
-D, --debug Debug mode (makes output deterministic)
|
||||
-o <arg>, --output=<arg> Output filename
|
||||
--codec=<arg> Codec to use
|
||||
-p <arg>, --passes=<arg> Number of passes (1/2)
|
||||
--pass=<arg> Pass to execute (1/2)
|
||||
--fpf=<arg> First pass statistics file name
|
||||
--limit=<arg> Stop encoding after n input frames
|
||||
--skip=<arg> Skip the first n input frames
|
||||
-d <arg>, --deadline=<arg> Deadline per frame (usec)
|
||||
--best Use Best Quality Deadline
|
||||
--good Use Good Quality Deadline
|
||||
--rt Use Realtime Quality Deadline
|
||||
-q, --quiet Do not print encode progress
|
||||
-v, --verbose Show encoder parameters
|
||||
--psnr Show PSNR in status line
|
||||
--webm Output WebM (default when WebM IO is enabled)
|
||||
--ivf Output IVF
|
||||
-P, --output-partitions Makes encoder output partitions. Requires IVF output!
|
||||
--q-hist=<arg> Show quantizer histogram (n-buckets)
|
||||
--rate-hist=<arg> Show rate histogram (n-buckets)
|
||||
--disable-warnings Disable warnings about potentially incorrect encode settings.
|
||||
-y, --disable-warning-prompt Display warnings, but do not prompt user to continue.
|
||||
--test-decode=<arg> Test encode/decode mismatch
|
||||
off, fatal, warn
|
||||
|
||||
Encoder Global Options:
|
||||
--nv12 Input file is NV12
|
||||
--yv12 Input file is YV12
|
||||
--i420 Input file is I420 (default)
|
||||
--i422 Input file is I422
|
||||
--i444 Input file is I444
|
||||
--i440 Input file is I440
|
||||
-u <arg>, --usage=<arg> Usage profile number to use
|
||||
-t <arg>, --threads=<arg> Max number of threads to use
|
||||
--profile=<arg> Bitstream profile number to use
|
||||
-w <arg>, --width=<arg> Frame width
|
||||
-h <arg>, --height=<arg> Frame height
|
||||
--stereo-mode=<arg> Stereo 3D video format
|
||||
mono, left-right, bottom-top, top-bottom, right-left
|
||||
--timebase=<arg> Output timestamp precision (fractional seconds)
|
||||
--fps=<arg> Stream frame rate (rate/scale)
|
||||
--error-resilient=<arg> Enable error resiliency features
|
||||
--test-16bit-internal Force use of 16 bit internal buffer
|
||||
--lag-in-frames=<arg> Max number of frames to lag
|
||||
|
||||
Rate Control Options:
|
||||
--drop-frame=<arg> Temporal resampling threshold (buf %)
|
||||
--resize-allowed=<arg> Spatial resampling enabled (bool)
|
||||
--resize-width=<arg> Width of encoded frame
|
||||
--resize-height=<arg> Height of encoded frame
|
||||
--resize-up=<arg> Upscale threshold (buf %)
|
||||
--resize-down=<arg> Downscale threshold (buf %)
|
||||
--end-usage=<arg> Rate control mode
|
||||
vbr, cbr, cq, q
|
||||
--target-bitrate=<arg> Bitrate (kbps)
|
||||
--min-q=<arg> Minimum (best) quantizer
|
||||
--max-q=<arg> Maximum (worst) quantizer
|
||||
--undershoot-pct=<arg> Datarate undershoot (min) target (%)
|
||||
--overshoot-pct=<arg> Datarate overshoot (max) target (%)
|
||||
--buf-sz=<arg> Client buffer size (ms)
|
||||
--buf-initial-sz=<arg> Client initial buffer size (ms)
|
||||
--buf-optimal-sz=<arg> Client optimal buffer size (ms)
|
||||
|
||||
Twopass Rate Control Options:
|
||||
--bias-pct=<arg> CBR/VBR bias (0=CBR, 100=VBR)
|
||||
--minsection-pct=<arg> GOP min bitrate (% of target)
|
||||
--maxsection-pct=<arg> GOP max bitrate (% of target)
|
||||
--corpus-complexity=<arg> corpus vbr complexity midpoint
|
||||
|
||||
Keyframe Placement Options:
|
||||
--kf-min-dist=<arg> Minimum keyframe interval (frames)
|
||||
--kf-max-dist=<arg> Maximum keyframe interval (frames)
|
||||
--disable-kf Disable keyframe placement
|
||||
|
||||
VP8 Specific Options:
|
||||
--cpu-used=<arg> CPU Used (-16..16)
|
||||
--auto-alt-ref=<arg> Enable automatic alt reference frames. (0..1)
|
||||
--noise-sensitivity=<arg> Noise sensitivity (frames to blur)
|
||||
--sharpness=<arg> Increase sharpness at the expense of lower PSNR. (0..7)
|
||||
--static-thresh=<arg> Motion detection threshold
|
||||
--token-parts=<arg> Number of token partitions to use, log2
|
||||
--arnr-maxframes=<arg> AltRef max frames (0..15)
|
||||
--arnr-strength=<arg> AltRef filter strength (0..6)
|
||||
--arnr-type=<arg> AltRef filter type (1..3)
|
||||
--tune=<arg> Material to favor
|
||||
psnr, ssim
|
||||
--cq-level=<arg> Constant/Constrained Quality level
|
||||
--max-intra-rate=<arg> Max I-frame bitrate (pct)
|
||||
--gf-cbr-boost=<arg> Boost for Golden Frame in CBR mode (pct)
|
||||
--screen-content-mode=<arg Screen content mode
|
||||
|
||||
VP9 Specific Options:
|
||||
--cpu-used=<arg> CPU Used (-9..9)
|
||||
--auto-alt-ref=<arg> Enable automatic alt reference frames, 2+ enables multi-layer. (0..6)
|
||||
--sharpness=<arg> Increase sharpness at the expense of lower PSNR. (0..7)
|
||||
--static-thresh=<arg> Motion detection threshold
|
||||
--tile-columns=<arg> Number of tile columns to use, log2
|
||||
--tile-rows=<arg> Number of tile rows to use, log2 (set to 0 while threads > 1)
|
||||
--enable-tpl=<arg> Enable temporal dependency model
|
||||
--arnr-maxframes=<arg> AltRef max frames (0..15)
|
||||
--arnr-strength=<arg> AltRef filter strength (0..6)
|
||||
--arnr-type=<arg> AltRef filter type (1..3)
|
||||
--tune=<arg> Material to favor
|
||||
psnr, ssim
|
||||
--cq-level=<arg> Constant/Constrained Quality level
|
||||
--max-intra-rate=<arg> Max I-frame bitrate (pct)
|
||||
--max-inter-rate=<arg> Max P-frame bitrate (pct)
|
||||
--gf-cbr-boost=<arg> Boost for Golden Frame in CBR mode (pct)
|
||||
--lossless=<arg> Lossless mode (0: false (default), 1: true)
|
||||
--frame-parallel=<arg> Enable frame parallel decodability features
|
||||
--aq-mode=<arg> Adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh, 4: equator360)
|
||||
--alt-ref-aq=<arg> Special adaptive quantization for the alternate reference frames.
|
||||
--frame-boost=<arg> Enable frame periodic boost (0: off (default), 1: on)
|
||||
--noise-sensitivity=<arg> Noise sensitivity (frames to blur)
|
||||
--tune-content=<arg> Tune content type
|
||||
default, screen, film
|
||||
--color-space=<arg> The color space of input content:
|
||||
unknown, bt601, bt709, smpte170, smpte240, bt2020, reserved, sRGB
|
||||
--min-gf-interval=<arg> min gf/arf frame interval (default 0, indicating in-built behavior)
|
||||
--max-gf-interval=<arg> max gf/arf frame interval (default 0, indicating in-built behavior)
|
||||
--target-level=<arg> Target level
|
||||
255: off (default)
|
||||
0: only keep level stats
|
||||
1: adaptively set alt-ref distance and column tile limit based on picture size, and keep level stats
|
||||
10: level 1.0 11: level 1.1 ... 62: level 6.2
|
||||
--row-mt=<arg> Enable row based non-deterministic multi-threading in VP9
|
||||
--disable-loopfilter=<arg> Control Loopfilter in VP9
|
||||
0: Loopfilter on for all frames (default)
|
||||
1: Loopfilter off for non reference frames
|
||||
2: Loopfilter off for all frames
|
||||
-b <arg>, --bit-depth=<arg> Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
|
||||
8, 10, 12
|
||||
--input-bit-depth=<arg> Bit depth of input
|
||||
|
||||
Vizier Rate Control Options:
|
||||
--use-vizier-rc-params=<ar Use vizier rc params
|
||||
--active-wq-factor=<arg> Active worst quality factor
|
||||
--err-per-mb-factor=<arg> Error per macroblock factor
|
||||
--sr-default-decay-limit=< Second reference default decay limit
|
||||
--sr-diff-factor=<arg> Second reference diff factor
|
||||
--kf-err-per-mb-factor=<ar Keyframe error per macroblock factor
|
||||
--kf-frame-min-boost-facto Keyframe min boost
|
||||
--kf-frame-max-boost-first Max keyframe boost adjustment factor for first frame
|
||||
--kf-frame-max-boost-subs- Max boost adjustment factor for subsequent KFs
|
||||
--kf-max-total-boost-facto Keyframe max total boost factor
|
||||
--gf-max-total-boost-facto Golden frame max total boost factor
|
||||
--gf-frame-max-boost-facto Golden frame max per frame boost factor
|
||||
--zm-factor=<arg> Zero motion power factor
|
||||
--rd-mult-inter-qp-fac=<ar RD multiplier adjustment for inter frames
|
||||
--rd-mult-arf-qp-fac=<arg> RD multiplier adjustment for alt-ref frames
|
||||
--rd-mult-key-qp-fac=<arg> RD multiplier adjustment for key frames
|
||||
|
||||
Stream timebase (--timebase):
|
||||
The desired precision of timestamps in the output, expressed
|
||||
in fractional seconds. Default is 1/1000.
|
||||
|
||||
Included encoders:
|
||||
|
||||
vp8 - WebM Project VP8 Encoder v1.11.0
|
||||
vp9 - WebM Project VP9 Encoder v1.11.0 (default)
|
||||
|
||||
Use --codec to switch to a non-default encoder.
|
||||
|
124
av1an-core/tests/vpx_params.txt
Normal file
124
av1an-core/tests/vpx_params.txt
Normal file
|
@ -0,0 +1,124 @@
|
|||
-d
|
||||
--buf-optimal-sz
|
||||
--zm-factor
|
||||
--passes
|
||||
--kf-frame-min-boost-facto
|
||||
--deadline
|
||||
--enable-tpl
|
||||
--err-per-mb-factor
|
||||
--use-vizier-rc-params
|
||||
--resize-down
|
||||
--tile-columns
|
||||
--lag-in-frames
|
||||
--rt
|
||||
--target-bitrate
|
||||
-q
|
||||
--cpu-used
|
||||
--rd-mult-key-qp-fac
|
||||
--verbose
|
||||
--help
|
||||
--kf-err-per-mb-factor
|
||||
-h
|
||||
--output
|
||||
--resize-allowed
|
||||
--timebase
|
||||
--maxsection-pct
|
||||
--kf-min-dist
|
||||
--cq-level
|
||||
--static-thresh
|
||||
-t
|
||||
--token-parts
|
||||
--best
|
||||
--arnr-type
|
||||
--frame-boost
|
||||
--gf-frame-max-boost-facto
|
||||
--sr-diff-factor
|
||||
-o
|
||||
--frame-parallel
|
||||
--rd-mult-arf-qp-fac
|
||||
--kf-max-total-boost-facto
|
||||
--codec
|
||||
--error-resilient
|
||||
--max-intra-rate
|
||||
--disable-loopfilter
|
||||
--auto-alt-ref
|
||||
--kf-frame-max-boost-subs
|
||||
--resize-width
|
||||
--sr-default-decay-limit
|
||||
--max-gf-interval
|
||||
--aq-mode
|
||||
--skip
|
||||
--width
|
||||
--tile-rows
|
||||
-D
|
||||
--max-inter-rate
|
||||
--row-mt
|
||||
--test-decode
|
||||
--arnr-maxframes
|
||||
--min-q
|
||||
--i420
|
||||
--lossless
|
||||
--max-q
|
||||
--input-bit-depth
|
||||
--overshoot-pct
|
||||
--target-level
|
||||
--arnr-strength
|
||||
--i422
|
||||
-w
|
||||
--threads
|
||||
--good
|
||||
--resize-height
|
||||
--quiet
|
||||
--sharpness
|
||||
--test-16bit-internal
|
||||
--q-hist
|
||||
--output-partitions
|
||||
--debug
|
||||
-P
|
||||
--profile
|
||||
--resize-up
|
||||
--rate-hist
|
||||
--buf-sz
|
||||
-v
|
||||
--disable-kf
|
||||
-u
|
||||
--screen-content-mode
|
||||
--height
|
||||
--i444
|
||||
--minsection-pct
|
||||
--color-space
|
||||
--yv12
|
||||
--corpus-complexity
|
||||
--gf-cbr-boost
|
||||
--active-wq-factor
|
||||
--nv12
|
||||
--noise-sensitivity
|
||||
--pass
|
||||
--fpf
|
||||
--bit-depth
|
||||
--rd-mult-inter-qp-fac
|
||||
--psnr
|
||||
-y
|
||||
--stereo-mode
|
||||
--end-usage
|
||||
--tune
|
||||
-b
|
||||
--usage
|
||||
--i440
|
||||
--limit
|
||||
--alt-ref-aq
|
||||
--kf-frame-max-boost-first
|
||||
-p
|
||||
--drop-frame
|
||||
--tune-content
|
||||
--disable-warning-prompt
|
||||
--min-gf-interval
|
||||
--fps
|
||||
--disable-warnings
|
||||
--kf-max-dist
|
||||
--buf-initial-sz
|
||||
--webm
|
||||
--gf-max-total-boost-facto
|
||||
--undershoot-pct
|
||||
--ivf
|
||||
--bias-pct
|
515
av1an-core/tests/x264_help.txt
Normal file
515
av1an-core/tests/x264_help.txt
Normal file
|
@ -0,0 +1,515 @@
|
|||
x264 core:163 r3060 5db6aa6
|
||||
Syntax: x264 [options] -o outfile infile
|
||||
|
||||
Infile can be raw (in which case resolution is required),
|
||||
or YUV4MPEG (*.y4m),
|
||||
or Avisynth if compiled with support (no).
|
||||
or libav* formats if compiled with lavf support (no) or ffms support (no).
|
||||
Outfile type is selected by filename:
|
||||
.264 -> Raw bytestream
|
||||
.mkv -> Matroska
|
||||
.flv -> Flash Video
|
||||
.mp4 -> MP4 if compiled with GPAC or L-SMASH support (lsmash)
|
||||
Output bit depth: 8/10
|
||||
.
|
||||
Options:
|
||||
|
||||
-h, --help List basic options
|
||||
--longhelp List more options
|
||||
--fullhelp List all options
|
||||
|
||||
Example usage:
|
||||
|
||||
Constant quality mode:
|
||||
x264 --crf 24 -o <output> <input>
|
||||
|
||||
Two-pass with a bitrate of 1000kbps:
|
||||
x264 --pass 1 --bitrate 1000 -o <output> <input>
|
||||
x264 --pass 2 --bitrate 1000 -o <output> <input>
|
||||
|
||||
Lossless:
|
||||
x264 --qp 0 -o <output> <input>
|
||||
|
||||
Maximum PSNR at the cost of speed and visual quality:
|
||||
x264 --preset placebo --tune psnr -o <output> <input>
|
||||
|
||||
Constant bitrate at 1000kbps with a 2 second-buffer:
|
||||
x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input>
|
||||
|
||||
Presets:
|
||||
|
||||
--profile <string> Force the limits of an H.264 profile
|
||||
Overrides all settings.
|
||||
- baseline, main, high, high10, high422, high444
|
||||
--preset <string> Use a preset to select encoding settings [medium]
|
||||
Overridden by user settings.
|
||||
- ultrafast,superfast,veryfast,faster,fast
|
||||
- medium,slow,slower,veryslow,placebo
|
||||
--tune <string> Tune the settings for a particular type of source
|
||||
or situation
|
||||
Overridden by user settings.
|
||||
Multiple tunings are separated by commas.
|
||||
Only one psy tuning can be used at a time.
|
||||
- psy tunings: film,animation,grain,
|
||||
stillimage,psnr,ssim
|
||||
- other tunings: fastdecode,zerolatency
|
||||
|
||||
Frame-type options:
|
||||
|
||||
-I, --keyint <integer or "infinite"> Maximum GOP size [250]
|
||||
--tff Enable interlaced mode (top field first)
|
||||
--bff Enable interlaced mode (bottom field first)
|
||||
--pulldown <string> Use soft pulldown to change frame rate
|
||||
- none, 22, 32, 64, double, triple, euro (requires cfr input)
|
||||
|
||||
Ratecontrol:
|
||||
|
||||
-B, --bitrate <integer> Set bitrate (kbit/s)
|
||||
--crf <float> Quality-based VBR (-12-51) [23.0]
|
||||
--vbv-maxrate <integer> Max local bitrate (kbit/s) [0]
|
||||
--vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]
|
||||
-p, --pass <integer> Enable multipass ratecontrol
|
||||
- 1: First pass, creates stats file
|
||||
- 2: Last pass, does not overwrite stats file
|
||||
|
||||
Input/Output:
|
||||
|
||||
-o, --output <string> Specify output file
|
||||
--sar width:height Specify Sample Aspect Ratio
|
||||
--fps <float|rational> Specify framerate
|
||||
--seek <integer> First frame to encode
|
||||
--frames <integer> Maximum number of frames to encode
|
||||
--level <string> Specify level (as defined by Annex A)
|
||||
--quiet Quiet Mode
|
||||
|
||||
Filtering:
|
||||
|
||||
--vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file
|
||||
|
||||
Filter options may be specified in <filter>:<option>=<value> format.
|
||||
|
||||
Available filters:
|
||||
crop:left,top,right,bottom
|
||||
select_every:step,offset1[,...]
|
||||
|
||||
redzic@threadripper ~> x264 --fullhelp
|
||||
x264 core:163 r3060 5db6aa6
|
||||
Syntax: x264 [options] -o outfile infile
|
||||
|
||||
Infile can be raw (in which case resolution is required),
|
||||
or YUV4MPEG (*.y4m),
|
||||
or Avisynth if compiled with support (no).
|
||||
or libav* formats if compiled with lavf support (no) or ffms support (no).
|
||||
Outfile type is selected by filename:
|
||||
.264 -> Raw bytestream
|
||||
.mkv -> Matroska
|
||||
.flv -> Flash Video
|
||||
.mp4 -> MP4 if compiled with GPAC or L-SMASH support (lsmash)
|
||||
Output bit depth: 8/10
|
||||
.
|
||||
Options:
|
||||
|
||||
-h, --help List basic options
|
||||
--longhelp List more options
|
||||
--fullhelp List all options
|
||||
|
||||
Example usage:
|
||||
|
||||
Constant quality mode:
|
||||
x264 --crf 24 -o <output> <input>
|
||||
|
||||
Two-pass with a bitrate of 1000kbps:
|
||||
x264 --pass 1 --bitrate 1000 -o <output> <input>
|
||||
x264 --pass 2 --bitrate 1000 -o <output> <input>
|
||||
|
||||
Lossless:
|
||||
x264 --qp 0 -o <output> <input>
|
||||
|
||||
Maximum PSNR at the cost of speed and visual quality:
|
||||
x264 --preset placebo --tune psnr -o <output> <input>
|
||||
|
||||
Constant bitrate at 1000kbps with a 2 second-buffer:
|
||||
x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input>
|
||||
|
||||
Presets:
|
||||
|
||||
--profile <string> Force the limits of an H.264 profile
|
||||
Overrides all settings.
|
||||
- baseline:
|
||||
--no-8x8dct --bframes 0 --no-cabac
|
||||
--cqm flat --weightp 0
|
||||
No interlaced.
|
||||
No lossless.
|
||||
- main:
|
||||
--no-8x8dct --cqm flat
|
||||
No lossless.
|
||||
- high:
|
||||
No lossless.
|
||||
- high10:
|
||||
No lossless.
|
||||
Support for bit depth 8-10.
|
||||
- high422:
|
||||
No lossless.
|
||||
Support for bit depth 8-10.
|
||||
Support for 4:2:0/4:2:2 chroma subsampling.
|
||||
- high444:
|
||||
Support for bit depth 8-10.
|
||||
Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.
|
||||
--preset <string> Use a preset to select encoding settings [medium]
|
||||
Overridden by user settings.
|
||||
- ultrafast:
|
||||
--no-8x8dct --aq-mode 0 --b-adapt 0
|
||||
--bframes 0 --no-cabac --no-deblock
|
||||
--no-mbtree --me dia --no-mixed-refs
|
||||
--partitions none --rc-lookahead 0 --ref 1
|
||||
--scenecut 0 --subme 0 --trellis 0
|
||||
--no-weightb --weightp 0
|
||||
- superfast:
|
||||
--no-mbtree --me dia --no-mixed-refs
|
||||
--partitions i8x8,i4x4 --rc-lookahead 0
|
||||
--ref 1 --subme 1 --trellis 0 --weightp 1
|
||||
- veryfast:
|
||||
--no-mixed-refs --rc-lookahead 10
|
||||
--ref 1 --subme 2 --trellis 0 --weightp 1
|
||||
- faster:
|
||||
--no-mixed-refs --rc-lookahead 20
|
||||
--ref 2 --subme 4 --weightp 1
|
||||
- fast:
|
||||
--rc-lookahead 30 --ref 2 --subme 6
|
||||
--weightp 1
|
||||
- medium:
|
||||
Default settings apply.
|
||||
- slow:
|
||||
--direct auto --rc-lookahead 50 --ref 5
|
||||
--subme 8 --trellis 2
|
||||
- slower:
|
||||
--b-adapt 2 --direct auto --me umh
|
||||
--partitions all --rc-lookahead 60
|
||||
--ref 8 --subme 9 --trellis 2
|
||||
- veryslow:
|
||||
--b-adapt 2 --bframes 8 --direct auto
|
||||
--me umh --merange 24 --partitions all
|
||||
--ref 16 --subme 10 --trellis 2
|
||||
--rc-lookahead 60
|
||||
- placebo:
|
||||
--bframes 16 --b-adapt 2 --direct auto
|
||||
--slow-firstpass --no-fast-pskip
|
||||
--me tesa --merange 24 --partitions all
|
||||
--rc-lookahead 60 --ref 16 --subme 11
|
||||
--trellis 2
|
||||
--tune <string> Tune the settings for a particular type of source
|
||||
or situation
|
||||
Overridden by user settings.
|
||||
Multiple tunings are separated by commas.
|
||||
Only one psy tuning can be used at a time.
|
||||
- film (psy tuning):
|
||||
--deblock -1:-1 --psy-rd <unset>:0.15
|
||||
- animation (psy tuning):
|
||||
--bframes {+2} --deblock 1:1
|
||||
--psy-rd 0.4:<unset> --aq-strength 0.6
|
||||
--ref {Double if >1 else 1}
|
||||
- grain (psy tuning):
|
||||
--aq-strength 0.5 --no-dct-decimate
|
||||
--deadzone-inter 6 --deadzone-intra 6
|
||||
--deblock -2:-2 --ipratio 1.1
|
||||
--pbratio 1.1 --psy-rd <unset>:0.25
|
||||
--qcomp 0.8
|
||||
- stillimage (psy tuning):
|
||||
--aq-strength 1.2 --deblock -3:-3
|
||||
--psy-rd 2.0:0.7
|
||||
- psnr (psy tuning):
|
||||
--aq-mode 0 --no-psy
|
||||
- ssim (psy tuning):
|
||||
--aq-mode 2 --no-psy
|
||||
- fastdecode:
|
||||
--no-cabac --no-deblock --no-weightb
|
||||
--weightp 0
|
||||
- zerolatency:
|
||||
--bframes 0 --force-cfr --no-mbtree
|
||||
--sync-lookahead 0 --sliced-threads
|
||||
--rc-lookahead 0
|
||||
--slow-firstpass Don't force these faster settings with --pass 1:
|
||||
--no-8x8dct --me dia --partitions none
|
||||
--ref 1 --subme {2 if >2 else unchanged}
|
||||
--trellis 0 --fast-pskip
|
||||
|
||||
Frame-type options:
|
||||
|
||||
-I, --keyint <integer or "infinite"> Maximum GOP size [250]
|
||||
-i, --min-keyint <integer> Minimum GOP size [auto]
|
||||
--no-scenecut Disable adaptive I-frame decision
|
||||
--scenecut <integer> How aggressively to insert extra I-frames [40]
|
||||
--intra-refresh Use Periodic Intra Refresh instead of IDR frames
|
||||
-b, --bframes <integer> Number of B-frames between I and P [3]
|
||||
--b-adapt <integer> Adaptive B-frame decision method [1]
|
||||
Higher values may lower threading efficiency.
|
||||
- 0: Disabled
|
||||
- 1: Fast
|
||||
- 2: Optimal (slow with high --bframes)
|
||||
--b-bias <integer> Influences how often B-frames are used [0]
|
||||
--b-pyramid <string> Keep some B-frames as references [normal]
|
||||
- none: Disabled
|
||||
- strict: Strictly hierarchical pyramid
|
||||
- normal: Non-strict (not Blu-ray compatible)
|
||||
--open-gop Use recovery points to close GOPs
|
||||
Only available with b-frames
|
||||
--no-cabac Disable CABAC
|
||||
-r, --ref <integer> Number of reference frames [3]
|
||||
--no-deblock Disable loop filter
|
||||
-f, --deblock <alpha:beta> Loop filter parameters [0:0]
|
||||
--slices <integer> Number of slices per frame; forces rectangular
|
||||
slices and is overridden by other slicing options
|
||||
--slices-max <integer> Absolute maximum slices per frame; overrides
|
||||
slice-max-size/slice-max-mbs when necessary
|
||||
--slice-max-size <integer> Limit the size of each slice in bytes
|
||||
--slice-max-mbs <integer> Limit the size of each slice in macroblocks (max)
|
||||
--slice-min-mbs <integer> Limit the size of each slice in macroblocks (min)
|
||||
--tff Enable interlaced mode (top field first)
|
||||
--bff Enable interlaced mode (bottom field first)
|
||||
--constrained-intra Enable constrained intra prediction.
|
||||
--pulldown <string> Use soft pulldown to change frame rate
|
||||
- none, 22, 32, 64, double, triple, euro (requires cfr input)
|
||||
--fake-interlaced Flag stream as interlaced but encode progressive.
|
||||
Makes it possible to encode 25p and 30p Blu-Ray
|
||||
streams. Ignored in interlaced mode.
|
||||
--frame-packing <integer> For stereoscopic videos define frame arrangement
|
||||
- 0: checkerboard - pixels are alternatively from L and R
|
||||
- 1: column alternation - L and R are interlaced by column
|
||||
- 2: row alternation - L and R are interlaced by row
|
||||
- 3: side by side - L is on the left, R on the right
|
||||
- 4: top bottom - L is on top, R on bottom
|
||||
- 5: frame alternation - one view per frame
|
||||
- 6: mono - 2D frame without any frame packing
|
||||
- 7: tile format - L is on top-left, R split across
|
||||
|
||||
Ratecontrol:
|
||||
|
||||
-q, --qp <integer> Force constant QP (0-81, 0=lossless)
|
||||
-B, --bitrate <integer> Set bitrate (kbit/s)
|
||||
--crf <float> Quality-based VBR (-12-51) [23.0]
|
||||
--rc-lookahead <integer> Number of frames for frametype lookahead [40]
|
||||
--vbv-maxrate <integer> Max local bitrate (kbit/s) [0]
|
||||
--vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]
|
||||
--vbv-init <float> Initial VBV buffer occupancy [0.9]
|
||||
--crf-max <float> With CRF+VBV, limit RF to this value
|
||||
May cause VBV underflows!
|
||||
--qpmin <integer> Set min QP [0]
|
||||
--qpmax <integer> Set max QP [81]
|
||||
--qpstep <integer> Set max QP step [4]
|
||||
--ratetol <float> Tolerance of ABR ratecontrol and VBV [1.0]
|
||||
--ipratio <float> QP factor between I and P [1.40]
|
||||
--pbratio <float> QP factor between P and B [1.30]
|
||||
--chroma-qp-offset <integer> QP difference between chroma and luma [0]
|
||||
--aq-mode <integer> AQ method [1]
|
||||
- 0: Disabled
|
||||
- 1: Variance AQ (complexity mask)
|
||||
- 2: Auto-variance AQ
|
||||
- 3: Auto-variance AQ with bias to dark scenes
|
||||
--aq-strength <float> Reduces blocking and blurring in flat and
|
||||
textured areas. [1.0]
|
||||
|
||||
-p, --pass <integer> Enable multipass ratecontrol
|
||||
- 1: First pass, creates stats file
|
||||
- 2: Last pass, does not overwrite stats file
|
||||
- 3: Nth pass, overwrites stats file
|
||||
--stats <string> Filename for 2 pass stats ["x264_2pass.log"]
|
||||
--no-mbtree Disable mb-tree ratecontrol.
|
||||
--qcomp <float> QP curve compression [0.60]
|
||||
--cplxblur <float> Reduce fluctuations in QP (before curve compression) [20.0]
|
||||
--qblur <float> Reduce fluctuations in QP (after curve compression) [0.5]
|
||||
--zones <zone0>/<zone1>/... Tweak the bitrate of regions of the video
|
||||
Each zone is of the form
|
||||
<start frame>,<end frame>,<option>
|
||||
where <option> is either
|
||||
q=<integer> (force QP)
|
||||
or b=<float> (bitrate multiplier)
|
||||
--qpfile <string> Force frametypes and QPs for some or all frames
|
||||
Format of each line: framenumber frametype QP
|
||||
QP is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.
|
||||
K=<I or i> depending on open-gop setting
|
||||
QPs are restricted by qpmin/qpmax.
|
||||
|
||||
Analysis:
|
||||
|
||||
-A, --partitions <string> Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]
|
||||
- p8x8, p4x4, b8x8, i8x8, i4x4, none, all
|
||||
(p4x4 requires p8x8. i8x8 requires --8x8dct.)
|
||||
--direct <string> Direct MV prediction mode ["spatial"]
|
||||
- none, spatial, temporal, auto
|
||||
--no-weightb Disable weighted prediction for B-frames
|
||||
--weightp <integer> Weighted prediction for P-frames [2]
|
||||
- 0: Disabled
|
||||
- 1: Weighted refs
|
||||
- 2: Weighted refs + Duplicates
|
||||
--me <string> Integer pixel motion estimation method ["hex"]
|
||||
- dia: diamond search, radius 1 (fast)
|
||||
- hex: hexagonal search, radius 2
|
||||
- umh: uneven multi-hexagon search
|
||||
- esa: exhaustive search
|
||||
- tesa: hadamard exhaustive search (slow)
|
||||
--merange <integer> Maximum motion vector search range [16]
|
||||
--mvrange <integer> Maximum motion vector length [-1 (auto)]
|
||||
--mvrange-thread <int> Minimum buffer between threads [-1 (auto)]
|
||||
-m, --subme <integer> Subpixel motion estimation and mode decision [7]
|
||||
- 0: fullpel only (not recommended)
|
||||
- 1: SAD mode decision, one qpel iteration
|
||||
- 2: SATD mode decision
|
||||
- 3-5: Progressively more qpel
|
||||
- 6: RD mode decision for I/P-frames
|
||||
- 7: RD mode decision for all frames
|
||||
- 8: RD refinement for I/P-frames
|
||||
- 9: RD refinement for all frames
|
||||
- 10: QP-RD - requires trellis=2, aq-mode>0
|
||||
- 11: Full RD: disable all early terminations
|
||||
--psy-rd <float:float> Strength of psychovisual optimization ["1.0:0.0"]
|
||||
#1: RD (requires subme>=6)
|
||||
#2: Trellis (requires trellis, experimental)
|
||||
--no-psy Disable all visual optimizations that worsen
|
||||
both PSNR and SSIM.
|
||||
--no-mixed-refs Don't decide references on a per partition basis
|
||||
--no-chroma-me Ignore chroma in motion estimation
|
||||
--no-8x8dct Disable adaptive spatial transform size
|
||||
-t, --trellis <integer> Trellis RD quantization. [1]
|
||||
- 0: disabled
|
||||
- 1: enabled only on the final encode of a MB
|
||||
- 2: enabled on all mode decisions
|
||||
--no-fast-pskip Disables early SKIP detection on P-frames
|
||||
--no-dct-decimate Disables coefficient thresholding on P-frames
|
||||
--nr <integer> Noise reduction [0]
|
||||
|
||||
--deadzone-inter <int> Set the size of the inter luma quantization deadzone [21]
|
||||
--deadzone-intra <int> Set the size of the intra luma quantization deadzone [11]
|
||||
Deadzones should be in the range 0 - 32.
|
||||
--cqm <string> Preset quant matrices ["flat"]
|
||||
- flat, jvt
|
||||
--cqmfile <string> Read custom quant matrices from a JM-compatible file
|
||||
Overrides any other --cqm* options.
|
||||
--cqm4 <list> Set all 4x4 quant matrices
|
||||
Takes a comma-separated list of 16 integers.
|
||||
--cqm8 <list> Set all 8x8 quant matrices
|
||||
Takes a comma-separated list of 64 integers.
|
||||
--cqm4i, --cqm4p, --cqm8i, --cqm8p <list>
|
||||
Set both luma and chroma quant matrices
|
||||
--cqm4iy, --cqm4ic, --cqm4py, --cqm4pc <list>
|
||||
Set individual quant matrices
|
||||
|
||||
Video Usability Info (Annex E):
|
||||
The VUI settings are not used by the encoder but are merely suggestions to
|
||||
the playback equipment. See doc/vui.txt for details. Use at your own risk.
|
||||
|
||||
--overscan <string> Specify crop overscan setting ["undef"]
|
||||
- undef, show, crop
|
||||
--videoformat <string> Specify video format ["undef"]
|
||||
- component, pal, ntsc, secam, mac, undef
|
||||
--range <string> Specify color range ["auto"]
|
||||
- auto, tv, pc
|
||||
--colorprim <string> Specify color primaries ["undef"]
|
||||
- undef, bt709, bt470m, bt470bg, smpte170m,
|
||||
smpte240m, film, bt2020, smpte428,
|
||||
smpte431, smpte432
|
||||
--transfer <string> Specify transfer characteristics ["undef"]
|
||||
- undef, bt709, bt470m, bt470bg, smpte170m,
|
||||
smpte240m, linear, log100, log316,
|
||||
iec61966-2-4, bt1361e, iec61966-2-1,
|
||||
bt2020-10, bt2020-12, smpte2084, smpte428,
|
||||
arib-std-b67
|
||||
--colormatrix <string> Specify color matrix setting ["???"]
|
||||
- undef, bt709, fcc, bt470bg, smpte170m,
|
||||
smpte240m, GBR, YCgCo, bt2020nc, bt2020c,
|
||||
smpte2085, chroma-derived-nc,
|
||||
chroma-derived-c, ICtCp
|
||||
--chromaloc <integer> Specify chroma sample location (0 to 5) [0]
|
||||
--mastering-display <string> Specify 'G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)'
|
||||
for primaries, white point, and display brightness
|
||||
--cll <string> Specify 'max_content,max_frame_average' content
|
||||
light levels
|
||||
--alternative-transfer <string> Specify an alternative transfer
|
||||
characteristics ["undef"]
|
||||
- same values as --transfer
|
||||
--nal-hrd <string> Signal HRD information (requires vbv-bufsize)
|
||||
- none, vbr, cbr (cbr not allowed in .mp4)
|
||||
--filler Force hard-CBR and generate filler (implied by
|
||||
--nal-hrd cbr)
|
||||
--pic-struct Force pic_struct in Picture Timing SEI
|
||||
--crop-rect <string> Add 'left,top,right,bottom' to the bitstream-level
|
||||
cropping rectangle
|
||||
|
||||
Input/Output:
|
||||
|
||||
-o, --output <string> Specify output file
|
||||
--muxer <string> Specify output container format ["auto"]
|
||||
- auto, raw, mkv, flv, mp4
|
||||
--demuxer <string> Specify input container format ["auto"]
|
||||
- auto, raw, y4m
|
||||
--input-fmt <string> Specify input file format (requires lavf support)
|
||||
--input-csp <string> Specify input colorspace format for raw input
|
||||
- valid csps for `raw' demuxer:
|
||||
i400, i420, yv12, nv12, nv21, i422, yv16, nv16,
|
||||
yuyv, uyvy, i444, yv24, bgr, bgra, rgb
|
||||
--output-csp <string> Specify output colorspace ["i420"]
|
||||
- i400, i420, i422, i444, rgb
|
||||
--input-depth <integer> Specify input bit depth for raw input
|
||||
--output-depth <integer> Specify output bit depth
|
||||
--input-range <string> Specify input color range ["auto"]
|
||||
- auto, tv, pc
|
||||
--input-res <intxint> Specify input resolution (width x height)
|
||||
--index <string> Filename for input index file
|
||||
--sar width:height Specify Sample Aspect Ratio
|
||||
--fps <float|rational> Specify framerate
|
||||
--seek <integer> First frame to encode
|
||||
--frames <integer> Maximum number of frames to encode
|
||||
--level <string> Specify level (as defined by Annex A)
|
||||
--bluray-compat Enable compatibility hacks for Blu-ray support
|
||||
--avcintra-class <integer> Use compatibility hacks for AVC-Intra class
|
||||
- 50, 100, 200
|
||||
--avcintra-flavor <string> AVC-Intra flavor ["panasonic"]
|
||||
- panasonic, sony
|
||||
--stitchable Don't optimize headers based on video content
|
||||
Ensures ability to recombine a segmented encode
|
||||
|
||||
-v, --verbose Print stats for each frame
|
||||
--no-progress Don't show the progress indicator while encoding
|
||||
--quiet Quiet Mode
|
||||
--log-level <string> Specify the maximum level of logging ["info"]
|
||||
- none, error, warning, info, debug
|
||||
--psnr Enable PSNR computation
|
||||
--ssim Enable SSIM computation
|
||||
--threads <integer> Force a specific number of threads
|
||||
--lookahead-threads <integer> Force a specific number of lookahead threads
|
||||
--sliced-threads Low-latency but lower-efficiency threading
|
||||
--thread-input Run Avisynth in its own thread
|
||||
--sync-lookahead <integer> Number of buffer frames for threaded lookahead
|
||||
--non-deterministic Slightly improve quality of SMP, at the cost of repeatability
|
||||
--cpu-independent Ensure exact reproducibility across different cpus,
|
||||
as opposed to letting them select different algorithms
|
||||
--asm <integer> Override CPU detection
|
||||
--no-asm Disable all CPU optimizations
|
||||
--opencl Enable use of OpenCL
|
||||
--opencl-clbin <string> Specify path of compiled OpenCL kernel cache
|
||||
--opencl-device <integer> Specify OpenCL device ordinal
|
||||
--dump-yuv <string> Save reconstructed frames
|
||||
--sps-id <integer> Set SPS and PPS id numbers [0]
|
||||
--aud Use access unit delimiters
|
||||
--force-cfr Force constant framerate timestamp generation
|
||||
--tcfile-in <string> Force timestamp generation with timecode file
|
||||
--tcfile-out <string> Output timecode v2 file from input timestamps
|
||||
--timebase <int/int> Specify timebase numerator and denominator
|
||||
<integer> Specify timebase numerator for input timecode file
|
||||
or specify timebase denominator for other input
|
||||
--dts-compress Eliminate initial delay with container DTS hack
|
||||
|
||||
Filtering:
|
||||
|
||||
--vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file
|
||||
|
||||
Filter options may be specified in <filter>:<option>=<value> format.
|
||||
|
||||
Available filters:
|
||||
crop:left,top,right,bottom
|
||||
removes pixels from the edges of the frame
|
||||
select_every:step,offset1[,...]
|
||||
apply a selection pattern to input frames
|
||||
step: the number of frames in the pattern
|
||||
offsets: the offset into the step to select a frame
|
||||
see: http://avisynth.nl/index.php/Select#SelectEvery
|
||||
|
170
av1an-core/tests/x264_params.txt
Normal file
170
av1an-core/tests/x264_params.txt
Normal file
|
@ -0,0 +1,170 @@
|
|||
--fps
|
||||
--vf
|
||||
--trellis
|
||||
--ref
|
||||
--longhelp
|
||||
--deadzone-inter
|
||||
--sync-lookahead
|
||||
--qblur
|
||||
--b-pyramid
|
||||
--cqm4ic
|
||||
--cll
|
||||
--input-res
|
||||
--aud
|
||||
--asm
|
||||
--alternative-transfer
|
||||
--tcfile-in
|
||||
--transfer
|
||||
-i
|
||||
--vbv-bufsize
|
||||
--rc-lookahead
|
||||
-r
|
||||
--no-cabac
|
||||
--nal-hrd
|
||||
--zones
|
||||
--demuxer
|
||||
--video-filter
|
||||
--output-csp
|
||||
--output
|
||||
--crop-rect
|
||||
--preset
|
||||
--avcintra-flavor
|
||||
-v
|
||||
--filler
|
||||
--range
|
||||
-m
|
||||
--ratetol
|
||||
--fullhelp
|
||||
--frame-packing
|
||||
--b-bias
|
||||
--8x8dct
|
||||
--cqm8p
|
||||
-o
|
||||
--dts-compress
|
||||
--no-deblock
|
||||
--seek
|
||||
--slice-max-mbs
|
||||
--sps-id
|
||||
--no-psy
|
||||
--vbv-init
|
||||
--mvrange-thread
|
||||
--output-depth
|
||||
--level
|
||||
--slice-min-mbs
|
||||
--qp
|
||||
--overscan
|
||||
--avcintra-class
|
||||
--no-progress
|
||||
--help
|
||||
--scenecut
|
||||
--colorprim
|
||||
--sliced-threads
|
||||
--qpfile
|
||||
--slow-firstpass
|
||||
--frames
|
||||
--opencl-device
|
||||
--vbv-maxrate
|
||||
--verbose
|
||||
--threads
|
||||
--log-level
|
||||
--mastering-display
|
||||
--aq-strength
|
||||
--input-csp
|
||||
--pass
|
||||
--no-mbtree
|
||||
--cqm4
|
||||
--chromaloc
|
||||
--partitions
|
||||
--ipratio
|
||||
--no-scenecut
|
||||
--cpu-independent
|
||||
-b
|
||||
--pic-struct
|
||||
--videoformat
|
||||
--input-range
|
||||
--cqmfile
|
||||
--slices-max
|
||||
-2
|
||||
--bframes
|
||||
-3
|
||||
--slice-max-size
|
||||
-B
|
||||
--stats
|
||||
--cqm4iy
|
||||
--cqm4pc
|
||||
--lookahead-threads
|
||||
-1
|
||||
--open-gop
|
||||
--dump-yuv
|
||||
--me
|
||||
--psnr
|
||||
--fast-pskip
|
||||
--no-chroma-me
|
||||
--cqm8i
|
||||
--subme
|
||||
--mvrange
|
||||
--pulldown
|
||||
--crf-max
|
||||
--muxer
|
||||
--tcfile-out
|
||||
-p
|
||||
-h
|
||||
--no-8x8dct
|
||||
--min-keyint
|
||||
--bff
|
||||
--qpmax
|
||||
--aq-mode
|
||||
--psy-rd
|
||||
--cqm4p
|
||||
--thread-input
|
||||
-t
|
||||
--cplxblur
|
||||
--intra-refresh
|
||||
-A
|
||||
--bluray-compat
|
||||
--weightp
|
||||
--no-fast-pskip
|
||||
--deadzone-intra
|
||||
--profile
|
||||
--chroma-qp-offset
|
||||
--colormatrix
|
||||
--input-depth
|
||||
--constrained-intra
|
||||
--force-cfr
|
||||
--qpstep
|
||||
--tff
|
||||
-f
|
||||
--nr
|
||||
--index
|
||||
--non-deterministic
|
||||
--timebase
|
||||
--b-adapt
|
||||
--opencl-clbin
|
||||
--crf
|
||||
--qpmin
|
||||
--bitrate
|
||||
--slices
|
||||
--cqm8
|
||||
--sar
|
||||
--no-weightb
|
||||
--no-dct-decimate
|
||||
--cqm
|
||||
--keyint
|
||||
--merange
|
||||
--no-mixed-refs
|
||||
-q
|
||||
--no-asm
|
||||
--direct
|
||||
--opencl
|
||||
--input-fmt
|
||||
--deblock
|
||||
--tune
|
||||
--cqm4py
|
||||
--pbratio
|
||||
--fake-interlaced
|
||||
--stitchable
|
||||
--cqm4i
|
||||
--qcomp
|
||||
--quiet
|
||||
--ssim
|
||||
-I
|
326
av1an-core/tests/x265_help.txt
Normal file
326
av1an-core/tests/x265_help.txt
Normal file
|
@ -0,0 +1,326 @@
|
|||
x265 [info]: HEVC encoder version 3.5
|
||||
x265 [info]: build info [Linux][GCC 10.2.0][64 bit] 8bit+10bit+12bit
|
||||
|
||||
Syntax: x265 [options] infile [-o] outfile
|
||||
infile can be YUV or Y4M
|
||||
outfile is raw HEVC bitstream
|
||||
|
||||
Executable Options:
|
||||
-h/--help Show this help text and exit
|
||||
--fullhelp Show all options and exit
|
||||
-V/--version Show version info and exit
|
||||
|
||||
Output Options:
|
||||
-o/--output <filename> Bitstream output file name
|
||||
-D/--output-depth 8|10|12 Output bit depth (also internal bit depth). Default 8
|
||||
--log-level <string> Logging level: none error warning info debug full. Default full
|
||||
--no-progress Disable CLI progress reports
|
||||
--csv <filename> Comma separated log file, if csv-log-level > 0 frame level statistics, else one line per run
|
||||
--csv-log-level <integer> Level of csv logging, if csv-log-level > 0 frame level statistics, else one line per run: 0-2
|
||||
|
||||
Input Options:
|
||||
--input <filename> Raw YUV or Y4M input file name. `-` for stdin
|
||||
--y4m Force parsing of input stream as YUV4MPEG2 regardless of file extension
|
||||
--fps <float|rational> Source frame rate (float or num/denom), auto-detected if Y4M
|
||||
--input-res WxH Source picture size [w x h], auto-detected if Y4M
|
||||
--input-depth <integer> Bit-depth of input file. Default 8
|
||||
--input-csp <string> Chroma subsampling, auto-detected if Y4M
|
||||
0 - i400 (4:0:0 monochrome)
|
||||
1 - i420 (4:2:0 default)
|
||||
2 - i422 (4:2:2)
|
||||
3 - i444 (4:4:4)
|
||||
--dhdr10-info <filename> JSON file containing the Creative Intent Metadata to be encoded as Dynamic Tone Mapping
|
||||
--[no-]dhdr10-opt Insert tone mapping SEI only for IDR frames and when the tone mapping information changes. Default disabled
|
||||
--dolby-vision-profile <float|integer> Specifies Dolby Vision profile ID. Currently only profile 5, profile 8.1 and profile 8.2 enabled. Specified as '5' or '50'. Default 0 (disabled).
|
||||
--dolby-vision-rpu <filename> File containing Dolby Vision RPU metadata.
|
||||
If given, x265's Dolby Vision metadata parser will fill the RPU field of input pictures with the metadata read from the file. Default NULL(disabled).
|
||||
--nalu-file <filename> Text file containing SEI messages in the following format : <POC><space><PREFIX><space><NAL UNIT TYPE>/<SEI TYPE><space><SEI Payload>
|
||||
-f/--frames <integer> Maximum number of frames to encode. Default all
|
||||
--seek <integer> First frame to encode
|
||||
--[no-]interlace <bff|tff> Indicate input pictures are interlace fields in temporal order. Default progressive
|
||||
--[no-]field Enable or disable field coding. Default disabled
|
||||
--dither Enable dither if downscaling to 8 bit pixels. Default disabled
|
||||
--[no-]copy-pic Copy buffers of input picture in frame. Default enabled
|
||||
|
||||
Quality reporting metrics:
|
||||
--[no-]ssim Enable reporting SSIM metric scores. Default disabled
|
||||
--[no-]psnr Enable reporting PSNR metric scores. Default disabled
|
||||
|
||||
Profile, Level, Tier:
|
||||
-P/--profile <string> Enforce an encode profile: main, main10, mainstillpicture
|
||||
--level-idc <integer|float> Force a minimum required decoder level (as '5.0' or '50')
|
||||
--[no-]high-tier If a decoder level is specified, this modifier selects High tier of that level
|
||||
--uhd-bd Enable UHD Bluray compatibility support
|
||||
--[no-]allow-non-conformance Allow the encoder to generate profile NONE bitstreams. Default disabled
|
||||
|
||||
Threading, performance:
|
||||
--pools <integer,...> Comma separated thread count per thread pool (pool per NUMA node)
|
||||
'-' implies no threads on node, '+' implies one thread per core on node
|
||||
-F/--frame-threads <integer> Number of concurrently encoded frames. 0: auto-determined by core count
|
||||
--[no-]wpp Enable Wavefront Parallel Processing. Default enabled
|
||||
--[no-]slices <integer> Enable Multiple Slices feature. Default 1
|
||||
--[no-]pmode Parallel mode analysis. Default disabled
|
||||
--[no-]pme Parallel motion estimation. Default disabled
|
||||
--[no-]asm <bool|int|string> Override CPU detection. Default: auto
|
||||
|
||||
Presets:
|
||||
-p/--preset <string> Trade off performance for compression efficiency. Default medium
|
||||
ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, or placebo
|
||||
-t/--tune <string> Tune the settings for a particular type of source or situation:
|
||||
psnr, ssim, grain, zerolatency, fastdecode
|
||||
|
||||
Quad-Tree size and depth:
|
||||
-s/--ctu <64|32|16> Maximum CU size (WxH). Default 64
|
||||
--min-cu-size <64|32|16|8> Minimum CU size (WxH). Default 8
|
||||
--max-tu-size <32|16|8|4> Maximum TU size (WxH). Default 32
|
||||
--tu-intra-depth <integer> Max TU recursive depth for intra CUs. Default 1
|
||||
--tu-inter-depth <integer> Max TU recursive depth for inter CUs. Default 1
|
||||
--limit-tu <0..4> Enable early exit from TU recursion for inter coded blocks. Default 0
|
||||
|
||||
Analysis:
|
||||
--rd <1..6> Level of RDO in mode decision 1:least....6:full RDO. Default 3
|
||||
--[no-]psy-rd <0..5.0> Strength of psycho-visual rate distortion optimization, 0 to disable. Default 2.0
|
||||
--[no-]rdoq-level <0|1|2> Level of RDO in quantization 0:none, 1:levels, 2:levels & coding groups. Default 0
|
||||
--[no-]psy-rdoq <0..50.0> Strength of psycho-visual optimization in RDO quantization, 0 to disable. Default 0.0
|
||||
--dynamic-rd <0..4.0> Strength of dynamic RD, 0 to disable. Default 0.00
|
||||
--[no-]ssim-rd Enable ssim rate distortion optimization, 0 to disable. Default disabled
|
||||
--[no-]rd-refine Enable QP based RD refinement for rd levels 5 and 6. Default disabled
|
||||
--[no-]early-skip Enable early SKIP detection. Default enabled
|
||||
--rskip <Integer> Enable recursion skip for early exit from CTU analysis during inter prediction. 1: exit using RD cost & CU homogeneity. 2: exit using CU edge density. 0: disabled. Default 1
|
||||
--rskip-edge-threshold Threshold in terms of percentage (an integer of range [0,100]) for minimum edge density in CU's used to prune the recursion depth. Applicable only to rskip mode 2. Value is preset dependent. Default: 5
|
||||
--[no-]tskip-fast Enable fast intra transform skipping. Default disabled
|
||||
--[no-]splitrd-skip Enable skipping split RD analysis when sum of split CU rdCost larger than one split CU rdCost for Intra CU. Default disabled
|
||||
--nr-intra <integer> An integer value in range of 0 to 2000, which denotes strength of noise reduction in intra CUs. Default 0
|
||||
--nr-inter <integer> An integer value in range of 0 to 2000, which denotes strength of noise reduction in inter CUs. Default 0
|
||||
--ctu-info <integer> Enable receiving ctu information asynchronously and determine reaction to the CTU information (0, 1, 2, 4, 6) Default 0
|
||||
- 1: force the partitions if CTU information is present
|
||||
- 2: functionality of (1) and reduce qp if CTU information has changed
|
||||
- 4: functionality of (1) and force Inter modes when CTU Information has changed, merge/skip otherwise
|
||||
Enable this option only when planning to invoke the API function x265_encoder_ctu_info to copy ctu-info asynchronously
|
||||
|
||||
Coding tools:
|
||||
-w/--[no-]weightp Enable weighted prediction in P slices. Default enabled
|
||||
--[no-]weightb Enable weighted prediction in B slices. Default disabled
|
||||
--[no-]cu-lossless Consider lossless mode in CU RDO decisions. Default disabled
|
||||
--[no-]signhide Hide sign bit of one coeff per TU (rdo). Default enabled
|
||||
--[no-]tskip Enable intra 4x4 transform skipping. Default disabled
|
||||
|
||||
Temporal / motion search options:
|
||||
--max-merge <1..5> Maximum number of merge candidates. Default 3
|
||||
--ref <integer> max number of L0 references to be allowed (1 .. 16) Default 3
|
||||
--limit-refs <0|1|2|3> Limit references per depth (1) or CU (2) or both (3). Default 1
|
||||
--me <string> Motion search method dia hex umh star full. Default 1
|
||||
-m/--subme <integer> Amount of subpel refinement to perform (0:least .. 7:most). Default 2
|
||||
--merange <integer> Motion search range. Default 57
|
||||
--[no-]rect Enable rectangular motion partitions Nx2N and 2NxN. Default disabled
|
||||
--[no-]amp Enable asymmetric motion partitions, requires --rect. Default disabled
|
||||
--[no-]limit-modes Limit rectangular and asymmetric motion predictions. Default 0
|
||||
--[no-]temporal-mvp Enable temporal MV predictors. Default enabled
|
||||
--[no-]hme Enable Hierarchical Motion Estimation. Default disabled
|
||||
--hme-search <string> Motion search-method for HME L0,L1 and L2. Default(L0,L1,L2) is 1,2,2
|
||||
--hme-range <int>,<int>,<int> Motion search-range for HME L0,L1 and L2. Default(L0,L1,L2) is 16,32,48
|
||||
|
||||
Spatial / intra options:
|
||||
--[no-]strong-intra-smoothing Enable strong intra smoothing for 32x32 blocks. Default enabled
|
||||
--[no-]constrained-intra Constrained intra prediction (use only intra coded reference pixels) Default disabled
|
||||
--[no-]b-intra Enable intra in B frames in veryslow presets. Default enabled
|
||||
--[no-]fast-intra Enable faster search method for angular intra predictions. Default disabled
|
||||
--rdpenalty <0..2> penalty for 32x32 intra TU in non-I slices. 0:disabled 1:RD-penalty 2:maximum. Default 0
|
||||
|
||||
Slice decision options:
|
||||
--[no-]open-gop Enable open-GOP, allows I slices to be non-IDR. Default enabled
|
||||
-I/--keyint <integer> Max IDR period in frames. -1 for infinite-gop. Default 250
|
||||
-i/--min-keyint <integer> Scenecuts closer together than this are coded as I, not IDR. Default: auto
|
||||
--gop-lookahead <integer> Extends gop boundary if a scenecut is found within this from keyint boundary. Default 0
|
||||
--no-scenecut Disable adaptive I-frame decision
|
||||
--scenecut <integer> How aggressively to insert extra I-frames. Default 40
|
||||
--scenecut-bias <0..100.0> Bias for scenecut detection. Default 5.00
|
||||
--hist-scenecut Enables histogram based scene-cut detection using histogram based algorithm.
|
||||
--no-hist-scenecut Disables histogram based scene-cut detection using histogram based algorithm.
|
||||
--hist-threshold <0.0..1.0> Luma Edge histogram's Normalized SAD threshold for histogram based scenecut detection Default 0.03
|
||||
--[no-]fades Enable detection and handling of fade-in regions. Default disabled
|
||||
--scenecut-aware-qp <0..3> Enable increasing QP for frames inside the scenecut window around scenecut. Default disabled
|
||||
0 - Disabled
|
||||
1 - Forward masking
|
||||
2 - Backward masking
|
||||
3 - Bidirectional masking
|
||||
--masking-strength <string> Comma separated values which specify the duration and offset for the QP increment for inter-frames when scenecut-aware-qp is enabled.
|
||||
--radl <integer> Number of RADL pictures allowed in front of IDR. Default 0
|
||||
--intra-refresh Use Periodic Intra Refresh instead of IDR frames
|
||||
--rc-lookahead <integer> Number of frames for frame-type lookahead (determines encoder latency) Default 20
|
||||
--lookahead-slices <0..16> Number of slices to use per lookahead cost estimate. Default 8
|
||||
--lookahead-threads <integer> Number of threads to be dedicated to perform lookahead only. Default 0
|
||||
-b/--bframes <0..16> Maximum number of consecutive b-frames. Default 4
|
||||
--bframe-bias <integer> Bias towards B frame decisions. Default 0
|
||||
--b-adapt <0..2> 0 - none, 1 - fast, 2 - full (trellis) adaptive B frame scheduling. Default 2
|
||||
--[no-]b-pyramid Use B-frames as references. Default enabled
|
||||
--qpfile <string> Force frametypes and QPs for some or all frames
|
||||
Format of each line: framenumber frametype QP
|
||||
QP is optional (none lets x265 choose). Frametypes: I,i,K,P,B,b.
|
||||
QPs are restricted by qpmin/qpmax.
|
||||
--force-flush <integer> Force the encoder to flush frames. Default 0
|
||||
0 - flush the encoder only when all the input pictures are over.
|
||||
1 - flush all the frames even when the input is not over. Slicetype decision may change with this option.
|
||||
2 - flush the slicetype decided frames only.
|
||||
--[no-]-hrd-concat Set HRD concatenation flag for the first keyframe in the buffering period SEI. Default disabled
|
||||
|
||||
Rate control, Adaptive Quantization:
|
||||
--bitrate <integer> Target bitrate (kbps) for ABR (implied). Default 0
|
||||
-q/--qp <integer> QP for P slices in CQP mode (implied). --ipratio and --pbration determine other slice QPs
|
||||
--crf <float> Quality-based VBR (0-51). Default 28.0
|
||||
--[no-]lossless Enable lossless: bypass transform, quant and loop filters globally. Default disabled
|
||||
--crf-max <float> With CRF+VBV, limit RF to this value. Default 0.000000
|
||||
May cause VBV underflows!
|
||||
--crf-min <float> With CRF+VBV, limit RF to this value. Default 0.000000
|
||||
this specifies a minimum rate factor value for encode!
|
||||
--vbv-maxrate <integer> Max local bitrate (kbit/s). Default 0
|
||||
--vbv-bufsize <integer> Set size of the VBV buffer (kbit). Default 0
|
||||
--vbv-init <float> Initial VBV buffer occupancy (fraction of bufsize or in kbits). Default 0.90
|
||||
--vbv-end <float> Final VBV buffer emptiness (fraction of bufsize or in kbits). Default 0 (disabled)
|
||||
--min-vbv-fullness <double> Minimum VBV fullness percentage to be maintained. Default 50.00
|
||||
--max-vbv-fullness <double> Maximum VBV fullness percentage to be maintained. Default 80.00
|
||||
--vbv-end-fr-adj <float> Frame from which qp has to be adjusted to achieve final decode buffer emptiness. Default 0
|
||||
--chunk-start <integer> First frame of the chunk. Default 0 (disabled)
|
||||
--chunk-end <integer> Last frame of the chunk. Default 0 (disabled)
|
||||
--pass Multi pass rate control.
|
||||
- 1 : First pass, creates stats file
|
||||
- 2 : Last pass, does not overwrite stats file
|
||||
- 3 : Nth pass, overwrites stats file
|
||||
--[no-]multi-pass-opt-analysis Refine analysis in 2 pass based on analysis information from pass 1
|
||||
--[no-]multi-pass-opt-distortion Use distortion of CTU from pass 1 to refine qp in 2 pass
|
||||
--[no-]vbv-live-multi-pass Enable realtime VBV in rate control 2 pass.Default disabled
|
||||
--stats Filename for stats file in multipass pass rate control. Default x265_2pass.log
|
||||
--[no-]analyze-src-pics Motion estimation uses source frame planes. Default disable
|
||||
--[no-]slow-firstpass Enable a slow first pass in a multipass rate control mode. Default enabled
|
||||
--[no-]strict-cbr Enable stricter conditions and tolerance for bitrate deviations in CBR mode. Default disabled
|
||||
--analysis-save <filename> Dump analysis info into the specified file. Default Disabled
|
||||
--analysis-load <filename> Load analysis buffers from the file specified. Default Disabled
|
||||
--analysis-reuse-file <filename> Specify file name used for either dumping or reading analysis data. Deault x265_analysis.dat
|
||||
--analysis-reuse-level <1..10> Level of analysis reuse indicates amount of info stored/reused in save/load mode, 1:least..10:most. Now deprecated. Default 0
|
||||
--analysis-save-reuse-level <1..10> Indicates the amount of analysis info stored in save mode, 1:least..10:most. Default 0
|
||||
--analysis-load-reuse-level <1..10> Indicates the amount of analysis info reused in load mode, 1:least..10:most. Default 0
|
||||
--refine-analysis-type <string> Reuse anlaysis information received through API call. Supported options are avc and hevc. Default disabled - 0
|
||||
--scale-factor <int> Specify factor by which input video is scaled down for analysis save mode. Default 0
|
||||
--refine-intra <0..4> Enable intra refinement for encode that uses analysis-load.
|
||||
- 0 : Forces both mode and depth from the save encode.
|
||||
- 1 : Functionality of (0) + evaluate all intra modes at min-cu-size's depth when current depth is one smaller than min-cu-size's depth.
|
||||
- 2 : Functionality of (1) + irrespective of size evaluate all angular modes when the save encode decides the best mode as angular.
|
||||
- 3 : Functionality of (1) + irrespective of size evaluate all intra modes.
|
||||
- 4 : Re-evaluate all intra blocks, does not reuse data from save encode.
|
||||
Default:0
|
||||
--refine-inter <0..3> Enable inter refinement for encode that uses analysis-load.
|
||||
- 0 : Forces both mode and depth from the save encode.
|
||||
- 1 : Functionality of (0) + evaluate all inter modes at min-cu-size's depth when current depth is one smaller than
|
||||
min-cu-size's depth. When save encode decides the current block as skip(for all sizes) evaluate skip/merge.
|
||||
- 2 : Functionality of (1) + irrespective of size restrict the modes evaluated when specific modes are decided as the best mode by the save encode.
|
||||
- 3 : Functionality of (1) + irrespective of size evaluate all inter modes.
|
||||
Default:0
|
||||
--[no-]dynamic-refine Dynamically changes refine-inter level for each CU. Default disabled
|
||||
--refine-mv <1..3> Enable mv refinement for load mode. Default 1
|
||||
--refine-ctu-distortion Store/normalize ctu distortion in analysis-save/load.
|
||||
- 0 : Disabled.
|
||||
- 1 : Store/Load ctu distortion to/from the file specified in analysis-save/load.
|
||||
Default 0 - Disabled
|
||||
--aq-mode <integer> Mode for Adaptive Quantization - 0:none 1:uniform AQ 2:auto variance 3:auto variance with bias to dark scenes 4:auto variance with edge information. Default 2
|
||||
--[no-]hevc-aq Mode for HEVC Adaptive Quantization. Default disabled
|
||||
--aq-strength <float> Reduces blocking and blurring in flat and textured areas (0 to 3.0). Default 1.00
|
||||
--qp-adaptation-range <float> Delta QP range by QP adaptation based on a psycho-visual model (1.0 to 6.0). Default 1.00
|
||||
--[no-]aq-motion Block level QP adaptation based on the relative motion between the block and the frame. Default disabled
|
||||
--qg-size <int> Specifies the size of the quantization group (64, 32, 16, 8). Default 32
|
||||
--[no-]cutree Enable cutree for Adaptive Quantization. Default enabled
|
||||
--[no-]rc-grain Enable ratecontrol mode to handle grains specifically. turned on with tune grain. Default disabled
|
||||
--ipratio <float> QP factor between I and P. Default 1.40
|
||||
--pbratio <float> QP factor between P and B. Default 1.30
|
||||
--qcomp <float> Weight given to predicted complexity. Default 0.60
|
||||
--qpstep <integer> The maximum single adjustment in QP allowed to rate control. Default 4
|
||||
--qpmin <integer> sets a hard lower limit on QP allowed to ratecontrol. Default 0
|
||||
--qpmax <integer> sets a hard upper limit on QP allowed to ratecontrol. Default 69
|
||||
--[no-]const-vbv Enable consistent vbv. turned on with tune grain. Default disabled
|
||||
--cbqpoffs <integer> Chroma Cb QP Offset [-12..12]. Default 0
|
||||
--crqpoffs <integer> Chroma Cr QP Offset [-12..12]. Default 0
|
||||
--scaling-list <string> Specify a file containing HM style quant scaling lists or 'default' or 'off'. Default: off
|
||||
--zones <zone0>/<zone1>/... Tweak the bitrate of regions of the video
|
||||
Each zone is of the form
|
||||
<start frame>,<end frame>,<option>
|
||||
where <option> is either
|
||||
q=<integer> (force QP)
|
||||
or b=<float> (bitrate multiplier)
|
||||
--zonefile <filename> Zone file containing the zone boundaries and the parameters to be reconfigured.
|
||||
--lambda-file <string> Specify a file containing replacement values for the lambda tables
|
||||
MAX_MAX_QP+1 floats for lambda table, then again for lambda2 table
|
||||
Blank lines and lines starting with hash(#) are ignored
|
||||
Comma is considered to be white-space
|
||||
--max-ausize-factor <float> This value controls the maximum AU size defined in specification.
|
||||
It represents the percentage of maximum AU size used. Default 1.0
|
||||
|
||||
Loop filters (deblock and SAO):
|
||||
--[no-]deblock Enable Deblocking Loop Filter, optionally specify tC:Beta offsets Default enabled
|
||||
--[no-]sao Enable Sample Adaptive Offset. Default enabled
|
||||
--[no-]sao-non-deblock Use non-deblocked pixels, else right/bottom boundary areas skipped. Default disabled
|
||||
--[no-]limit-sao Limit Sample Adaptive Offset types. Default disabled
|
||||
--selective-sao <int> Enable slice-level SAO filter. Default 0
|
||||
|
||||
VUI options:
|
||||
--sar <width:height|int> Sample Aspect Ratio, the ratio of width to height of an individual pixel.
|
||||
Choose from 0=undef, 1=1:1("square"), 2=12:11, 3=10:11, 4=16:11,
|
||||
5=40:33, 6=24:11, 7=20:11, 8=32:11, 9=80:33, 10=18:11, 11=15:11,
|
||||
12=64:33, 13=160:99, 14=4:3, 15=3:2, 16=2:1 or custom ratio of <int:int>. Default 0
|
||||
--display-window <string> Describe overscan cropping region as 'left,top,right,bottom' in pixels
|
||||
--overscan <string> Specify whether it is appropriate for decoder to show cropped region: unknown, show or crop. Default unknown
|
||||
--videoformat <string> Specify video format from unknown, component, pal, ntsc, secam, mac. Default unknown
|
||||
--range <string> Specify black level and range of luma and chroma signals as full or limited Default limited
|
||||
--colorprim <string> Specify color primaries from bt709, unknown, reserved, bt470m, bt470bg, smpte170m,
|
||||
smpte240m, film, bt2020, smpte428, smpte431, smpte432. Default unknown
|
||||
--transfer <string> Specify transfer characteristics from bt709, unknown, reserved, bt470m, bt470bg, smpte170m,
|
||||
smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,
|
||||
bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default unknown
|
||||
--colormatrix <string> Specify color matrix setting from unknown, bt709, fcc, bt470bg, smpte170m,
|
||||
smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp. Default unknown
|
||||
--chromaloc <integer> Specify chroma sample location (0 to 5). Default of 0
|
||||
--master-display <string> SMPTE ST 2086 master display color volume info SEI (HDR)
|
||||
format: G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)
|
||||
--max-cll <string> Specify content light level info SEI as "cll,fall" (HDR).
|
||||
--[no-]cll Emit content light level info SEI. Default enabled
|
||||
--[no-]hdr10 Control dumping of HDR10 SEI packet. If max-cll or master-display has non-zero values, this is enabled. Default disabled
|
||||
--[no-]hdr-opt Add luma and chroma offsets for HDR/WCG content. Default disabled. Now deprecated.
|
||||
--[no-]hdr10-opt Block-level QP optimization for HDR10 content. Default disabled.
|
||||
--min-luma <integer> Minimum luma plane value of input source picture
|
||||
--max-luma <integer> Maximum luma plane value of input source picture
|
||||
|
||||
Bitstream options:
|
||||
--[no-]repeat-headers Emit SPS and PPS headers at each keyframe. Default disabled
|
||||
--[no-]info Emit SEI identifying encoder and parameters. Default enabled
|
||||
--[no-]hrd Enable HRD parameters signaling. Default disabled
|
||||
--[no-]idr-recovery-sei Emit recovery point infor SEI at each IDR frame
|
||||
--[no-]temporal-layers Enable a temporal sublayer for unreferenced B frames. Default disabled
|
||||
--[no-]aud Emit access unit delimiters at the start of each access unit. Default disabled
|
||||
--hash <integer> Decoded Picture Hash SEI 0: disabled, 1: MD5, 2: CRC, 3: Checksum. Default 0
|
||||
--atc-sei <integer> Emit the alternative transfer characteristics SEI message where the integer is the preferred transfer characteristics. Default disabled
|
||||
--pic-struct <integer> Set the picture structure and emits it in the picture timing SEI message. Values in the range 0..12. See D.3.3 of the HEVC spec. for a detailed explanation.
|
||||
--log2-max-poc-lsb <integer> Maximum of the picture order count
|
||||
--[no-]vui-timing-info Emit VUI timing information in the bistream. Default enabled
|
||||
--[no-]vui-hrd-info Emit VUI HRD information in the bistream. Default enabled
|
||||
--[no-]opt-qp-pps Dynamically optimize QP in PPS (instead of default 26) based on QPs in previous GOP. Default disabled
|
||||
--[no-]opt-ref-list-length-pps Dynamically set L0 and L1 ref list length in PPS (instead of default 0) based on values in last GOP. Default disabled
|
||||
--[no-]multi-pass-opt-rps Enable storing commonly used RPS in SPS in multi pass mode. Default disabled
|
||||
--[no-]opt-cu-delta-qp Optimize to signal consistent CU level delta QPs in frame. Default disabled
|
||||
|
||||
Reconstructed video options (debugging):
|
||||
-r/--recon <filename> Reconstructed raw image YUV or Y4M output file name
|
||||
--recon-depth <integer> Bit-depth of reconstructed raw image file. Defaults to input bit depth, or 8 if Y4M
|
||||
--recon-y4m-exec <string> pipe reconstructed frames to Y4M viewer, ex:"ffplay -i pipe:0 -autoexit"
|
||||
--lowpass-dct Use low-pass subband dct approximation. Default disabled
|
||||
--[no-]frame-dup Enable Frame duplication. Default disabled
|
||||
--dup-threshold <integer> PSNR threshold for Frame duplication. Default 70
|
||||
ABR-ladder settings
|
||||
--abr-ladder <file> File containing config settings required for the generation of ABR-ladder
|
||||
|
||||
Executable return codes:
|
||||
0 - encode successful
|
||||
1 - unable to parse command line
|
||||
2 - unable to open encoder
|
||||
3 - unable to generate stream headers
|
||||
4 - encoder abort
|
||||
|
||||
|
||||
Complete documentation may be found at http://x265.readthedocs.org/en/default/cli.html
|
292
av1an-core/tests/x265_params.txt
Normal file
292
av1an-core/tests/x265_params.txt
Normal file
|
@ -0,0 +1,292 @@
|
|||
-b
|
||||
-D
|
||||
--uhd-bd
|
||||
--crf
|
||||
--cbqpoffs
|
||||
--gop-lookahead
|
||||
--refine-intra
|
||||
-I
|
||||
--lambda-file
|
||||
--vbv-init
|
||||
--nr-inter
|
||||
--no-hist-scenecut
|
||||
--max-luma
|
||||
--recon-y4m-exec
|
||||
--pic-struct
|
||||
--qcomp
|
||||
--ref
|
||||
--qg-size
|
||||
--vbv-end
|
||||
--max-tu-size
|
||||
--log2-max-poc-lsb
|
||||
--input-depth
|
||||
--lookahead-slices
|
||||
--input-res
|
||||
--dolby-vision-rpu
|
||||
-o
|
||||
--merange
|
||||
--analysis-load
|
||||
--analysis-load-reuse-level
|
||||
--rdpenalty
|
||||
--rskip-edge-threshold
|
||||
--csv-log-level
|
||||
--fullhelp
|
||||
--rd
|
||||
-V
|
||||
--level-idc
|
||||
--transfer
|
||||
--me
|
||||
--analysis-save
|
||||
--no-progress
|
||||
--dup-threshold
|
||||
--dolby-vision-profile
|
||||
--no-scenecut
|
||||
--master-display
|
||||
--hash
|
||||
--seek
|
||||
--y4m
|
||||
--limit-refs
|
||||
--scenecut-aware-qp
|
||||
-1
|
||||
--stats
|
||||
--force-flush
|
||||
-P
|
||||
--qpfile
|
||||
--zones
|
||||
--pbration
|
||||
--sar
|
||||
--b-adapt
|
||||
--selective-sao
|
||||
--fps
|
||||
--aq-mode
|
||||
--rskip
|
||||
--qpstep
|
||||
--videoformat
|
||||
--colorprim
|
||||
--display-window
|
||||
-p
|
||||
--overscan
|
||||
--lowpass-dct
|
||||
-r
|
||||
--max-merge
|
||||
--scenecut-bias
|
||||
-q
|
||||
--min-cu-size
|
||||
--ctu-info
|
||||
-autoexit
|
||||
--aq-strength
|
||||
--crqpoffs
|
||||
--scaling-list
|
||||
--crf-max
|
||||
--colormatrix
|
||||
--range
|
||||
--dhdr10-info
|
||||
--qpmax
|
||||
-m
|
||||
--vbv-maxrate
|
||||
--ipratio
|
||||
--input-csp
|
||||
--dither
|
||||
--limit-tu
|
||||
--qpmin
|
||||
--pass
|
||||
--rc-lookahead
|
||||
--refine-mv
|
||||
--atc-sei
|
||||
--max-cll
|
||||
--scale-factor
|
||||
--refine-inter
|
||||
-t
|
||||
--min-vbv-fullness
|
||||
--bitrate
|
||||
-i
|
||||
--pools
|
||||
--abr-ladder
|
||||
--chunk-start
|
||||
--lookahead-threads
|
||||
--analysis-reuse-level
|
||||
-h
|
||||
--hist-threshold
|
||||
--csv
|
||||
--vbv-bufsize
|
||||
--max-ausize-factor
|
||||
--nr-intra
|
||||
--scenecut
|
||||
--radl
|
||||
--bframe-bias
|
||||
--chunk-end
|
||||
--max-vbv-fullness
|
||||
--hist-scenecut
|
||||
--refine-ctu-distortion
|
||||
--pbratio
|
||||
--vbv-end-fr-adj
|
||||
--hme-range
|
||||
--analysis-save-reuse-level
|
||||
--hme-search
|
||||
-s
|
||||
-F
|
||||
--chromaloc
|
||||
--rect
|
||||
--min-luma
|
||||
--log-level
|
||||
--intra-refresh
|
||||
--recon-depth
|
||||
--nalu-file
|
||||
--dynamic-rd
|
||||
-w
|
||||
--refine-analysis-type
|
||||
--zonefile
|
||||
--qp-adaptation-range
|
||||
-f
|
||||
--tu-inter-depth
|
||||
--input
|
||||
--tu-intra-depth
|
||||
--crf-min
|
||||
--masking-strength
|
||||
--analysis-reuse-file
|
||||
--dhdr10-opt
|
||||
--no-dhdr10-opt
|
||||
--interlace
|
||||
--no-interlace
|
||||
--field
|
||||
--no-field
|
||||
--copy-pic
|
||||
--no-copy-pic
|
||||
--ssim
|
||||
--no-ssim
|
||||
--psnr
|
||||
--no-psnr
|
||||
--high-tier
|
||||
--no-high-tier
|
||||
--allow-non-conformance
|
||||
--no-allow-non-conformance
|
||||
--wpp
|
||||
--no-wpp
|
||||
--slices
|
||||
--no-slices
|
||||
--pmode
|
||||
--no-pmode
|
||||
--pme
|
||||
--no-pme
|
||||
--asm
|
||||
--no-asm
|
||||
--psy-rd
|
||||
--no-psy-rd
|
||||
--rdoq-level
|
||||
--no-rdoq-level
|
||||
--psy-rdoq
|
||||
--no-psy-rdoq
|
||||
--ssim-rd
|
||||
--no-ssim-rd
|
||||
--rd-refine
|
||||
--no-rd-refine
|
||||
--early-skip
|
||||
--no-early-skip
|
||||
--tskip-fast
|
||||
--no-tskip-fast
|
||||
--splitrd-skip
|
||||
--no-splitrd-skip
|
||||
--weightp
|
||||
--no-weightp
|
||||
--weightb
|
||||
--no-weightb
|
||||
--cu-lossless
|
||||
--no-cu-lossless
|
||||
--signhide
|
||||
--no-signhide
|
||||
--tskip
|
||||
--no-tskip
|
||||
--rect
|
||||
--no-rect
|
||||
--amp
|
||||
--no-amp
|
||||
--limit-modes
|
||||
--no-limit-modes
|
||||
--temporal-mvp
|
||||
--no-temporal-mvp
|
||||
--hme
|
||||
--no-hme
|
||||
--strong-intra-smoothing
|
||||
--no-strong-intra-smoothing
|
||||
--constrained-intra
|
||||
--no-constrained-intra
|
||||
--b-intra
|
||||
--no-b-intra
|
||||
--fast-intra
|
||||
--no-fast-intra
|
||||
--open-gop
|
||||
--no-open-gop
|
||||
--fades
|
||||
--no-fades
|
||||
--b-pyramid
|
||||
--no-b-pyramid
|
||||
--hrd-concat
|
||||
--no-hrd-concat
|
||||
--lossless
|
||||
--no-lossless
|
||||
--multi-pass-opt-analysis
|
||||
--no-multi-pass-opt-analysis
|
||||
--multi-pass-opt-distortion
|
||||
--no-multi-pass-opt-distortion
|
||||
--vbv-live-multi-pass
|
||||
--no-vbv-live-multi-pass
|
||||
--analyze-src-pics
|
||||
--no-analyze-src-pics
|
||||
--slow-firstpass
|
||||
--no-slow-firstpass
|
||||
--strict-cbr
|
||||
--no-strict-cbr
|
||||
--dynamic-refine
|
||||
--no-dynamic-refine
|
||||
--hevc-aq
|
||||
--no-hevc-aq
|
||||
--aq-motion
|
||||
--no-aq-motion
|
||||
--cutree
|
||||
--no-cutree
|
||||
--rc-grain
|
||||
--no-rc-grain
|
||||
--const-vbv
|
||||
--no-const-vbv
|
||||
--deblock
|
||||
--no-deblock
|
||||
--sao
|
||||
--no-sao
|
||||
--sao-non-deblock
|
||||
--no-sao-non-deblock
|
||||
--limit-sao
|
||||
--no-limit-sao
|
||||
--cll
|
||||
--no-cll
|
||||
--hdr10
|
||||
--no-hdr10
|
||||
--hdr-opt
|
||||
--no-hdr-opt
|
||||
--hdr10-opt
|
||||
--no-hdr10-opt
|
||||
--repeat-headers
|
||||
--no-repeat-headers
|
||||
--info
|
||||
--no-info
|
||||
--hrd
|
||||
--no-hrd
|
||||
--idr-recovery-sei
|
||||
--no-idr-recovery-sei
|
||||
--temporal-layers
|
||||
--no-temporal-layers
|
||||
--aud
|
||||
--no-aud
|
||||
--vui-timing-info
|
||||
--no-vui-timing-info
|
||||
--vui-hrd-info
|
||||
--no-vui-hrd-info
|
||||
--opt-qp-pps
|
||||
--no-opt-qp-pps
|
||||
--opt-ref-list-length-pps
|
||||
--no-opt-ref-list-length-pps
|
||||
--multi-pass-opt-rps
|
||||
--no-multi-pass-opt-rps
|
||||
--opt-cu-delta-qp
|
||||
--no-opt-cu-delta-qp
|
||||
--frame-dup
|
||||
--no-frame-dup
|
Loading…
Reference in a new issue