Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/garamond13/alt-scale
An alternative to mpv's built in scaling.
https://github.com/garamond13/alt-scale
Last synced: 3 months ago
JSON representation
An alternative to mpv's built in scaling.
- Host: GitHub
- URL: https://github.com/garamond13/alt-scale
- Owner: garamond13
- License: mit
- Created: 2022-11-21T15:16:39.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-21T00:53:28.000Z (over 1 year ago)
- Last Synced: 2024-06-30T14:50:00.115Z (5 months ago)
- Language: GLSL
- Homepage:
- Size: 167 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mpv - Alt Scale - An alternative to mpv's built in scaling. It can be slightly faster than built in scaling with equivalent quality. (Other)
README
# Alt scale
Alt scale is a mpv shader. A 2 pass scaler, an alternative to mpv's built in scaling.`Chroma` folder contains shaders for upscaling chroma only \
`Luma` folder contains shaders for upscaling and downscaling luma only`altUpscale` is optimised for and only does upscaling\
`altUpscaleUnsharp` is optimised for and only does upscaling, also provides unsharp mask\
`altUpscaleHDR` is optimised for and only does upscaling; HDR version\
`altUpscaleUnsharpHDR` is optimised for and only does upscaling, also provides unsharp mask; HDR version\
`altDownscale` is optimised for and only does downscaling\
`altDownscaleUnsharp` is optimised for and only does downscaling, also provides unsharp mask\
`altDownscaleGaussian` is optimised for and only does downscaling, also provides gaussian blur\
`altDownscaleGaussianUnsharp` is optimised for and only does downscaling, also provides gaussian blur and unsharp mask## Usage
- If you place this shader in the same folder as your `mpv.conf`, you can use it with `glsl-shaders-append="~~/FILE_NAME"`. For an example `glsl-shaders-append="~~/altUpscale.glsl"`.
- Requires `vo=gpu-next`.
- Note that defualt settings are "simbolic" only, should change them to your liking.
- Note that all downscale shaders can be used for both SDR and HDR content.
- Note that HDR versions are just gamma light so you can use them for SDR## Settings
For better understanding of these settings see research https://github.com/garamond13/Finding-the-best-methods-for-image-scaling
#### Kernel function (K)
Which kernel function to use for calculation of kernel weights. See "KERNEL functions LIST" inside the shader for available kernel functions.#### Kernel radius (R)
Kernel radius determines the kernel size, which is `ceil(2 * kernel radius)` when upsampling (upscale) or `ceil(2 * kernel radius * downscale ratio * antialiasing amount)` when downsampling (downscale).#### Kernel blur (B)
Effectively values smaller than 1 sharpen the kernel and values larger than 1 blur the kernel, 1 is neutral or no effect. Only affects widowed sinc kernels.#### Antiringing (AR) (Only for upscale)
Reduces ringing artifacts.#### Antialiasing (AA) (Only for downscale)
Effectively trades between aliasing and ringing artifacts. The default value is 1.0.#### Kernel functions parameters (P1) and (P2)
Some kernel functions take additional parameters, they are set here. \
See references for: \
COSINE (power of cosine) - https://en.wikipedia.org/wiki/Window_function#Power-of-sine/cosine_windows \
GARAMOND (power of garamond) - https://github.com/garamond13/power-of-garamond-window \
BLACKMAN (power of blackman)- https://github.com/garamond13/power-of-blackman \
GNW (generalized normal window) - https://ieeexplore.ieee.org/document/6638833 \
SAID - https://www.hpl.hp.com/techreports/2007/HPL-2007-179.pdf \
FSR (modified fsr kernel, based on https://github.com/GPUOpen-Effects/FidelityFX-FSR) - for referernce see the research above \
BCSPLINE - https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf#### Sigmoidal curve settings (C) and (M) (Only for upscale and not part of HDR versions)
Contrast `C` is equivalent to mpv's `--sigmoid-slope` and midpoint `M` is equivalent to mpv's `--sigmoid-center`.### Gaussian blur and unsharp mask (Only for gaussian and unsharp versions)
- Unsharp mask works like this: `sharpened = original + (original − blurred) * amount`.
- Blur kernel radius is independent from scaling kernel radius.
- For shaders with both unsharp mask and gaussian blur all settings are independent.#### Blur spread or amount (S)
Gaussian blur sigma value, controls the blur intensity and how much it will be spread accros the blur kernel.#### Blur kernel radius (R)
Determines how many neighboring pixels will contribute to the blurred value of the center pixel inside the blur kernel.#### Sharpening amount (A) (Only for unsharp versions)
Sharpening amount or strenght.