SangNom2

From Avisynth wiki
Revision as of 01:10, 11 May 2014 by Reel.Deal (Talk | contribs)

Jump to: navigation, search
Abstract
Author tp7
Version v0.35
Download SangNom2-x86.zip
Category Deinterlacing
License MIT
Discussion


Contents

Description

SangNom2 is a reimplementation of MarcFD's old SangNom filter. Originally it's a single field deinterlacer using edge-directed interpolation
but it's also used in various anti-aliasing scripts. The output is not completely but mostly identical to the original SangNom.


What's different

  • It's open source
  • Correct borders processing
  • Additional colorspace support
  • Multithreading support
  • Requires SSE2
*Single threaded performance is mostly identical to the old version despite this plugin using SSE2.


Y8

One of the most important differences is Y8 support in AviSynth 2.6. This enables much faster anti-aliasing
(especially when used with FTurn plugin) without any chroma processing. See maa for example.


Requirements

- AviSynth 2.6.0 Alpha5 or later
- Supported color formats: Y8, YV12, YV16, YV24, YV411
- SSE2 capable CPU


Syntax and Parameters

SangNom2 (clip, int "order", int "aa", int "aac", int "threads")


int  order = 1
Order of deinterlacing:
  • 0 : Double frame rate, top and bottom fields are kept but DoubleWeave must be called before SangNom2.
  • 1 : Single frame rate, keep top field.
  • 2 : Single frame rate, Keep bottom field.


int  aa = 48
Strength of luma anti-aliasing.


int  aac = 0
Strength of chroma anti-aliasing. The original SangNom always assumes aa=0 for chroma processing. This makes some
use cases harder to implement, so additional parameter aac was introduced. Default value is 0 to maintain backward compatibility.


int  threads =
Control how many threads SangNom2 uses. This plugin uses min(number of logical processors, 4) threads to do its job.
In my tests performance doesn't get any better when using more than 4 threads. Internally it uses a simple thread pool.


Examples

SangNom with default settings:

AviSource("blah.avi")
SangNom2(order=1, aa=48, aac=0)


SangNom with double frame rate output:

AviSource("blah.avi")
DoubleWeave()
SangNom2(order=0, aa=48, aac=0)



Changelog

Version      Date            Changes
v0.35 11/26/2013 - x64 build added. Confirmed to be a little slower than x86 on some resolutions with 4 threads and faster in other cases.
v0.3 07/26/2013 - This plugin now works only with AviSynth 2.6 Alpha4 or later. All previous versions are not supported. Download previous release if you need that. - This version adds aac parameter, which allows to configure chroma aa strength. - It now also works on YV24 correctly, instead of processing only half chroma resolution.
v0.2 07/14/2013 - Second release, containing some significant performance improvements. - This plugin is now threaded with min(number of logical processors, 4) threads used by default. To change number of threads, just use threads parameter.
v0.1 07/13/2013 - First public release. Should be more or less stable but doesn't include many improvements.


Archived Downloads

Version Download Source Code
v0.35 SangNom2-x86.zip

SangNom2-x64.zip

0.35.zip
v0.3 SangNom2.dll v0.3.zip
v0.2 SangNom2.dll v0.2.zip
v0.1 SangNom2.dll v0.1.zip


External Links





Back to External Filters

Personal tools