Metadata-Version: 2.4
Name: vapoursynth-decross
Version: 3
Summary: Spatio-temporal cross color (rainbow) reduction filter for VapourSynth.
Keywords: video,derainbow,rainbow,crosscolor
Author-Email: cantabile <cantabile.desu@gmail.com>
Maintainer-Email: Fredrik Mellbin <fredrik.mellbin@gmail.com>
License-Expression: GPL-2.0-or-later
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: C++
Classifier: Topic :: Multimedia :: Video
Project-URL: Repository, https://github.com/dubhatervapoursynth/vapoursynth-decross.git
Project-URL: Issues, https://github.com/dubhatervapoursynth/vapoursynth-decross/issues
Requires-Python: >=3.12
Requires-Dist: VapourSynth
Description-Content-Type: text/x-rst

Description
===========

DeCross is a spatio-temporal cross color (rainbow) reduction filter.

DeCross must be used right after the source filter, before any field
matching or deinterlacing.

The luma is returned unchanged.

This is a port of the DeCross Avisynth plugin, which is in turn based
on the AviUtl plugin CrossColor.


Usage
=====
::

    decross.DeCross(clip clip, [int thresholdy=30, int noise=60, int margin=1, bint debug=False])


Parameters:
    *clip*
        A clip to process. It must have constant format and dimensions
        and it must be 8..16 bit integer YUV with 4:2:0 or 4:2:2
        subsampling.

    *thresholdy*
        Edge detection threshold. Must be between 0 and the maximum
        sample value of the clip, so 0 and 255 at 8 bit and 0 and 65535
        at 16 bit.

        The value is compared against raw sample values and is not
        scaled by the bit depth, so it has to be adjusted when moving a
        script to a deeper clip.

        Smaller values will detect and filter more edges.

        Default: 30.

    *noise*
        Luma difference threshold. Must be between 0 and the maximum
        sample value of the clip, and like *thresholdy* it is compared
        against raw sample values and is not scaled by the bit depth.

        Smaller values will filter more conservatively.

        Default: 60.

    *margin*
        Expands the edge mask to the left and right by *margin*
        pixels. Must be between 0 and 4.

        Default: 1.

    *debug*
        Instead of filtering the rainbows, show the areas that would
        be filtered.

        Default: False.


Compilation
===========

::

    mkdir build && cd build
    meson ../
    ninja


License
=======

GNU GPL v2 or later, like the Avisynth plugin.
