Nnedi3

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(Update version and links)
m (Use the changes since the first GitHub release)
Line 35: Line 35:
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
  v0.9.4.22   30/05/2016     + Fix for MT version of AviSynth+. nnedi3 and nnedi3_rpow2 report themselves as
+
  v0.9.4.49   08/03/2018     * Fix AVX2 path code.
                                MT_MULTI_INSTANCE if an MT version of AviSynth+ is detected, and in case it wouldn't be enough,
+
                              * Fix some potential issue with range modes.
                                I've add a mutex preventing several getframe running from the same instance filter for safety [http://forum.doom9.org/showthread.php?p=1768995#post1768995].<br>
+
                              * Change some default value setting.<br>
  v0.9.4.21   04/17/2016     * Update to asmlib 3.26.
+
  v0.9.4.48   23/11/2017     * Put back process whole plane by whole plane.
                               + Fix XP build with VS2015.<br>  
+
                               * Minor change in threadpool interface.<br>
  v0.9.4.20   09/05/2015     * Minor changes, should handle negative pitch properly.<br>
+
  v0.9.4.47   23/08/2017     + Fix possible deadlock on threadpool destructor.<br>
  v0.9.4.19   08/26/2015     + Implement use of asmlib.<br>
+
  v0.9.4.46   10/08/2017     + Forgot to add AVX path code on planarframe.<br>
  v0.9.4.18   08/25/2015     + Fix 4:1:1 chroma shift.
+
  v0.9.4.45   09/08/2017     + Fix Threadpool.
                               + Modification of the memory transfer functions.<br>
+
                               + Add AVX path code.
  v0.9.4.17   08/11/2015     + Change the order between turnl/r and nnedi3 calls in nnedi3_rpow2 to optimize speed.
+
                              * Revert to original MT multi-planar mode, may improve MT efficiency.<br>
                              + Remove memcpy_amd and use memcpy instead.<br>
+
  v0.9.4.44   14/06/2017     * Minor fix.<br>
  v0.9.4.16   08/10/2015     + Add csresize parameter, and chroma shift adjustment according resize is enabled by default.
+
  v0.9.4.43   02/06/2017     * Few changes in the threadpool and small fix.<br>
                              + Fix regression on center adjustment.<br>
+
  v0.9.4.42   19/05/2017     * Minor change in the threadpool.<br>
  v0.9.4.15   08/09/2015     + Change default value of mpeg2 to false, and keep exact
