Avslibplacebo

From Avisynth wiki
Revision as of 05:42, 17 July 2022 by Reel.Deal (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Abstract
Author Asd-g
Version v1.0.0
Download avs_libplacebo-1.0.0.7z
Category Multipurpose
License GPLv3
Discussion

Contents

Description

An AviSynth+ plugin interface to libplacebo - a reusable library for GPU-accelerated image/video processing primitives and shaders.

This is a port of the VapourSynth plugin vs-placebo.

Filters

  • Debanding
  • Resampling
  • Shader
  • Tone mapping


Requirements

  • Vulkan compatible devive
  • AviSynth+ r3682 (can be downloaded from here until official release is uploaded) or later
  • Microsoft VisualC++ Redistributable Package 2022 (can be downloaded from here)
  • Supported color formats: listed below for each filter


Syntax and Parameters

Deband

libplacebo_Deband (clip input, int "iterations", float "threshold", float "radius", float "grain", int "dither", int "lut_size", bool "temporal", int[] "planes", int "device", bool "list_device")


clip   =
A clip to process.
It must be in 8, 16 or 32-bit planar format.


int  iterations = 1
The number of debanding steps to perform per sample.
Each step reduces a bit more banding, but takes time to compute.
Note that the strength of each step falls off very quickly, so high numbers (>4) are practically useless.
Must be greater than or equal to 0.
Default: 1.


float  threshold = 4.0
The debanding filter's cut-off threshold.
Higher numbers increase the debanding strength dramatically, but progressively diminish image details.
Must be greater than or equal to 0.0.
Default: 4.0.


float  radius = 16.0
The debanding filter's initial radius.
The radius increases linearly for each iteration.
A higher radius will find more gradients, but a lower radius will smooth more aggressively.
Must be radius must be greater than or equal to 0.0.
Default: 16.0.


float  grain = 6.0
Add some extra noise to the image.
This significantly helps cover up remaining quantization artifacts.
Higher numbers add more noise.
Note: When debanding HDR sources, even a small amount of grain can result in a very big change to the brightness level.
It's recommended to either scale this value down or disable it entirely for HDR.
Must be greater than or equal to 0.0.
Default: 6.0.


int  dither = 1
It's valid only for 8-bit clips.
  • 0 : Disabled.
  • 1 : PL_DITHER_BLUE_NOISE
    Dither with blue noise.
    Very high quality, but requires the use of a LUT.
    Warning: Computing a blue noise texture with a large size can be very slow, however this only needs to be performed once. Even so, using this with a lut_size greater than 6 is generally ill-advised.
  • 2 : PL_DITHER_ORDERED_LUT
    Dither with an ordered (bayer) dither matrix, using a LUT.
    Low quality, and since this also uses a LUT, there's generally no advantage to picking this instead of PL_DITHER_BLUE_NOISE.
    It's mainly there for testing.
  • 3 : PL_DITHER_ORDERED_FIXED
    The same as PL_DITHER_ORDERED_LUT, but uses fixed function math instead of a LUT.
    This is faster, but only supports a fixed dither matrix size of 16x16 (equal to a lut_size of 4).
  • 4 : PL_DITHER_WHITE_NOISE
    Dither with white noise.
    This does not require a LUT and is fairly cheap to compute.
    Unlike the other modes it doesn't show any repeating patterns either spatially or temporally, but the downside is that this is visually fairly jarring due to the presence of low frequencies in the noise spectrum.
Default: 1.


int  lut_size = 6
For the dither methods which require the use of a LUT.
This controls the size of the LUT (base 2).
Must be less than or equal to 8.
Default: 6 (64x64).


bool  temporal = false
Enables temporal dithering.
This reduces the persistence of dithering artifacts by perturbing the dithering matrix per frame.
Warning: This can cause nasty aliasing artifacts on some LCD screens.
Default: False.


int array  planes = [3,2,2]
Planes to process.
  • 1 : Return garbage.
  • 2 : Copy plane.
  • 3 : Process plane. Always process planes when the clip is RGB.
Format is [y, u, v].
Default: [3, 2, 2].


int  device =
Sets target Vulkan device.
Use list_device to get the index of the available devices.
By default the default device is selected.


bool  list_device = false]
Whether to draw the devices list on the frame.
Default: False.


Examples

TODO

Changelog

Version      Date            Changes
v1.0.0 2022/07/15 - Initial release


External Links

  • GitHub - Source code repository.




Back to External Filters


Personal tools