Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
4th May 2008, 11:24 | #1 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
AnisoTools v1.0 alpha 5
Hi,
http://manao4.free.fr/anisotools-v1.0a5.zip It is a new set of filters that I'm working on. For the moment, there's only one filter, at_spatial, which is basically a spatial denoiser. It's slow, but not optimized yet (don't expect wonders from optimizations however). You can have a look at the readme for more informations on the filter. I release the filter at such an early stage in the development process mostly to have some feedback on it in some real case uses. Be aware that the filter is really tricky to configure. The set might be extended later with a spatio-temporal denoiser (possibly mo-comped), and an inpainter. Have fun. Edited : updated link to the most recent version Changelog : From v4 to v5 : Code:
@ fixed : random black pixels around black & white edges Code:
@ fixed : possible crash introduced in v1.0a3 Code:
+ added : proper documentation (avisynth's style) + added : per plane specific parameters + added : edge and motion protection formulas. @ fixed : support for edge = 0 or motion = 0. Code:
* renamed at_spatial into at_denoise * changed parameters influence + added temporal denoising + added motion compensated temporal denoising - added resolution restriction to mod 16 horizontally & vertically
__________________
Last edited by Manao; 13th September 2008 at 13:20. |
5th May 2008, 21:20 | #2 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I'm a bit disappointed not seeing any comments / feedbacks.
Anyway, here's an alpha 2, which adds the mo-comped part to the algorithm. It got even slower, there's still no assembly, and now resolution must be a multiple of 16 both horizontally and vertically. http://manao4.free.fr/anisotools-v1.0a2.zip
__________________
|
5th May 2008, 22:08 | #3 | Link | |
Registered User
Join Date: Feb 2004
Posts: 743
|
Quote:
Richard photorecall.net |
|
6th May 2008, 11:30 | #5 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
hmm, crashes VDM on my AMD X-2, and errors out with an access violation on the quad P4 at work
this is with quicktime sources, converted to yv12 in the script, though i don't imagine that would make a difference. should i track down a single core to try it on? or is that barking up the wrong tree? btw, if it helps, virtualdubmod (on the AMD) seems to be getting the framecount before it disappears, at least judging from the seekbar appearing the way it does. i'm eager to try this one out though. more inpainting tools are always welcome, as well as denoisers of all kinds
__________________
sucking the life out of your videos since 2004 |
6th May 2008, 11:37 | #6 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I'm at work right now, so I can't test anything. I'll however emphasize a restriction that would make the filter crash :
resolution must be a multiple of 16 both horizontally and vertically. Apart from that, I don't see what could make it crash. It shouldn't care about multi cores, nor cpu type.
__________________
Last edited by Manao; 6th May 2008 at 11:44. |
6th May 2008, 18:27 | #7 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
So Mug Funky, any news on your crash ? If your video is mod16, can you post your avisynth script and tell me the video's resolution, so that I can try to replicate the problem ?
__________________
|
9th May 2008, 03:10 | #8 | Link |
Registered User
Join Date: Apr 2008
Posts: 1
|
I like the direction this project is going and I've achieved some excellent results with the at_denoise filter, however, at the speed it runs, I can use MVDegrain3 and achieve better results. However, I am hopeful that as development continues, speed and quality will improve.
|
12th May 2008, 15:19 | #9 | Link | |||
Gleitz Team Member
Join Date: Mar 2006
Location: Germany
Posts: 22
|
I did a quick test with AnsioTools.
Setup:
Quote:
1.261,37 MB @ ~192fps ....... Quote:
946,54 MB (ca. -24,9%) @ ~3,76fps ....... Quote:
1.056,29 MB (ca. -16,3%) @ ~0,47fps ....... Image 5942_at (2nd picture AnisoTools) shows a bit of gradient. It could be definitively done better, with a little more testing and tweaking on my side. But overall, very good. ATM TNLMeans is my first choice denoising Anime, and he is slow as hell. AnisoTools my be become a very good counterpart. I definitively keep my eye on it. _____ Really interesting is iterations. Unlike other filters, I can adjust the "speed" of AnisoTools (But keep in mind, it affects the denoising-quality!). I tried something like "How many time I spend AnisoTools" and then tweaked sstep & tstep. Good to know would be rule of thumb between step and iterations. _____ A little bug: "edge=0" crashes VirtualDub / MPC. _____ Feature Request: * A switch for luma/chroma-planes. * A switch how many frames proceeded temporal. (Don't even know the number of temporal frames in my little test.) _____ Question: Is AnsioTools thread-safe using it with SetMTmode()? AnsioTools use only one cpu-core.
__________________
Apologize for my English. | My PC Last edited by Naito; 12th May 2008 at 15:25. |
|||
14th May 2008, 19:07 | #10 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
New version's up : http://manao4.free.fr/anisotools-v1.0a3.zip
Changelog : Code:
+ added : proper documentation (avisynth's style) + added : per plane specific parameters + added : edge and motion protection formulas. @ fixed : support for edge = 0 or motion = 0. The crash is fixed. The rule of thumb between step & iteration is the following : if iteration isn't saturated (i.e, if raising iteration denoises more), then step * iterations constant should amount to roughly the same amount of filtering. Thus, 10 iterations with step 0.2 should be equivalent to 5 iterations with step 0.4. I don't know how MT achieve threading, but I doubt at_denoise will be MT-friendly. It might work, but even if it does, it will most probably be slower. Filtering is done recursively. The Nth iteration of the Kth frame is done using the Nth iteration of the frame K-1, and the N-1th iteration of the frame K+1. That means the filter uses implicitely 2N+1 frames temporally when filtering (thus, far more than any other filters). @all : Now that I expose the edge protection formula, I'm pretty sure you can achieve sharpening with that filter (though I'm clueless on how good/bad it can be). Try to have "motion" as high as possible. With the same amount of denoising, temporal denoising should keep more details.
__________________
|
14th May 2008, 21:02 | #12 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I work in 16 bits internally. I don't want to add back dithering, because that encodes badly. Better add it at playback.
__________________
|
16th May 2008, 12:02 | #14 | Link |
Registered User
Join Date: Oct 2007
Posts: 17
|
i try to load it but in avsp i have this errors
Code:
Traceback (most recent call last): File "AvsP.pyo", line 5819, in OnMenuVideoToggle File "AvsP.pyo", line 8925, in ShowVideoFrame File "AvsP.pyo", line 9467, in PaintAVIFrame File "pyavs.pyo", line 322, in DrawFrame File "pyavs.pyo", line 301, in _GetFrame File "avisynth.pyo", line 277, in GetFrame WindowsError: exception: access violation reading 0x0644C000 Traceback (most recent call last): File "AvsP.pyo", line 7123, in OnPaintVideoWindow File "AvsP.pyo", line 9467, in PaintAVIFrame File "pyavs.pyo", line 322, in DrawFrame File "pyavs.pyo", line 301, in _GetFrame File "avisynth.pyo", line 277, in GetFrame WindowsError: exception: access violation reading 0x0665C000 Code:
LoadPlugin("D:\Program Files\DGIndex\DGDecode.dll") mpeg2source("H:\Kimi ga Nozomu Eien\DVD1\VIDEO_TS\s01.d2v", cpu=0) ColorMatrix(mode="Rec.709->Rec.601", interlaced=false) crop(4,0,-4,0) at_denoise() |
16th May 2008, 13:17 | #15 | Link | ||
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Quote:
Quote:
__________________
|
||
10th August 2008, 19:16 | #18 | Link |
Gleitz Team Member
Join Date: Mar 2006
Location: Germany
Posts: 22
|
I have troubles using the Alpha3.
Alpha2 works flawless for all my encodes. But if I try to switch to Alpha3, it randomly crashes. No clue why (strict mod16). One extreme example: One DVD with 2 episodes. The first episode only works with Alpha2 (Alpha3 crashes), the second with Alpha2 and Alpha3. Both episodes have the same script. (Also tested with at_denoise() only, and it crashes in the middle of the lossless-encoding.) Preview in AvsP works some time, sometimes it doesn't. Really weird. I'm sorry I can't more precise about this case. It's (for me) a random error. I will try to perform some tests, if you can maybe specify some general conditions. OS: WinXP SP2, AviSynth 2.5.7, AvsP 2.0.2, VirtualDub 1.8 ___ BTW, within the zip form Alpha3 is only the old plain TXT from Alpha2.
__________________
Apologize for my English. | My PC |
10th August 2008, 21:36 | #19 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
You're not the first one to report such random crashes. I have never been able to reproduce them yet, even with a source crashing on someone else's computer, but the crash is more than probably at_denoise's fault. I'll check once more the code, perhaps (yet) another inspection will allow me to find the source of the problem.
__________________
|
14th August 2008, 10:03 | #20 | Link |
Registered User
Join Date: Dec 2005
Location: Sweden
Posts: 703
|
Great work Manao! I really like it!
Maybe this is off-topic but you say it works 16-bit internally, does this mean it would be easier to rewrite this for AviSynth 2.6 and process in 16-bit later on? There are more filters/plug-ins that work 16-bit internal for avisynth? |
Thread Tools | Search this Thread |
Display Modes | |
|
|