[package]
edition = "2021"
rust-version = "1.82"
name = "ass-renderer"
version = "0.1.2"
authors = ["ass-rs contributors"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance ASS subtitle renderer with modular backends"
homepage = "https://github.com/wiedymi/ass-rs"
documentation = "https://docs.rs/ass-renderer"
readme = "README.md"
keywords = [
"ass",
"subtitle",
"renderer",
"wgpu",
"gpu",
]
categories = [
"multimedia::video",
"graphics",
"rendering",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/wiedymi/ass-rs"
[features]
analysis-integration = ["ass-core/analysis"]
arena = [
"bumpalo",
"ass-core/arena",
]
backend-metrics = []
backend-probing = []
benches = []
default = [
"analysis-integration",
"software-backend",
"backend-probing",
"simd",
"image",
"serde",
]
docs = [
"full",
"gpu",
"unicode-wrap",
"plugins",
"benches",
]
full = [
"analysis-integration",
"software-backend",
"backend-probing",
"simd",
"image",
"serde",
]
gpu = [
"wgpu",
"pollster",
"bytemuck",
"software-backend",
]
image = ["dep:image"]
libass-compare = []
minimal = [
"nostd",
"analysis-integration",
]
nostd = ["ass-core/nostd"]
plugins = []
serde = [
"dep:serde",
"dep:serde_json",
"ass-core/serde",
]
simd = [
"ass-core/simd",
"tiny-skia/simd",
"dep:wide",
]
software-backend = ["rayon"]
unicode-wrap = ["ass-core/unicode-wrap"]
window = [
"gpu",
"dep:winit",
]
[lib]
name = "ass_renderer"
path = "src/lib.rs"
[[example]]
name = "gpu_compare"
path = "examples/gpu_compare.rs"
required-features = [
"gpu",
"analysis-integration",
"software-backend",
]
[[example]]
name = "gpu_playback"
path = "examples/gpu_playback.rs"
required-features = [
"gpu",
"analysis-integration",
"software-backend",
]
[[example]]
name = "gpu_probe"
path = "examples/gpu_probe.rs"
required-features = ["gpu"]
[[example]]
name = "gpu_window"
path = "examples/gpu_window.rs"
required-features = [
"window",
"analysis-integration",
"software-backend",
"image",
]
[[example]]
name = "libass_bench"
path = "examples/libass_bench.rs"
required-features = [
"software-backend",
"analysis-integration",
"libass-compare",
]
[[example]]
name = "libass_compare"
path = "examples/libass_compare.rs"
required-features = [
"software-backend",
"image",
"analysis-integration",
]
[[example]]
name = "libass_ffi_compare"
path = "examples/libass_ffi_compare.rs"
required-features = [
"software-backend",
"image",
"analysis-integration",
"libass-compare",
]
[[example]]
name = "parity_sweep"
path = "examples/parity_sweep.rs"
required-features = [
"software-backend",
"image",
"analysis-integration",
"libass-compare",
]
[[example]]
name = "render_video"
path = "examples/render_video.rs"
required-features = [
"software-backend",
"analysis-integration",
]
[[example]]
name = "render_video_libass"
path = "examples/render_video_libass.rs"
required-features = [
"analysis-integration",
"libass-compare",
]
[[test]]
name = "bitmap_list_equivalence"
path = "tests/bitmap_list_equivalence.rs"
[[test]]
name = "event_selection_equivalence"
path = "tests/event_selection_equivalence.rs"
[[test]]
name = "simple_compatibility_test"
path = "tests/simple_compatibility_test.rs"
[[test]]
name = "software_render"
path = "tests/software_render.rs"
[[bench]]
name = "render_benchmarks"
path = "benches/render_benchmarks.rs"
harness = false
required-features = ["benches"]
[dependencies.ahash]
version = "0.8"
[dependencies.ass-core]
version = "0.1.2"
[dependencies.bumpalo]
version = "3.16"
optional = true
[dependencies.bytemuck]
version = "1.14"
features = ["derive"]
optional = true
[dependencies.fontdb]
version = "0.16"
[dependencies.image]
version = "0.24"
optional = true
[dependencies.pollster]
version = "0.3"
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.rustybuzz]
version = "0.11"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.smallvec]
version = "1.14"
[dependencies.thiserror]
version = "1.0"
[dependencies.tiny-skia]
version = "0.11"
[dependencies.ttf-parser]
version = "0.20"
[dependencies.wgpu]
version = "0.19"
optional = true
[dependencies.wide]
version = "0.7"
optional = true
[dependencies.winit]
version = "0.29"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.5"
[target."cfg(not(windows))".build-dependencies.pkg-config]
version = "0.3"
[target."cfg(windows)".build-dependencies.vcpkg]
version = "0.2"