Skip to content

Commit

Permalink
Cosmetic
Browse files Browse the repository at this point in the history
  • Loading branch information
msg7086 committed Apr 13, 2020
1 parent 93492cc commit 055c28e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
24 changes: 14 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# MiniDeen
# Neo MiniDeen (ported from VapourSynth-MiniDeen)

MiniDeen Copyright(C) 2019 Xinyue Lu
Neo MiniDeen Copyright(C) 2019-2020 Xinyue Lu, and previous developers

MiniDeen is a spatial denoising filter. It replaces every pixel with the average of its neighbourhood.

This is a dual interface port of the [VapourSynth plugin MiniDeen](https://github.com/dubhater/vapoursynth-minideen) version beta 2.

SSE2 is required to run optimized routine. AVX2 routine is also available. Unlike VapourSynth-MiniDeen, this filter returns binary identical result between SIMD and C routine, and SIMD routine does not call C routine for pixels close to frame border.

## Usage

```
```python
# AviSynth+
LoadPlugin("MiniDeen.dll")
MiniDeen(clip, radius=1, thrY=10, thrUV=12, Y=3, U=3, V=3)
MiniDeen(clip, radiusY=1, radiusUV=1, thrY=10, thrUV=12, y=3, u=3, v=3)
# VapourSynth
core.neo_minideen.MiniDeen(clip, radius=[1,1,1], threshold=[10,12,12], planes=[0,1,2])
```

Parameters:
Expand All @@ -20,13 +24,13 @@ Parameters:

A clip to process. It must have constant format and it must be 8..16 bit with integer samples.

- *radius*
- *radiusY*, *radiusUV* / *radius*

Size of the neighbourhood. Must be between 1 (3x3) and 7 (15x15).

Default: 1.

- *thrY*, *thrUV*
- *thrY*, *thrUV* / *threshold*

Only pixels that differ from the center pixel by less than the *threshold* will be included in the average. Must be between 2 and 255.

Expand All @@ -36,15 +40,15 @@ Parameters:

Default: 10 for the Y plane, and 12 for the other planes.

- *y*, *u*, *v*
- *y*, *u*, *v* / *planes*

Whether a plane is to be filtered.

1 - Do not touch, leaving garbage data
2 - Copy from origin
3 - Process

Default: 3.
Default: 3, process all planes.


## Compilation (MSVC)
Expand All @@ -65,6 +69,6 @@ cmake --build build\x64 --config Release

## License

* ISC for VapourSynth interface and engine.
* ISC for core implementation.

* MIT for AviSynth+ interface.
* MIT for AviSynth+ and VapourSynth interface.
1 change: 1 addition & 0 deletions src/minideen_core_AVX2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,5 @@ void minideen_AVX2_16(const uint8_t *srcp8, uint8_t *dstp8, int width, int heigh
srcp += src_stride;
dstp += dst_stride;
}
_mm256_zeroupper();
}

0 comments on commit 055c28e

Please sign in to comment.