SangNom2
From Avisynth wiki
(Difference between revisions)
m (update) |
m (minor) |
||
Line 10: | Line 10: | ||
<br> | <br> | ||
== Description == | == Description == | ||
− | :SangNom2 is a reimplementation of MarcFD's old [[SangNom]] filter. The output is not completely but mostly identical. | + | :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]]. | ||
<br> | <br> | ||
==== What's different ==== | ==== What's different ==== | ||
Line 24: | Line 25: | ||
:One of the most important differences is [[Y8]] support in AviSynth 2.6. This enables much faster anti-aliasing | :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. | + | :(especially when used with [[FTurn]] plugin) without any chroma processing. See [[maa]] for example. |
<br> | <br> | ||
== Requirements == | == Requirements == | ||
Line 30: | Line 31: | ||
:- Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | :- Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | ||
− | :- [[SSE2]] | + | :- [[SSE2]] capable CPU |
<br> | <br> | ||
== [[Script variables|Syntax and Parameters]] == | == [[Script variables|Syntax and Parameters]] == | ||
Line 46: | Line 47: | ||
<br> | <br> | ||
::{{Par2|aac|int|0}} | ::{{Par2|aac|int|0}} | ||
− | :::Strength of chroma anti-aliasing. The original [[SangNom]] always assumes {{Template:FuncDef|aa}}=0 for chroma processing. This makes some | + | :::Strength of chroma anti-aliasing. The original [[SangNom]] always assumes {{Template:FuncDef|aa}}=0 for chroma processing. This makes some |
− | :::cases harder to implement, so additional parameter {{Template:FuncDef|aac}} was introduced | + | :::use cases harder to implement, so additional parameter {{Template:FuncDef|aac}} was introduced. Default value is 0 to maintain backward compatibility. |
− | + | ||
<br> | <br> | ||
::{{Par2|threads|int| }} | ::{{Par2|threads|int| }} | ||
− | :::Control how many threads SangNom2 uses. This plugin uses min(number of logical processors, 4) threads to do its job. | + | :::Control how many threads SangNom2 uses. This plugin uses min(number of logical processors, 4) threads to do its job. |
− | :::tests performance doesn't get any better when using more than 4 threads. Internally it uses a simple thread pool. | + | :::In my tests performance doesn't get any better when using more than 4 threads. Internally it uses a simple thread pool. |
+ | <br> | ||
+ | == Examples == | ||
+ | SangNom with default settings: | ||
+ | [[AviSource]]("blah.avi") | ||
+ | SangNom2(order=1, aa=48, aac=0) | ||
+ | <br> | ||
+ | SangNom with double frame rate output: | ||
+ | [[AviSource]]("blah.avi") | ||
+ | [[DoubleWeave]]() | ||
+ | SangNom2(order=0, aa=48, aac=0) | ||
+ | <br> | ||
+ | |||
<br> | <br> | ||
== Changelog == | == Changelog == | ||
Line 95: | Line 107: | ||
== External Links == | == External Links == | ||
*[http://forum.doom9.org/showthread.php?t=168315 Doom9 Forum] - SangNom2 discussion. | *[http://forum.doom9.org/showthread.php?t=168315 Doom9 Forum] - SangNom2 discussion. | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | ----------------------------------------------- | ||
+ | '''Back to [[External_filters#Deinterlacing|External Filters]] ←''' |
Revision as of 00:10, 11 May 2014
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
- - SSE2 capable CPU
Syntax and Parameters
- SangNom2 (clip, int "order", int "aa", int "aac", int "threads")
- int order = 1
- Order of deinterlacing:
- int order = 1
- 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 aa = 48
- 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 aac = 0
- 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.
- int threads =
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 | 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
- Doom9 Forum - SangNom2 discussion.
Back to External Filters ←