+
  v0.9.4.41   10/05/2017     * Fix crash in PlanarFrame for YUYV.<br>
                                previous behavior in that case (but doesn't put back chroma shift issue ^_^).<br>
+
  v0.9.4.40   11/04/2017     * Fix bug in x64 AVX2 asm code.<br>
  v0.9.4.14   08/09/2015     + Add resize adjustment chroma shift in case of MPEG-2 subsampling.
+
  v0.9.4.39   28/03/2017     * Some small optimizations on PlanarFrame asm for YUYV.<br>
                              + Faster RGB24 mode always.
+
  v0.9.4.38   20/03/2017     * Some cleanup and small modifications on PlanarFrame.
                              + Add mpeg2 parameter.<br>
+
                               * Update AVS+ header.<br>
  v0.9.4.13   08/08/2015     + Correction of chroma shift once for all this time.
+
  v0.9.4.37   05/03/2017     * Remove the use of asmlib.
                              + Faster RGB24 mode if FTurn is usable.
+
                              * Some little bug fixes.
                              + Fix YV411 support.<br>      
+
                              + Add an opt intermediate value (4 for AVX).
  v0.9.4.12   08/06/2015     + More checks on use of FTurn.
+
                              + Use of YMM registers in case of AVX2 (or more) CPU, and some little others cleanup/speedup.<br>
                              + Fix regression on YUY2 introduced in previous release.<br>
+
  v0.9.4.36    24/01/2017     * Set range mode default to 1. Apply range only on last step.
  v0.9.4.11   07/31/2015     + Correction of chroma shift value for 4:2:x color modes.
+
                              + Add range mode 4.<br>
                               + Add YV411 support.<br>
+
  v0.9.4.35    20/01/2017     + Fix crash on x64 version introduced in v0.9.4.34.
  v0.9.4.10   05/25/2015     + Integration of commits coming from VapourSynth version, thanks to Myrsloik.<br>
+
                              + Fix prescreener issue on flat area with value of 255.<br>
v0.9.4.9    05/10/2015      + Bug correction in x64 ASM file, thanks to jackoneill and HolyWu.<br>
+
  v0.9.4.34    17/01/2017     + Add range parameter.<br>
  v0.9.4.8    03/13/2015     + Update to last AVS+ header files.<br>
+
  v0.9.4.33    07/01/2017     + Add support for 9..16 bits and float data formats (thanks to vapoursynth port).
v0.9.4.7    01/26/2014      + Little correction in YV24 and Y8 support for nnedi3_rpow2.<br>
+
                               + Add FMA3 and FMA4 functions on some parts (thanks to vapoursynth port).
  v0.9.4.6    01/17/2014     + Little YV16 optimization.<br>
+
                               + Add sleep and prefetch paremeters.
v0.9.4.5    01/16/2014      * Updated YV16 support for nnedi3_rpow2, now fast and direct, not tweaked by going to YUY2.<br>
+
                               + Fix bug in YUY2 x64 ASM code.<br>
v0.9.4.4    01/15/2014      + Some few little optimizations.
+
  v0.9.4.32    05/12/2016     + Update to new avisynth header and add support for RGB32, RGBPlanar and alpha channel on avs+.
                              * Trick YV16 support in nnedi3_rpow2 by working internally in YUY2 mode to speed-up.<br>
+
                               + Add A paremeter (for alpha channel) on nnedi3.
  v0.9.4.3    01/14/2014     + Add FTurn support.<br>
+
                               * Update asmlib to 2.50
  v0.9.4.2    01/13/2014     + Add Y8, YV16 and YV24 support.<br>
+
                               * Use /MD (dynamic link) instead of /MT (static link) for building.<br>
v0.9.4.1    01/03/2014      + Move out all inline ASM code in external files, update code to build x64 version.
+
  v0.9.4.31    14/10/2016     * Use Mutex instead of CriticalSection on some places and some changes in the threadpool interface.<br>
                               + Update interface to new aviSynth 2.6 API.
+
                              - AviSynth 2.5.x not supported anymore.<br>
+
v0.9.4      06/10/2011      + some more optimizations + more aggressive new prescreener levels<br>
+
v0.9.3      06/06/2011      + added new prescreener. Changed 'pscrn' parameter from bool to integer.
+
                               + added 'etype' parameter and merged abs/squared weights into one binary<br>
+
v0.9.2      09/22/2010      + clean up and release source code
+
                               + speed improvements - (thanks Loren Merritt - akupenguin - for many ideas and code)
+
                                  int16 dot products in prescreener/predictor neural networks
+
                                  faster exp function approximation
+
                                  mean removal factored into weights
+
                                  lots of smaller changes
+
                              + new prediction nn weights for certain nsize/nns combinations
+
                              + added fapprox parameter
+
                              - fixed bug with border mirroring
+
                              - dropped support for sse/mmx - all asm code requires sse2. changed opt parameter
+
                                  accordingly.<br>
+
  v0.9.1      07/15/2010     + add nsize=5/6 (16x4,32x4)
+
                               + add nns=0 (16 neurons). nns 0/1/2/3 from v0.9 are now 1/2/3/4.
+
                               - new defaults. nnedi3: nsize=6,nns=1. nnedi3_rpow2: nns=3.
+
                               - fix field=0/1 flipped with rgb24 input<br>
+
  v0.9         06/10/2009     + First official release
+
                              - adds nns=0 (32 neurons). nns 0/1/2 from previous beta are now 1/2/3.
+
                              - adds nsize=4 (8x4).
+
                              - different nns/nsize defaults for nnedi3_rpow2() vs nnedi3()
+
                              - change setcachehints call
+
<br>
+
 
== Archived Downloads ==
 
== Archived Downloads ==
 
{| class="wikitable" border="1"; width="600px"
 
{| class="wikitable" border="1"; width="600px"
Line 106: Line 80:
 
!v0.9.4
 
!v0.9.4
 
|<strike>[http://bengal.missouri.edu/~kes25c/nnedi3.zip nnedi3.zip]</strike>
 
|<strike>[http://bengal.missouri.edu/~kes25c/nnedi3.zip nnedi3.zip]</strike>
|[http://web.archive.org/web/20121118091447/http://bengal.missouri.edu/~kes25c/nnedi3.zip nnedi3.zip]
+
|[https://web.archive.org/web/20121118091447/http://bengal.missouri.edu/~kes25c/nnedi3.zip nnedi3.zip]
 
|-
 
|-
 
!v0.9.2
 
!v0.9.2
|[http://web.archive.org/web/20110718080343/http://ivtc.org/yatta%20support/nnedi3.zip nnedi3.zip]
+
|[https://web.archive.org/web/20110718080343/http://ivtc.org/yatta%20support/nnedi3.zip nnedi3.zip]
 
|N/A
 
|N/A
 
|}
 
|}
  
The model weights for nnedi3 are stored in a binary file available at: [http://web.archive.org/web/20141226101614/http://bengal.missouri.edu/~kes25c/binary1.bin http://bengal.missouri.edu/~kes25c/binary1.bin]
+
The model weights for nnedi3 are stored in a binary file available at: [https://web.archive.org/web/20141226101614/http://bengal.missouri.edu/~kes25c/binary1.bin http://bengal.missouri.edu/~kes25c/binary1.bin]
 
<br>
 
<br>
 
<br>
 
<br>

Revision as of 22:44, 3 April 2018

Abstract
Author tritical, jpsdr
Version v0.9.4.49
Download NNEDI3_v0_9_4_49.7z
Category Deinterlacing
License GPLv2
Discussion Doom9 Thread, Update

Contents

Description

nnedi3 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It has same rate and double rate modes, and works with YV12, YUY2,and RGB24 input.
nnedi3 is also very good for enlarging images by powers of 2, and includes a function 'nnedi3_rpow2' for that purpose.

nnedi3 is nnedi2 with improved predictor neural network architecture and local neighborhood pre-processing. nnedi3 also has multiple local neighborhood size options to better handle image enlargement vs deinterlacing and give more quality vs speed options.

Requirements


Filters

Filter Description Color format
nnedi3

Deinterlace.

RGB24, YUY2, YV12
nnedi3_rpow2

Upscale image by the power of 2.

RGB24, YUY2, YV12


Changelog

Version      Date            Changes
v0.9.4.49 08/03/2018 * Fix AVX2 path code. * Fix some potential issue with range modes. * Change some default value setting.
v0.9.4.48 23/11/2017 * Put back process whole plane by whole plane. * Minor change in threadpool interface.
v0.9.4.47 23/08/2017 + Fix possible deadlock on threadpool destructor.
v0.9.4.46 10/08/2017 + Forgot to add AVX path code on planarframe.
v0.9.4.45 09/08/2017 + Fix Threadpool. + Add AVX path code. * Revert to original MT multi-planar mode, may improve MT efficiency.
v0.9.4.44 14/06/2017 * Minor fix.
v0.9.4.43 02/06/2017 * Few changes in the threadpool and small fix.
v0.9.4.42 19/05/2017 * Minor change in the threadpool.
v0.9.4.41 10/05/2017 * Fix crash in PlanarFrame for YUYV.
v0.9.4.40 11/04/2017 * Fix bug in x64 AVX2 asm code.
v0.9.4.39 28/03/2017 * Some small optimizations on PlanarFrame asm for YUYV.
v0.9.4.38 20/03/2017 * Some cleanup and small modifications on PlanarFrame. * Update AVS+ header.
v0.9.4.37 05/03/2017 * Remove the use of asmlib. * Some little bug fixes. + Add an opt intermediate value (4 for AVX). + Use of YMM registers in case of AVX2 (or more) CPU, and some little others cleanup/speedup.
v0.9.4.36 24/01/2017 * Set range mode default to 1. Apply range only on last step. + Add range mode 4.
v0.9.4.35 20/01/2017 + Fix crash on x64 version introduced in v0.9.4.34. + Fix prescreener issue on flat area with value of 255.
v0.9.4.34 17/01/2017 + Add range parameter.
v0.9.4.33 07/01/2017 + Add support for 9..16 bits and float data formats (thanks to vapoursynth port). + Add FMA3 and FMA4 functions on some parts (thanks to vapoursynth port). + Add sleep and prefetch paremeters. + Fix bug in YUY2 x64 ASM code.
v0.9.4.32 05/12/2016 + Update to new avisynth header and add support for RGB32, RGBPlanar and alpha channel on avs+. + Add A paremeter (for alpha channel) on nnedi3. * Update asmlib to 2.50 * Use /MD (dynamic link) instead of /MT (static link) for building.
v0.9.4.31 14/10/2016 * Use Mutex instead of CriticalSection on some places and some changes in the threadpool interface.

Archived Downloads

Version Download Mirror
v0.9.4 nnedi3.zip nnedi3.zip
v0.9.2 nnedi3.zip N/A

The model weights for nnedi3 are stored in a binary file available at: http://bengal.missouri.edu/~kes25c/binary1.bin

External Links




Back to External Filters

Personal tools