https://github.com/rust-av/ssimulacra2_bin
Binary interface for the ssimulacra2 Rust port
https://github.com/rust-av/ssimulacra2_bin
hacktoberfest
Last synced: about 1 year ago
JSON representation
Binary interface for the ssimulacra2 Rust port
- Host: GitHub
- URL: https://github.com/rust-av/ssimulacra2_bin
- Owner: rust-av
- License: bsd-2-clause
- Created: 2022-10-23T01:16:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-23T15:54:30.000Z (over 1 year ago)
- Last Synced: 2025-03-29T02:07:44.613Z (about 1 year ago)
- Topics: hacktoberfest
- Language: Rust
- Homepage:
- Size: 122 KB
- Stars: 45
- Watchers: 6
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ssimulacra2_rs
[](https://crates.io/crates/ssimulacra2_rs)
[](https://github.com/rust-av/ssimulacra2_bin/blob/main/LICENSE)
Binary interface to the Rust implementation of the SSIMULACRA2 metric: https://github.com/rust-av/ssimulacra2
## Quality Guidelines
The following is a rough estimate of how ssimulacra2 scores correspond to visual quality.
- 30 = low quality. This corresponds to the p10 worst output of mozjpeg -quality 30.
- 50 = medium quality. This corresponds to the average output of cjxl -q 40 or mozjpeg -quality 40, or the p10 output of cjxl -q 50 or mozjpeg -quality 60.
- 70 = high quality. This corresponds to the average output of cjxl -q 65 or mozjpeg -quality 70, p10 output of cjxl -q 75 or mozjpeg -quality 80.
- 90 = very high quality. Likely impossible to distinguish from the original when viewed at 1:1 from a normal viewing distance. This corresponds to the average output of mozjpeg -quality 95 or the p10 output of cjxl -q
## Required packages for video support:
### Arch
```bash
sudo pacman -S vapoursynth vapoursynth-plugin-lsmashsource gcc make cmake pkg-config ttf-bitstream-vera # Keep install dependencies
```
### Other Linux
See http://www.vapoursynth.com/doc/installation.html#linux-installation
Install l-smash from https://github.com/l-smash/l-smash
Install LSMASHSource VapourSynth plugin from https://github.com/AkarinVS/L-SMASH-Works
### Windows
Do not install or download any pre-release.
1) Follow Vapoursynth's installation step http://www.vapoursynth.com/doc/installation.html#windows-installation (Not the portable installation)
- If you intend to install Vapoursynth system-wide instead of local, Python will also need to be system-wide.
3) Get latest version of `VapourSynth-x64-R##.exe`
4) Run the .exe file to install VapourSynth, don't modify or change any setting if you are not familar with it
5) After Vapoursynth is installed, find its path
1. Local - `C:\Users\\AppData\Local\Programs\VapourSynth\`
2. System-wide - `C:\VapourSynth\` or `C:\Program Files\VapourSynth`
7) Then download the latest release-x86_64-cachedir-cwd.zip from https://github.com/AkarinVS/L-SMASH-Works/releases/tag/latest
8) Decompress the release-x86_64-cachedir-cwd.zip, copy and paste the libvslsmashsource.dll to `C:\Path\to\VapourSynth\plugins\`
9) Install Rust from https://www.rust-lang.org/tools/install
10) Open Powershell and run `rustc --version` to check if it has been installed
11) Copy the full path `C:\Path\to\VapourSynth\sdk\lib64`
12) Enter the command on Powershell with the copied path: `$env:LIB="C:\Path\to\VapourSynth\sdk\lib64;$env:LIB"`
13) Then enter `cargo install ssimulacra2_rs`
14) If it fails because it requires Visual Studio or Visual Studio Tools, you can download either of them.
1. Download from https://visualstudio.microsoft.com/downloads/
2. Find the "Tools for Visual Studio" bar and download the "Remote Tools for Visual Studio 2022".
3. Make sure Desktop Development with C++ is checked, leave the optional check installation alone and download it.
4. Retry step 10 again after you reboot your PC.
15) Run `ssimulacra2_rs -h` to check if it's running.
16) You're done!