View Full Version : fft3dGPU 0.8.2
Pages :
1
2
3
4
5
6
7
8
9
10
11
12
13
[
14]
15
16
17
18
19
Archiver
20th July 2007, 01:42
It's really a % 4. It's ok I'll have to continue to use fft3.. it's really slow.. but do a great job.
Maybe tsp will contact me to test a new version :)
I see.
Ehm, did you upload some sample clip ?
G_M_C
20th July 2007, 08:32
I use fft3dgpu (0.8.2.0) since some time with different Nvidia cards. [...]
Me too, In fact i use a Gainward Bliss 7800GS; Wich actually has a 7900GT chip with 24 pipelines on it (on AGP).
I haven't had any problems what-so-ever with FFT3DGPU and my NVidia-card. So i cant confirm your expiriance with you NVidia's.
3ngel
20th July 2007, 11:39
Sorry for the (pheraps already replied) question :) but:
1) ATM with the same params the result is the same as normal FF3DFilter?
2) There is a considerable speed improvement comparing the cpu=2 of normal FF3D and this FF3DGPU on a X1950?
Thanks
survivant
20th July 2007, 16:22
ATI just release a new set a drivers 7.7. I'll try if it's solve the problem. Maybe FF3DGPU been tested with old drivers, and it doesn't work with my ATI X800 Pro anymore
Archiver
20th July 2007, 20:42
Me too, In fact i use a Gainward Bliss 7800GS; Wich actually has a 7900GT chip with 24 pipelines on it (on AGP).
I haven't had any problems what-so-ever with FFT3DGPU and my NVidia-card. So i cant confirm your expiriance with you NVidia's.
I mostly use an XFX Geforce 7900 GT (std. clocks) and it gives me about 35 fps at Full-PAL (768x576, interlaced). :)
Before FFT3DGPU, i could not really use FFT3DFILTER, because it is just so slow on any machine setup. I can say from my experience with tests i did with my setup, that with the use of the 7900 GT my denoising is much faster than real-time, something i could only dream about before.
By the way, you were just lucky not to experience some problems, because you did not have the same circumstances. It is not due to a particular Nvidia chip, at least the ones i used so far.
Archiver
20th July 2007, 21:16
ATI just release a new set a drivers 7.7. I'll try if it's solve the problem. Maybe FF3DGPU been tested with old drivers, and it doesn't work with my ATI X800 Pro anymore
Yes, ATI .. lol ... don't get me wrong, they made great GPUs, BUT they did not learn how to deliver "proper" drivers in 20+ years !
Just watch the update frequency compared to Nvidia ... and be sure it is not because Nvidia belongs to those companies who's policy is like ... "we give a driver, if it does not work, let the customer write one himself" .. no, their software in general is just superior and that's what counts in the end.
p.s.
and yes, i also was victim of "ATI Technologies Ltd." for years.
Archiver
20th July 2007, 21:33
Sorry for the (pheraps already replied) question :) but:
1) ATM with the same params the result is the same as normal FF3DFilter?
2) There is a considerable speed improvement comparing the cpu=2 of normal FF3D and this FF3DGPU on a X1950?
Thanks
I cannot speak for your system obviously, but i can give you an idea of the performance relations:
with fft3dfilter (ncpu=1) -> 11 fps
with fft3dfilter (ncpu=2) -> 12 fps
with fft3dgpu -> 35 fps
Following commands used (system with core2 duo 2.4 CPU and 7900 GT GPU):
FFT3DFILTER(sigma=4, sharpen=1.2, bw=32, bh=32, ow=16, oh=16, bt=3, interlaced=true, ncpu=1)
FFT3DFILTER(sigma=4, sharpen=1.2, bw=32, bh=32, ow=16, oh=16, bt=3, interlaced=true, ncpu=2)
FFT3DGPU(sigma=4, sharpen=1.2, mode=1, bw=32, bh=32, ow=16, oh=16, bt=3, precision=0, interlaced=true)
I know, to compare fft3dgpu to fft3dfilter i should use "precision=2", but i do not anymore, since i mostly got weird or clearly worse results (precision=2 results in about 1-2 fps less than with the use of precision=0).
The X1950 (Pro, or better) is quite a fast card, so should make sense to give it a try.
survivant
21st July 2007, 13:56
and yes, i also was victim of "ATI Technologies Ltd." for years.
I'll not enter this game :)
The point is the fft3dgpu doesn'T work with my video card..
survivant
27th July 2007, 18:57
if I bought a new graphics card. Which card should I choose, to be sure that it's supported in FFT3DPGU ? Could be ATI or Nvidia (but it will be a PCI-E card and a recent one :) )
nvidia geforce 7800GT on windows xp as that is what I use. geforce 8800 would of course be faster and someday I will get one of those.
Rather annoying that the different cards aren't more compatible with each other.
TheRyuu
27th July 2007, 22:30
nvidia geforce 7800GT on windows xp as that is what I use. geforce 8800 would of course be faster and someday I will get one of those.
Rather annoying that the different cards aren't more compatible with each other.
I've used fft3dgpu on an 8800GTS 640. It was slightly faster then using fft3dfilter with SetMTMode(2) on a dual core Opteron @ 2.7ghz.
However, I was overclocking my 8800GTS which made fft3dgpu give off a lot of artifacts. fft3dgpu seems to be rather sensitive to overclocks since pretty much no other game or benchmark or any 3d app shows any signs of artifacts.
So when I use it I just have to lower my overclock or I just go and use fft3dfilter since it's not that much slower with setmtmode(2).
survivant
27th July 2007, 23:14
OK thanks. I don't think that I'll buy a 8800.. don't have enough money :)
if tsp have a Nvidia I'll go with that :)
TSP do you have a debug version that I can test trying to figure what is the problem with my ATi X800 pro ?
I'll reinstall XP this week, and see if that solve the problem
Zach
1st August 2007, 10:29
However, I was overclocking my 8800GTS which made fft3dgpu give off a lot of artifacts. fft3dgpu seems to be rather sensitive to overclocks since pretty much no other game or benchmark or any 3d app shows any signs of artifacts.
I'm wondering if that's my problem. I have a factory overclocked 8800GTX, but when I got it a couple of months ago, I torture-tested it with a 15 hour 3dMark06 loop, and needless to say, I haven't had a lick of trouble with this card.
With that said, I can't get fft3dGPU to run more than two minutes before my entire system freezes. :( No errors... no crashes... explorer just locks up. Mouse still works and the keyboard sort of works (but laggy), but the OS is so locked up that it won't accept input from either so I have to manually reboot the machine.
Since the overclock is hard-coded in the card's firmware, I guess I can try using RivaTuner or something to down clock it and see if that fixes the problem.
Update: For reasons mostly unrelated to this, I restored an image of my system drive from two days ago. I've only tried one thirty minute clip, but using fft3dgpu did not lock up my system this time. <crossing fingers hoping I repaired my apparently corrupt system.>
TheRyuu
5th August 2007, 04:33
It might of had something to do with drivers or driver settings like AA/AF.
Rivatuner can downclock a card although it shouldn't freeze (somehow the freezing seems software related).
Zach
7th August 2007, 02:39
It might of had something to do with drivers or driver settings like AA/AF.
Heh... I seen that "advice" before, but explain to me how to set the AA/AF settings for a 2D application. :p (This is a trick question, so answer carefully. :))
Anyway, I processed another thirty minute clip with no problems, so as I indicated in my "Update:", I'm pretty sure that it was just my system, as a whole, that was messed up. Since I've restored my system, everything has been working flawlessly, knock on wood. :)
Leak
7th August 2007, 08:13
Heh... I seen that "advice" before, but explain to me how to set the AA/AF settings for a 2D application. :p (This is a trick question, so answer carefully. :))
If you're using FFT3DGPU, it's no longer a 2D application... simple as that... :D
totya
7th August 2007, 08:57
Sorry..I don't know these information, if I set AA OFF, 2X, 4X in the VGA control panel, the fft3dgpu noise filter quality is change?
aqualung99
21st August 2007, 00:34
I just wanted to send a big "Thank You!" to tsp!
I have some very, very noisy 1080p source -- and to my eye a little bit smoother is way better than sharper with dots. So, for me, a simple:
FFT3dGPU(sigma=6, precision=1)
gives me dramatic noise reduction (I know 6 sounds high, but believe me it needed it) and works in real time. Booyah!
I'm basically getting all the power (well, all I care about) of the FFT3DFilter for free. It's like my own little slice of heaven...
FYI I have Intel Core2 x6800 and dual 8800 GTX in SLI (though not sure if FFT3dGPU is utilizing both cores or not -- don't really care since I'm already getting real-time or better...)
My only "complaint" (and I wouldn't even call it that) is that if I try to use "precision=2" then I get an E_OUTOFMEMORY error from fft3dgpu. But again, I don't really care that much since I'm not doing any sharpening I don't think I'm losing anything. Just a little surprised about the memory error when these 8800 GTXs each have 768MB on-board...
Thanks again tsp!!! You the man!
DarkNite
21st August 2007, 12:26
FYI I have Intel Core2 x6800 and dual 8800 GTX in SLI (though not sure if FFT3dGPU is utilizing both cores or not
That's a good question... Have you tried looking at the nVidia temperature monitoring applet yet to look for any indications of activity? It's doubtful that there is (something comes to mind about the lack of an SLI profile), but worth knowing for those with more than one GPU.
aqualung99
21st August 2007, 20:09
That's a good question... Have you tried looking at the nVidia temperature monitoring applet yet to look for any indications of activity?
I have now :) By default, it looks like only one GPU is used. By I can force both GPUs to get used by using the nVidia control panel ("Manage 3D settings") and adding a new entry for VirtualDubMod.exe in the Program Settings. Then I just have to set "SLI Performance Mode" to "Force split-frame rendering" and there we go -- both GPUs go up in temperature by about 5 degrees while running.
Hope that helps somebody...:)
DarkNite
22nd August 2007, 10:04
Well let's see if it helps YOU first. ;)
We can determine that by comparing your benchmark scores against mine (http://forum.doom9.org/showthread.php?p=913934#post913934) (a single 8800 GTX).
Run this script through VirtualDubMod using a video test pass, or direct stream copy and save as avi, and let us know what your minimum and average fps are.
ColorBars (width=1284,height=1024,pixel_type="YV12")
fft3dgpu(bt=4,sigma=2,sharpen=1,bw=128,bh=128,plane=4,precision=2,degrid=1,sigma3=5,oh=64,ow=64)
It would also be useful to know what your results are with a single GPU first.
aqualung99
23rd August 2007, 02:50
Well let's see if it helps YOU first. ;)
We can determine that by comparing your benchmark scores against mine (http://forum.doom9.org/showthread.php?p=913934#post913934) (a single 8800 GTX).
Run this script through VirtualDubMod using a video test pass, or direct stream copy and save as avi, and let us know what your minimum and average fps are.
ColorBars (width=1284,height=1024,pixel_type="YV12")
fft3dgpu(bt=4,sigma=2,sharpen=1,bw=128,bh=128,plane=4,precision=2,degrid=1,sigma3=5,oh=64,ow=64)
It would also be useful to know what your results are with a single GPU first.
I'll have to wait about 12 hours before trying this (just started a big transcode) but I'll let you know. All 3 planes will probably be slower than what I'm used to only doing 1 :)
aqualung99
23rd August 2007, 16:25
I don't really trust the numbers I'm seeing. Can you tell me exactly how you got your min FPS/max FPS figures? Assume I know nothing....
Also, doing a "Save as AVI" seems like a bad idea right? I don't want to be limited by my hard-drive speed for the benchmark....(as rediculous as that might sound)
Other than that, you mention a "video test pass", which I thought I had interpreted correctly but again lead me to suspect figures.
Sorry if this seems dumb, just want to compare apples to apples...more details for the newbie please! :)
:stupid:
Tanma
23rd August 2007, 20:57
FFT3dGPU doesn't have support yet for MT use?
Fizick
23rd August 2007, 22:30
Do you have multi GPU? ;)
DarkNite
23rd August 2007, 23:31
Can you tell me exactly how you got your min FPS/max FPS figures?
1) Open script in VirtualDub, go to "File" menu, select "Run video analysis pass"... Watch status screen to get a feel for how your results should look, and then repeat three times (using kronos in script) and refer to dump file for reports after each pass. Average the results for lowest fps values returned from each pass, and highest fps values returned from each pass. Close to "real world" results, but technically a synthetic benchmark.
2) Open script in VirtualDub, go to File menu, select Save as AVI... Same methods for monitoring and results. "Real world" results since I would never encode and not have an output file saved.
If your storage arrangement can't handle the minimal output from this benchmark that does a fine job of stressing the GPU and not your disk throughput you have much larger problems to worry about than idealism.
I ran the test as I had seen it mentioned before (in VirtualDub) otherwise I would usually run a script for benchmarking through avs2avi with the -c null switch and check the average reported at the end of each pass. Min and max fps results are a bit more useful to me though (got spoiled by them doing gaming benchmarks and spotting bottlenecks), and it's easy to get the average from them for those who want that.
The test will be useful enough (no matter how you do it) as long as you do both single GPU test runs, and multi GPU test runs.
aqualung99
24th August 2007, 01:25
Thanks for the instructions. I'm no expert at doing this stuff, so take these figures with a grain of salt...
Here are my results:
Single GPU:
Best FPS: 16.00
Worst FPS: 14.42
Notes: 2nd GPU stays cold. The average was closer to 16 than it was to 14.42...
Dual GPU (Split-frame):
Best FPS: 16.02
Worst FPS: 15.45
Notes: Increase temp of both GPU confirmed. The average was maybe ~0.1 fps higher than the single GPU configuration.
Dual GPU (alt-frame 1):
Best FPS: 15.53
Worst FPS: 15.07
Notes: 2nd GPU stays cold. Lower average than single GPU configuration.
Dual GPU (alt-frame 2):
Best FPS: 15.53
Worst FPS: 14.43
Notes: Increase temp of both GPU confirmed. Lowest average of all configs (usually 14.something)
Conclusion? Probably save some electricity by sticking with single GPU config...:)
[Edit: FYI when I use my "simple" setting (fft3dgpu(sigma=1.5,precision=1)), I get Min 38.00fps and Max 39.26fps. Very sweet :) ]
DarkNite
24th August 2007, 10:22
Well, if the min is rising that at least tells you it's doing something right. It's encouraging just to know it doesn't crash and present an access violation. ;)
Your results actually make me want to test my card out again since my numbers were from one of the initial drivers, and they were horribly glitched in certain areas. I was also running on a single stick of value RAM I salvaged from a slave box until my matched pairs came back from RMA.
Oh well, I'll just assume the results are better then they were. Thanks for taking your time to let us know how it worked out for you. I call my card the 8800 FTW ;)
aqualung99
25th August 2007, 11:48
[Kind of Off-topic]
Well, this could have something to do with it as well:
http://www.tomshardware.com/2006/11/29/geforce_8800_needs_the_fastest_cpu/
Or, that may be bull-sh*t :) But it at least *appears* to be true here...I leave it to the readers to decide.
[/Kind of Off-topic]
Haven't seen a post from tsp in a while. In theory, his stress-test might actually achieve 24 fps (or maybe even 30!) on dual 8800 GTX cards if configured properly. I think the key is acting more like a video game (SLI is pretty much automatic for most games.)
For the record, I'd be happy to test any builds and report the results. (I'm definitely in love with the fft3dgpu filter :) )
[Edit: Not sure that came out right. Tsp, if you never want to touch this filter again that's ok by me. You've already delivered a wonderfull filter to this community. I just wanted to make it clear that I would help any way I can if you would like.]
DarkNite
26th August 2007, 12:06
I'll wait for real quad core. Somehow pasting two dual core dies together with no integrated cache just doesn't do it for me.
Your post made me think about what's left to be done for this filter IMHO. There's nothing I can think of that I actually use within this filter that doesn't already work for me.
Well, now that I have Bioshock and Shivering Isles, I might not be posting for ages as well. :D
TheRyuu
22nd September 2007, 17:13
I finally started using this filter and I love it.
It is faster then fft3dfilter, although not by much.
I have it running stable on my 8800GTS at 600/1800 for the clocks. Anything higher then that and it starts to get unstable. Anything lower, and well, it's slower. :p
Thanks and great work on the filter.
Jeremy Duncan
27th September 2007, 00:36
I can't use dehalo with the version available today.
FFT3DGPU(sigma=0.6, bw=14, bh=14, ow=7, oh=7, bt=2, dehalo=1, hr=1, sharpen=0.9)
May i ask that the FFT3DGPU be updated to include the parmeters of the FFT3DFILTER version 2.1.1
Why do you change the default parameters in the gpu version from the cpu version ?
tsp
27th September 2007, 22:00
Jeremy Duncan: well I plan to include in the next version but I don't know when that will be ready (could be a while). Also the default parameters is the same as fft3dfilter 1.8.5 that the current version of fft3dgpu is based on (expect bw,bh,ow,oh value as they need to be a power of two in fft3dgpu)
CruNcher
22nd October 2007, 14:05
Hi tsp did you read this yet ?
http://www.gpgpu.org/s2007/
wouldn't it be better (faster, less error prone to buggy windows drivers) to implement fft3dgpu (interface for Avisynth to CUDA/CTM or GPGPU) directly via Nvidia (CUDA) and ATI/AMD (CTM) own APIs or maybe GPGPU instead of going over the limited shaders ?
i think such a version would be especialy beneficial for all the users with the Newer GPGPU capable cards but im not sure how it looks with backward compatibility for ATI/AMD it seems to support pretty much every older Chip (just performance differences) but for Nvidia it seems only starting with the new G8x at least thats what the Marketing says on CUDA but GPGPU shows results based also on older cards like the G7x generation (GPUBENCH). FFT is said to be upto 16x faster this way (special FFT math librarys), sure it would still be limited by the GPU to HOST and HOST to GPU speed so im not sure if we really could gain all this 16 times faster really as the bandwith seems limited for HD 1080p i doub't it, with PCI Express 2.0 maybe ?.
ATI/AMD presented Realtime 720p Mpeg-2 Encoding on the GPU tough so at least 720p seems quite doable, im sure alot of other Avisynth filters could also benefit from this direct interface to the GPU, thx for all your amazing work on this GPU stuff for Avisynth.
MfA
22nd October 2007, 16:26
NVIDIA already has a CUDA FFT library modeled on FFTW (so you give your parameters and it picks the best plan/implementation). Unfortunately it doesn't have a real-FFT so you have to work on 2 buffers at a time for good performance (you can do 2 real FFTs with 1 complex one).
tsp
22nd October 2007, 19:13
CruNcher: yes it would probably be faster. The problem is that I would have to create to version one for ATI and one for Nvidia and as you wrote only geforce 8x00 and better would be supported. Currently I don't have a geforce 8x00 card so it makes it difficult to test :-) and I only have 1 computer so I would have to change the graphics card to test the ATI part.
MfA: The fft implemented in fft3dgpu currently does two real FFT's at a time so that is not a problem
Boulder
27th October 2007, 13:50
This script often causes problems, just like what is mentioned in the first paragraph of this post: http://forum.doom9.org/showthread.php?p=1058471#post1058471
MPEG2Source("path\file.d2v",cpu=4)
den=FFT3DGPU(sigma=1.5,plane=4,mode=0)
DegrainFFTC(last,den,sad=400,pl=0)
FFT3DGPU(sigma=1.5,bt=3,plane=1)
The function Degrain is in a file called degrain.avsi, which is in the Avisynth 2.5 plugins folder. The contents of the file are:global idx_counter = 10
global idx_counter_2 = 50
function Degrain( clip c, int "blk", int "ol", int "sh", int "sad", int "pl", int "div", int "limy", int "limuv" )
{
global idx_counter = idx_counter + 1
global idx_counter_2 = idx_counter_2 + 1
blk = default( blk, 16 )
ol = default( ol, 0 )
sh = default( sh, 2 )
sad = default( sad, 200 )
pl = default( pl, 4 )
div = default( div, 0 )
limuv = default( limuv, 255 )
vbw1=MVAnalyse(c,isb=true,truemotion=true,delta=1,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw1=MVAnalyse(c,isb=false,truemotion=true,delta=1,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vbw2=MVAnalyse(c,isb=true,truemotion=true,delta=2,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw2=MVAnalyse(c,isb=false,truemotion=true,delta=2,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
nolimit = MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter,plane=pl)
defined(limy) ? LimitChange(MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter,plane=pl),c,limy,limuv) : nolimit
}
function DegrainC( clip c, int "blk", int "ol", int "sh", int "sad", int "pl", int "div", int "limy", int "limuv" )
{
global idx_counter = idx_counter + 1
global idx_counter_2 = idx_counter_2 + 1
blk = default( blk, 16 )
ol = default( ol, 0 )
sh = default( sh, 2 )
sad = default( sad, 200 )
pl = default( pl, 4 )
div = default( div, 0 )
limuv = default( limuv, 255 )
vbw1=MVAnalyse(c,isb=true,truemotion=true,delta=1,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw1=MVAnalyse(c,isb=false,truemotion=true,delta=1,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vbw2=MVAnalyse(c,isb=true,truemotion=true,delta=2,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw2=MVAnalyse(c,isb=false,truemotion=true,delta=2,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
nolimit = MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter,plane=pl)
defined(limy) ? LimitChange(MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter,plane=pl),c,limy,limuv) : nolimit
}
function DegrainFFTC( clip c, clip cleaned, int "blk", int "ol", int "sh", int "sad", int "pl", int "div", int "limy", int "limuv" )
{
global idx_counter = idx_counter + 1
global idx_counter_2 = idx_counter_2 + 1
blk = default( blk, 16 )
ol = default( ol, 0 )
sh = default( sh, 2 )
sad = default( sad, 200 )
pl = default( pl, 4 )
div = default( div, 0 )
limuv = default( limuv, 255 )
vbw1=MVAnalyse(cleaned,isb=true,truemotion=true,delta=1,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw1=MVAnalyse(cleaned,isb=false,truemotion=true,delta=1,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vbw2=MVAnalyse(cleaned,isb=true,truemotion=true,delta=2,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw2=MVAnalyse(cleaned,isb=false,truemotion=true,delta=2,pel=2,chroma=true,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
nolimit = MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter_2,plane=pl)
defined(limy) ? LimitChange(MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter_2,plane=pl),c,limy,limuv) : nolimit
}
function DegrainFFT( clip c, clip cleaned, int "blk", int "ol", int "sh", int "sad", int "pl", int "div", int "limy", int "limuv" )
{
global idx_counter = idx_counter + 1
global idx_counter_2 = idx_counter_2 + 1
blk = default( blk, 16 )
ol = default( ol, 0 )
sh = default( sh, 2 )
sad = default( sad, 200 )
pl = default( pl, 4 )
div = default( div, 0 )
limuv = default( limuv, 255 )
vbw1=MVAnalyse(cleaned,isb=true,truemotion=true,delta=1,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw1=MVAnalyse(cleaned,isb=false,truemotion=true,delta=1,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vbw2=MVAnalyse(cleaned,isb=true,truemotion=true,delta=2,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
vfw2=MVAnalyse(cleaned,isb=false,truemotion=true,delta=2,pel=2,chroma=false,blksize=blk,idx=idx_counter,sharp=sh,overlap=ol,divide=div)
nolimit = MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter_2,plane=pl)
defined(limy) ? LimitChange(MVDegrain2(c,vbw1,vfw1,vbw2,vfw2,thSAD=sad,idx=idx_counter_2,plane=pl),c,limy,limuv) : nolimit
}Is it just that I shouldn't call FFT3DGPU twice like this, using it for pre-denoising in an external function and then for chroma cleaning when the motion-compensated denoising is done?
DarkNite
4th November 2007, 07:46
I have most of my issues with fft3dgpu when I call it twice in a script. For example, I can guarantee you MeGUI's bitrate calculator will crash upon opening if I use fft3dgpu twice in a script to process seperate planes (which I was doing because it was faster than plane=4, and I wanted a large batch of encodes done quickly).
smok3
13th November 2007, 13:18
:thanks:
btw, some usage examples (with speed notice) would be really cool (in docs i mean).
btw2, on radeon X1950pro i get real-time playback with 720x576/25fps using "FFT3DGPU(sigma=2,sharpen=0.1)".
steve77
14th December 2007, 14:54
Hi there,
I've read through many of the pages on this tread but couldn't find my answer... maybe I'm blind.
Anyway, does FFT3DGPU work with the ATI 2600XT series graphics cards? I really hope it does, as I will be getting one for xmas and use FFT3DFilter religiously. I'd like to offload some of the processing from my Core 2 Duo as for most 720x400 content I encode I manage a 10FPS~15FPS per second in Vista w/some basic deinterlacing (TDEINT).
SO, does the 2600XT work with FFT3DGPU?
Cheers,
Chris
Fizick
14th December 2007, 17:20
It should work properly with any modern card.
How fast? You will tell us about it :)
EasyStart
15th December 2007, 02:25
Hi guys,
I don't know what I've done wrong. My AVS scripts produces distorted video most of the time when I run avisynth in multi-threaded mode. Single thread is ok. Here's my pc spec
nVidia 8800GTX
Q6600
2GB DDR2-800 ram
2x500GB SATA HDDs
Win XP Pro with SP2 (no additional Windows Updates)
Directx is updated with latest Nov2007 redist
Latest version nVidia driver v163.75
Avisynth v2.5.7 MT
Video card is never overclock.
LimitedSharpenFaster( ss_x=2.5, ss_y=2.25, strength=90, smode=4 )
SetMTMode(6)
#fft3dGPU( sigma=5, plane=0 ).fft3dGPU( sigma=6, plane=3 ) #don't work with MTmode 5 or 6, use plane=4
( last.height > 288 )
\ ? fft3dGPU( sigma=6, plane=4 )
\ : fft3dGPU( sigma=6, bt=2 )
SetMTMode(2)
a = last
b = a.degrainmedian( mode=1 ).cnr2()
SeeSaw( a,b,NRlimit=17,bias=18,Smode=11,Szp=18,SdampLo=20 )
Running 4 threads is a lot faster than single thread. A lot of times, I have to re-load the AVS file 5 to 7 times into ProCoder before it gets itself right.
Thanks in advance,
Easystart
TheRyuu
18th December 2007, 20:13
Don't thread fft3dgpu. Just thread what's around it.
SetMTMode(2)
blahfilter1()
blahfilter2()
SetMTMode(0)
fft3dgpu()
SetMTMode(2)
blahfilter3()
blahfilter4()
etc...
or
MT("
blahfilter1()
blahfilter2()
",4,8)
fft3dgpu()
MT("
blahfilter3()
blahfilter4()
",4,8)
I currently use the latter since it seems to offer the greatest amount of compatibility with the different filters that I use.
IIRC using mtmode(6) is slower then not using it at all I think. Never tested it though.
tsp
18th December 2007, 22:33
wizboy11: Don't use SetMtmode(0) use SetMtmode(5) or SetMtmode(6) instead as setmtmode(0) does nothing. But you are right that MT() is more flexible.
EasyStart
19th December 2007, 11:52
I agree. Mt("filter()",2,4) is more flexible and stable. It works everytime but using SetMTMode(2,4) is faster in my case. I mainly encode VCD. One TV episode of 40 minutes takes 17 minutes with SetMTMode() and over 24 minutes with MT() to do a 2 pass encoding. Not sure what I will try next. Probably try installing Windows XP SP3 RC this weekend.
Easystart
TheRyuu
19th December 2007, 20:04
wizboy11: Don't use SetMtmode(0) use SetMtmode(5) or SetMtmode(6) instead as setmtmode(0) does nothing. But you are right that MT() is more flexible.
I know (that's why everything BUT fft3dgpu was multi-threaded) I was saying that fft3dgpu doesn't work well with multi-threading so why bother using it on it if it'll make it crash. Plus, it's gpu bound so why have it multi-thread at all.
Sagekilla
20th December 2007, 03:03
I know (that's why everything BUT fft3dgpu was multi-threaded) I was saying that fft3dgpu doesn't work well with multi-threading so why bother using it on it if it'll make it crash. Plus, it's gpu bound so why have it multi-thread at all.
Yeah, since FFT3DGPU literally runs on the gpu, isn't there like no point at using multithreading since there's very little interaction given by the cpu except maybe sending data + instructions and not the actual number crunching?
bokonon
5th January 2008, 00:21
I have already posted in the useage forum, but I thought it might be more likely that I encounter someone with a similar problem to mine in this thread.
Basically, running fft3dGPU encodes at about 0.29 FPS and completely screws up my PC (causes a lot of lag, rendering my PC pretty much useless during the encode). fft3dfilter, on the other hand does not lag my PC and gives me a better rate of around 1.0 - 1.7 FPS
If FFT3DGPU is slower, it means your graphics card is too slow.
Is my graphics card the problem, or can it be solved without replacing it?
http://www.hisdigital.com/newimages/products/X1950XTIceQ3T-card_500.jpg
X1950 XT (http://www.hisdigital.com/html/product_sp.php?id=268)
please refer to
this thread (http://forum.doom9.org/showthread.php?t=133396) for further details
grennis
30th January 2008, 14:21
I'm having an odd problem with precision=2. At about 2 seconds into most videos I encode, there is a corrupted frame (black bars across the top). It only happens with precision 2, if I drop it to 1 then the problem goes away.
I would chalk this up to my graphics card not being fit for the task, but (a) it is a very powerful card and (b) it always happens in the same place in the video and in the same manner.
So this makes me think it's more of a bug in the filter. If my hardware were a problem I would expect the corruption to be random and unpredictable. But it's not, it's always just after 2sec into the clip and always appears as black bars across the top.
My filter arguments look like this
c = FFT3dGPU(c, sigma=3.75, bw=32, bh=32, oh=16, ow=16, precision=2, sharpen=1)
Thanks
Dreassica
30th January 2008, 20:44
That looks liek you are using it in QMF, may very well be this filter not liking to be used within QMF.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.