Skip to content
Permalink
Browse files

Add files

  • Loading branch information...
dubhater committed Jul 2, 2016
0 parents commit efbc438526b49af4307f4530ba61426463462f6e
Showing with 478 additions and 0 deletions.
  1. +23 −0 .gitignore
  2. +12 −0 Makefile.am
  3. +3 −0 autogen.sh
  4. +38 −0 configure.ac
  5. +69 −0 readme.rst
  6. +333 −0 src/cnr2.c
@@ -0,0 +1,23 @@
*.o
*.la
*.lo
*.so
*.dll
.libs
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
libtool
ltmain.sh
missing
.deps/
.dirstamp
@@ -0,0 +1,12 @@
warning_flags = -Wall -Wextra -Wshadow
common_cflags = -O2 $(MFLAGS) $(warning_flags)
AM_CFLAGS = -std=c99 $(common_cflags)
AM_CXXFLAGS = -std=c++11 $(common_cflags)

AM_CPPFLAGS = $(VapourSynth_CFLAGS)

lib_LTLIBRARIES = libcnr2.la

libcnr2_la_SOURCES = src/cnr2.c

libcnr2_la_LDFLAGS = -no-undefined -avoid-version $(PLUGINLDFLAGS)
@@ -0,0 +1,3 @@
#!/bin/sh

autoreconf --verbose --install --force
@@ -0,0 +1,38 @@
AC_INIT([Cnr2], [1], [https://github.com/dubhater/vapoursynth-cnr2/issues], [Cnr2], [https://github.com/dubhater/vapoursynth-Cnr2/])

: ${CFLAGS=""}

AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-xz subdir-objects no-define])
AM_SILENT_RULES([yes])

LT_INIT([disable-static win32-dll])

AC_PROG_CC

AC_CANONICAL_HOST


AS_CASE(
[$host_cpu],
[i?86], [BITS="32"],
[x86_64], [BITS="64"],
)

AS_CASE(
[$host_os],
[cygwin*|mingw*],
[
AS_IF(
[test "x$BITS" = "x32"],
[
AC_SUBST([PLUGINLDFLAGS], ["-Wl,--kill-at"])
]
)
]
)


PKG_CHECK_MODULES([VapourSynth], [vapoursynth])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -0,0 +1,69 @@
Description
===========

Cnr2 is a temporal denoiser designed to denoise only the chroma. This
is a port of the Avisynth filter Cnr2 version 2.6.1, originally written
by Marc FD and later adopted by tritical.

According to the original author, this filter is suited for stationary
rainbows or noisy analog captures.

Due to the way it works, this filter is forced to run in a single
thread.


Usage
=====
::

cnr2.Cnr2(clip clip[, string mode="oxx", float scdthr=10.0, int ln=35, int lm=192, int un=47, int um=255, int vn=47, int vm=255, bint scenechroma=False])


Parameters:
*clip*
Clip to process. Must be YUV420P8, YUV422P8, YUV440P8, or
YUV444P8, with constant format and dimensions.

*mode*
Mode for each plane. The letter ``o`` means wide mode, which
is less sensitive to changes in the pixels, and more effective.
The letter ``x`` means narrow mode, which is less effective.

Default: "oxx".

*scdthr*
Scene change detection threshold as percentage of maximum
possible change. Lower values make it more sensitive.

Default: 10.0.

*ln*, *un*, *vn*
Sensitivity to movement in the Y, U, and V planes,
respectively. Higher values will denoise more, at the risk of
introducing ghosting in the chroma.

Default: 35, 47, 47.

*lm*, *um*, *vm*
Strength of the denoising. Higher values will denoise harder.

Default: 192, 255, 255.

*scenechroma*
If True, the chroma is considered in the scene change detection.


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

::

./autogen.sh
./configure
make


License
=======

GPL v2, like the Avisynth plugin.

0 comments on commit efbc438

Please sign in to comment.
You can’t perform that action at this time.