1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//! # viser — Video Encoding Optimizer
//!
//! This is the **facade crate** for the viser workspace. It does not contain
//! logic of its own; it re-exports each viser library crate as a module so you
//! can depend on a single `viser` crate instead of a dozen `viser-*` crates.
//!
//! Every module is gated behind a feature flag of the same name. All features
//! are enabled by default via the `full` feature; disable default features and
//! opt in to keep your dependency tree small:
//!
//! ```toml
//! # everything (default)
//! viser = "0.4"
//!
//! # only what you need
//! viser = { version = "0.4", default-features = false, features = ["quality", "hull"] }
//! ```
//!
//! The command-line tool lives in the separate `viser-cli` crate, which
//! installs a `viser` binary: `cargo install viser-cli`.
//!
//! ## Modules
//!
//! | Module | Crate | Purpose |
//! |--------|-------|---------|
//! | [`ffmpeg`] | `viser-ffmpeg` | FFmpeg/FFprobe wrapper |
//! | [`quality`] | `viser-quality` | VMAF/PSNR/SSIM measurement |
//! | [`hull`] | `viser-hull` | Convex hull (Pareto frontier) and BD-Rate |
//! | [`ladder`] | `viser-ladder` | Bitrate ladder selection |
//! | [`shot`] | `viser-shot` | Shot/scene detection |
//! | [`complexity`] | `viser-complexity` | Spatial/temporal/DCT complexity analysis |
//! | [`encoding`] | `viser-encoding` | Shared encoding configuration |
//! | [`checkpoint`] | `viser-checkpoint` | Checkpoint/resume support |
//! | [`pertitle`] | `viser-pertitle` | Per-title encoding pipeline |
//! | [`pershot`] | `viser-pershot` | Per-shot encoding with Trellis allocation |
//! | [`persegment`] | `viser-persegment` | Segment-level CRF adaptation |
//! | [`contextaware`] | `viser-contextaware` | Device-specific ladder generation |
//! | [`compare`] | `viser-compare` | Side-by-side comparison player |
//! | [`chart`] | `viser-chart` | Chart generation (R-D curves, hull, ladder) |
pub use viser_ffmpeg as ffmpeg;
pub use viser_quality as quality;
pub use viser_hull as hull;
pub use viser_ladder as ladder;
pub use viser_shot as shot;
pub use viser_complexity as complexity;
pub use viser_encoding as encoding;
pub use viser_checkpoint as checkpoint;
pub use viser_pertitle as pertitle;
pub use viser_pershot as pershot;
pub use viser_persegment as persegment;
pub use viser_contextaware as contextaware;
pub use viser_compare as compare;
pub use viser_chart as chart;