Asd-g / avslibplacebo

AviSynth+ libplacebo.
GNU General Public License v3.0
25 stars 2 forks source link

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.

Requirements:

Filters

Debanding
Resampling
Shader
Tone mapping

Debanding

Usage:

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

Parameters:

Back to filters

Resampling

Usage:

libplacebo_Resample(clip input, int width, int height, string "filter", float "radius", float "clamp", float "taper", float "blur", float "param1", float "param2", float "sx", float "sy", float "antiring", bool "sigmoidize", bool "linearize", float "sigmoid_center", float "sigmoid_slope", int "trc", int "cplace", int "device", bool "list_device", float "src_width", float "src_height")

Parameters:

Back to filters

Shader

Usage:

libplacebo_Shader(clip input, string shader, int "width", int "height", int "chroma_loc", int "matrix", int "trc",  string "filter", float "radius", float "clamp", float "taper", float "blur", float "param1", float "param2", float "antiring", bool "sigmoidize", bool "linearize", float "sigmoid_center", float "sigmoid_slope", string "shader_param", int "device", bool "list_device")

Parameters:

Back to filters

Tone mapping

Usage:

libplacebo_Tonemap(clip input, int "src_csp", float "dst_csp", float "src_max", float "src_min", float "dst_max", float "dst_min", bool "dynamic_peak_detection", float "smoothing_period", float "scene_threshold_low", float "scene_threshold_high", float "percentile", float "black_cutoff", string "gamut_mapping_mode", string "tone_mapping_function", string[] "tone_constants", int "metadata", float "contrast_recovery", float "contrast_smoothness", bool "visualize_lut", bool "show_clipping", bool "use_dovi", int "device", bool "list_device", string "cscale", string "lut", int "lut_type", int "dst_prim", int "dst_trc", int "dst_sys")

Parameters:

Back to filters

Building:

Requirements:
    - CMake
    - Ninja
    - Vulkan SDK (https://vulkan.lunarg.com/sdk)
    - Clang-cl (https://github.com/llvm/llvm-project/releases) (Windows)
Steps:
    Install Vulkan SDk.

    Clone the repo:
        git clone --recurse-submodules --depth 1 --shallow-submodules https://github.com/Asd-g/avslibplacebo

    Set prefix:
        cd avslibplacebo
        set prefix="%cd%\deps" (Windows)
        prefix="$(pwd)/deps" (Linux)

    Build dolby_vision:
        cd dovi_tool/dolby_vision
        cargo install cargo-c
        cargo cinstall --release --prefix %prefix% (Windows)
        cargo cinstall --release --prefix $prefix (Linux)

    Building libplacebo:
        cd ../../libplacebo
        set LIB=%LIB%;C:\VulkanSDK\1.3.268.0\Lib (Windows)
        meson setup build -Dvulkan-registry=C:\VulkanSDK\1.3.283.0\share\vulkan\registry\vk.xml --default-library=static --buildtype=release -Ddemos=false -Dopengl=disabled -Dd3d11=disabled --prefix=%prefix% (Windows)
        meson setup build --default-library=static --buildtype=release -Ddemos=false -Dopengl=disabled -Dd3d11=disabled --prefix=$prefix (Linux)
        ninja -C build
        ninja -C build install

    Building plugin:
        cd ../
        cmake -B build -G Ninja -DCMAKE_PREFIX_PATH="c:\VulkanSDK\1.3.283.0;%prefix%" (Windows)
        cmake -B build -G Ninja -DCMAKE_PREFIX_PATH=$prefix (Linux)
        ninja -C build

Back to top