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. |
|
|
#321 | Link |
|
x264 developer
Join Date: Sep 2004
Posts: 2,392
|
My version gains 6% speed from 64bit. This is almost entirely due to better scheduling of dotproducts. I have no code that needs more than 8 registers for a naive scheduling, but out of order execution isn't perfect.
|
|
|
|
|
|
#322 | Link |
|
Derek Prestegard IRL
![]() Join Date: Nov 2003
Location: Los Angeles
Posts: 6,016
|
I had a wonderful experience with NNEDI3 tonight for an unusual task: Upscaling a 12 megapixel image from my Canon s90 (RAW -> Lightroom -> 16bpc ProPhoto TIFF -> 8 bit sRGB PNG) to ~48 megapixels for professional printing on 20" x 30" paper.
A 64 bit toolchain was mandatory ![]() Code:
imagesource("...\felix_source.png")
trim(1,1)
red=showred.converttoyuy2(matrix="pc.709")
green=showgreen.converttoyuy2(matrix="pc.709")
blue=showblue.converttoyuy2(matrix="pc.709")
red=red.nnedi3(field=-1,dh=true).turnright.nnedi3(field=-1,dh=true).turnleft
green=green.nnedi3(field=-1,dh=true).turnright.nnedi3(field=-1,dh=true).turnleft
blue=blue.nnedi3(field=-1,dh=true).turnright.nnedi3(field=-1,dh=true).turnleft
mergeRGB(red,green,blue)
spline64resize(7949,6000)
The result was very good! When stacked with an image scaled by Photoshop's bicubic filter, it was noticeably better, especially after I staked an instance of Photoshop's "Smart Sharpen" filter on each image. MARVELOUS work, akupenguin and tritical et al! Now, if I had support for 16 bpc through the whole pipeline, I'd be REALLY happy
__________________
These are all my personal statements, not those of my employer :) Last edited by Blue_MiSfit; 7th November 2010 at 06:53. |
|
|
|
|
|
#323 | Link |
|
Registered User
Join Date: Jan 2009
Posts: 1,210
|
Trying that out now^
EDIT: AvsP starts throwing errors when I press F5. CPU usage does shoot up to 100% for about 1 min though. EDIT EDIT: for rfactor = 4, rfactor = 2 works very snappily on my c2d. Last edited by dansrfe; 8th November 2010 at 04:12. |
|
|
|
|
|
#324 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,635
|
I'm wondering if there is not some kind of memory leak in nnedi3_rpow ? I've made an avisynth script with only AVISource and nnedi3_rpow, absolutely nothing else, and noticed during VDub process that memory usage was always increasing regularly. I've noticed this with x64 version, not tested yet with x86 version. Doesn't anybody else noticed it ?
|
|
|
|
|
|
#325 | Link |
|
Registered User
Join Date: Nov 2005
Location: UK
Posts: 117
|
tritical,
I have been using your plug-ins for some time, thought I should say thanks for all your hard work. I tried your 64-bit build of NNEDI3 using "NNEDI3_rpow2(rfactor=2,cshift="Spline64Resize")" and found the speed improvement to be vast. Using JoshyD's 2.5.8 MT x64 build, an i7 @ 4.00GHz w/6GB RAM, processing the same video (Gorillaz - Feel Good Inc. @ 720p), I got ~3fps on x86 and ~8fps on x64. Probably the most significant x86->x64 increase I have seen. I tried your first x64 build of EEDI3 but it threw up a "unable to load plugin..." error. I just re-downloaded the file from your post and see the timestamp is different, updated today (08/12/2010), so I will have a go with that build of EEDI3 x64 once my current processing job is done. Ben Last edited by bcn_246; 8th December 2010 at 07:45. Reason: wrong info |
|
|
|
|
|
#327 | Link |
|
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
@bcn_246
I haven't posted any new versions since my last post - not sure why the timestamps are different. Probably you need the visual studio 2010 runtime (http://www.microsoft.com/downloads/e...displaylang=en) for the openmp dependency. @jpsdr nnedi2_rpow is just a wrapper around nnedi3() that automates resizing. It constructs an avisynth filter chain consisting of nnedi3(), turnleft/turnright, final resize filter, etc... It doesn't allocate any memory directly so if memory is leaking it is either Avisynth or nnedi3(). It's difficult to tell for sure just looking at memory usage due to the way Avisynth's cache operates... after you open a script Avisynth doesn't immediately gobble up all the memory it plans to use. It gradually fills the cache as frames are requested until it hits its memory limit. If you let it run for a while does the memory usage stabilize? I will look into this. @dansrfe rfactor=3 in nnedi2_rpow2 should throw an error. Only powers of two are supported. |
|
|
|
|
|
#328 | Link |
|
Registered User
Join Date: Nov 2005
Location: UK
Posts: 117
|
My (stupid) mistake with the timestamps. My download manager wasn't set to copy the file's date from the server, so re-downloading modified the creation date.
I installed Microsoft Visual C++ 2010 (x64), and updated .NET to v4.0 while I was at it, EEDI3 x64 is still refusing to load. I am using Windows 7 Ultimate x64, up-to-date with MS. Here is a list of other plug-ins I have in my 'plugins64' folder. I am guessing that there is something that should be here (or in SysWOW64/System...) that EEDI3 depends on. Code:
\Documentation \Scripts fieldhint.cpp Utilities.cpp AddGrainC.dll autocrop.dll aWarpSharp.dll colormatrix.dll defreq.dll DeGrainMedian.dll dfttest.dll DirectshowSource.dll EEDI2.dll eedi3_64.dll ffms2.dll FFT3DFilter.dll FFT3dGPU.dll fftw3.dll FieldHint.dll FluxSmooth.dll gradfun2db.dll hqdn3d.dll LeakKernelDeint.dll libfftw3f-3.dll MipSmooth.dll motion.dll MT.dll mt_masktools-25-x64.dll mvtools2.dll nnedi3_64.dll RemoveGrain.dll Repair.dll TDeinterlace.dll TelecideHints.dll TIVTC.dll TNLMeans.dll TTempSmooth.dll UnDot.dll VerticalCleaner.dll yadifmod.dll ffmsindex.exe avisynth.h info.h internal.h Utilities.h fft3dgpu.hlsl FieldHint.icproj FieldHint.sln FieldHint.vcproj - Ben Last edited by bcn_246; 8th December 2010 at 19:29. Reason: added list of plugin64 files |
|
|
|
|
|
#329 | Link | |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,635
|
Quote:
- It begins at around 150MB and constantly increase. - I'm working in input with 720x480 pictures, asking for an increase size of 2 (so output at 1440x960) + Spline36Resize. I've not waiting all the time, i've just noticed the continuous increase on the begining, and noticed that several hours laters, and so dozen of file processed laters, memory usage seems stabilized at around 500MB. Edit : Video is YV12. Note : You've provided the source code of last version, thanks, nice. You've also made an experimental 64bits version, but without the source code. Is it possible you made this one avaible ? Last edited by jpsdr; 10th December 2010 at 09:51. |
|
|
|
|
|
|
#330 | Link |
|
Avisynth Developer
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
|
For a system with 2+GB of ram this is more or less what I would expect. The default SetMemoryMax is 25% physical memory capped to 512Mb. You can of course change this with a SetMemoryMax() statement at the start of your script.
|
|
|
|
|
|
#331 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,635
|
I don't understand the slow growing use of memory. Once a filter has done all the memory allocations it needs, if there is no memory leak, i don't understand why memory should slowly go bigger and bigger and bigger.... I use some others avisynth scripts (always simple basic things), and memory used is always stabilised in the few seconds, it doesn't still growing half an hour after starting the process.
This is not the case, but i think if on a script like (YV12 video) : Code:
AVISource("File.avi")
Spline36Resize(1280,720)
Wait... I remember now IanB.... I've got similar issue with something totaly different, and problem was linked to the fact that source is YV12 in 720x480, and so some resolution not mod16, and so created some cache default or i don't remember what, resulting in avisynth cache always increasing... At the time i thought there was a problem with avisynht or Lagarith... I must look out for the solution you provided me, and test it and check if there is still the memory increase. Last edited by jpsdr; 10th December 2010 at 10:15. |
|
|
|
|
|
#332 | Link |
|
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,635
|
It's not what i thought...
I've replaced Code:
AVISource("File.avi")
nnedi3_rpow2(rfactor=2,cshift="Spline36Resize",fwidth=960,fheight=720,nsize=0,nns=3,qual=2)
Code:
AVISource("File.avi",False,"YV12")
SetPlanarLegacyAlignment(True)
nnedi3_rpow2(rfactor=2,cshift="Spline36Resize",fwidth=960,fheight=720,nsize=0,nns=3,qual=2)
So, it behaves like there is some kind of memory leak somewhere... |
|
|
|
|
|
#333 | Link |
|
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,406
|
Did you read IanB's post? Start your script with the line "SetMemoryMax(16)", and see Avisynth using only very little memory.
Avisynth has an internal frame buffer. If not used elsehow by internal (temporal) filters, Avisynth will fill that frame cache with "past output frames". (For example, that means that if you're running a very slow/complex "1fps" script, you can very quickly step backwards lots of frames that already have been rendered.)
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
|
|
|
|
|
#335 | Link |
|
Avisynth Developer
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
|
There are some heuristics involved with the cache memory usage that tries to fight growth. This involves cache instances trying to recognise non-usage cases and marking VFB's involved as returned for early reuse. If the memory manager has a VFB of the right size marked as returned it will issue that one (limit mode) instead of checking the SetMemoryMax values and issuing a new one if current usage is less (growth mode) or issuing one from the LRU chain (plateau mode). The heuristic code errs on the side of safety and won't return VFB's unless it is pretty sure they will never be needed again.
If the growth is a problem use SetMemoryMax() to constrain it. Also the OS had to have memory free at script compile time to set the initial SetMemoryMax value, so that memory was not being used for anything else anyway. Last edited by IanB; 10th December 2010 at 22:40. |
|
|
|
|
|
#338 | Link | |
|
Registered User
Join Date: Dec 2010
Posts: 146
|
new user here. i am wanting to give this eedi3 filter a try but it won't load in megui. i keep getting an error saying "there is no function named eedi3". i put the dll into the plugin folder of avisynth so i don't know what i'm missing.
a secondary question: i'm wanting to use this filter for some anti-aliasing. am i choosing the proper filter for this purpose? here a the scene that i see it the most. i tried to use aaa() but that didn't seem to do much. here is the script that i am using that has given me the best results so far Quote:
here is what the scene looks like at 600kbps bitrate (might bump that up more if i can't get filters to help clean up the image) i've been trying to read up on filters for the last week or more but a lot of comments are beyond me so i very well might be implementing these filters in the wrong way. would love any help possible. kind of blindly using scintilla's filter guide as a baseline for quite a while but that is somewhat limited now that i've been snooping around on doom9 here is a vob clip of the opening scene if anyone cares to fool around with it. source is a North American DVD (ntsc?) just in case the opening scene is different from the actual episode, here is a one minute vob clip following the opening scene. Last edited by Amateur; 16th December 2010 at 02:05. |
|
|
|
|
|
|
#339 | Link |
|
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
Amateur!
try: http://forum.doom9.org/showthread.ph...90#post1423090 If You want antialiasing use function inside AnimeIVTC (ediaa, daa, maa). I prefer daa with nnedi3, and try setting for nnedi3 for improving accuracy. yup. |
|
|
|
|
|
#340 | Link | ||
|
Registered User
Join Date: Dec 2010
Posts: 146
|
alright i clicked on the link from the response to your link that is supposed to be the fix and was given a page that had three download options
Quote:
and how do i anti-alias from within animeivtc? i tried finding it in the info of animeivtc but again, it's kind of like reading another language with that much info that i'm not familiar with. i changed aa=2 because the filter had Quote:
i'm so lost... also, could deen be tweaked in any way for some improvement? Last edited by Amateur; 16th December 2010 at 16:06. |
||
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|