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
features:
Still missing in fft3dgpu compared to fft3dfilter v 1.8.5:
* YUY2 support
* interlaced support (will be in next version. Partially implemented in current version)
* noise pattern method (don't know if anyone is actually using this?)
* sigma2,sigma3,sigma4 (hopefull in next version too)
stability:
I think the most difficult part is to get fft3dgpu running. If you succed in that stability should be okay. Part of the problem is that the different graphics cards are not entirely compatible (and currently I only have a Geforce fx 5200, geforce 7800GT and a radeon X1300 to test with)
G_M_C
4th June 2006, 09:56
I want to give you a http://gathering.tweakers.net/global/smileys/thumbsup.gif for all the work you punt into your filter-development & -support.
Anyway; its a pleasure testing the new versions, if needed :)
tsp, mode=0 not work on my x700
AI: Is it from versio 0.6.4 mode 0 stopped working and what settings did you use. I'm thinking about dropping mode 0 and 2 in favour of using mode 1 and ow,oh like fft3dfilter as adding support for interlaced content and other stuff will be easier for me (and dropping mode 0 and 2 will make the code nicer and easier to maintain).
G_M_C: thanks I'm trying my best.
zambelli
14th June 2006, 09:08
Out of curiosity: What exactly does the installer do? Where does it copy files and what registry modifications does it do if any?
The installer doesn't add anything to the registry but looks up the default avisynth plugin directory to use as the default install location. It copies fft3dgpu.dll fft3dgpu.hlsl and fft3dgpu.html to the install directory and copies d3dx9_30.dll (directx utility dll for the april 2006 sdk) to the windows system directory unless the file already exist. If the source should also be extracted a subdirectory called fft3dgpu_src is created in the install path and the sourcecode is extracted here (including the fft3dgpu.nsi script that is used the create the installer so you can see exactly what is done). No spyware/adware is installed but maybe I should add it as a feature in the next release(not).
new version 0.7 ready. Now includes sigma2,sigma3 and sigma4 plus support for interlaced filtering. Uses whatever fftcode is fastest. And (hopefull not) new bugs.
Revgen
21st June 2006, 23:35
Would this help with FFT3dGPU?
http://www.nvidia.com/object/IO_32131.html
Terrazini
22nd June 2006, 20:29
Thank you, tsp, great job!
Revgen: Great tool indeed. Here is a screenshot from NVPerfHUD 4 that shows the gpu utilization when rendering a single frame using
fft3dgpu(bt=3,sharpen=1,degrid=1,bw=128,ow=32,bh=128,oh=32,nvperf=true,oldfft=false)
http://img144.imageshack.us/img144/8370/perfhud5pz.th.jpg (http://img144.imageshack.us/my.php?image=perfhud5pz.jpg)
the light blue line is the total time it takes to draw each object (or in this case a part of the filtering, as you can see the fft calculation needs to draw many "objects" compared to the wiennerfilter). The red and yellow line is how long it takes to draw the triangles each object consist of(in % of total time to draw each object), the green line is how long it takes to calculate the color the object(using the pixelshader), the puple line is how long it takes to read from the textures while the dark blue line is how long it takes to save the final object to gpu memory.
Most of the time is used in the pixelshader not surprising but more surprising is it that it takes so long to write the result back to memory
Revgen
25th June 2006, 00:14
I'm glad it's working for you.
I read about it on HardOCP and thought it might be something you'd be interested in.
Zazzybud
25th June 2006, 17:21
I am currently using MeGUI to encode TV eps into x264. When I use the Avisynth creation tool I can create about 5 avs files and then I get the out of memory error.
If I only create 4 and then start processing the files it will get the error after the 1st one is encoded. Not knowing how to read code that well, does the filter reserve a piece of vram when creating an avs?
I'm currently user a 7800GT w/ 256MB.
Heres what I'm using for avisynth
crop( 0, 0, -2, -2)
LanczosResize(608,336) # Lanczos (Sharp)
FFT3dGPU(sigma=1,sharpen=1.0,degrid=1.0,precision=2)
I know I could lower the precision but I shouldn't should I? :) Is there a way to make the program flush the vram used?
Boulder
25th June 2006, 17:45
I've had the same problem myself as well. It usually happens when I fiddle with a script in VDubMod, editing it and refreshing with F5 to see the effects. At some point, FFT3DGPU reports the out of memory error, which can be fixed by closing and restarting VDubMod.
Not as much a bug in fft3dgpu as in the program that doesn't close one avi file before opening a new. The same can be observed with fft3dfilter but because windows can flush the memory to disk not much will happend (other than increasing memory usage). I will see if I can release unused memory from inactive instances of fft3dgpu.
Zazzybud
25th June 2006, 18:36
:thanks: for the quick explaination. This filter is great tsp! I will just make sure I only encode a couple videos at a time. As it take about 2hr per 45 min ep I guess I shouldn't queue to much up :)
released version 0.8. Includes support for YUY2 colorspace. Textures will now be swaped to main memory if there is not enough GPU memory. It will increase the system memory usage and causes severe slowdown if it happends every frame (but if it happends only when the avs file is open it should make a big difference in speed)
Adub
27th June 2006, 23:34
Great! Thanks TSP.
Zazzybud
29th June 2006, 15:12
I will get to test the new memory mode tonight. I can't wait! Will let everyone know how much speed I loose, if it falls over to system memory.
Fizick
14th July 2006, 22:50
tsp,
thanks for new version.
I got repaired Radeon 9550.
Probably you must change documentation a little (what "is not implemented" in introduction) :)
surprisingly, the speed of yuy2 mode is the same as for YV12: about 4.14 fps for bt=3, plane=4, mode=1, 720x576 size. Why?
But oldfft=false is slower, about 3.75fps.
Why? :)
And what is default values of "bt" and "mode" ?
Fizick
18th July 2006, 00:33
If I press Ctrl-Alt-Del (to call Task manager), fft3dgpu crashed with error message:
unexpected error encoured
Line: 272
errorCond: D3DError_InvalidCall (0x8876086c)
Calling: Reset Device
Default values for bt and mode are 1. I don't know why YUY2 isn't slower than YV12.
For some reason the old fft code works better with 16 bit floating point precision than the the new fft code on most cards when using the default low bh and bw (fft3dgpu uses the fastest of the two if oldfft is not defined). I will try to combine the two versions in the next release.
I'm not currently at home so I can't test the CTRL-ALT-Delete thing but I will see if I can fix it (and the docs too). What version of windows do you use?
Fizick
19th July 2006, 09:47
win2k
gizmotech
29th July 2006, 01:52
TSP,
I'm not sure if anyone has ever posted this(24 pages is alot of reading). 720x480 video, run w/ the following setting:
fft3dgpu(sharpen=0.9,bt=3,mode=2,sigma=0.7) will produce odd grid artifacts on the X800XT line of graphic cards with default precision of 0. Adjusting mode mages no difference. Adjusting Sigman just changes the visual pattern (on largely even surfaces) in design. Adjusting precision to 2 removed the grid artifacts entirely.
Is this normal behaviour on the ATI Xx00 line of cards?
Gizmo.
gizmotech: I don't remember anyone mention that kind of problems with fft3dgpu and Xx00 cards. Could you post a screenshot that shows the grid artifacts and maybe a 5 frame unfiltered clip? You do use the lastest drivers? The different cards handle rounding differently so it could explain why it appears on the ATI Xx00 cards.
Fizick: I don't have win2k installed and I can't reproduce it on Windows XP. Do running a screensaver or suspend also trigger the error or is it only CTRL-ALT-DELETE that causes it. What avisynth script did you use?
Fizick
31st July 2006, 23:09
tsp,
today i te-check, and the problem almost disappear :)
(may be I change a Radeon driver to 6.3 some time ago?)
Now I have a problem with this script only:
avisource("file.avi")
converttoyv12()
fft3dgpu(plane=4)
I open and play this script in media plyer.
If I press CTRL-ALT-Delete, and then click to "Task Manager" button, Avisynth is aborted with a message :
access violation at 0x054b88479
attemp to read from 0x0000000
I have no roblem with plane=0,1,2,3
may be some timeout?
It is not dependent from frame size (I tried Reduceby2)
Screen server works normal.
I do not know how to suspend :) (I disabled ACPI).
tsp
2nd August 2006, 23:20
Found the bug that crashed fft3dgpu when recovering a lost device when using plane=4. It was caused by fft3dgpu getting a NULL dst pointer. I aslo changed the default value for bt to 3 like fft3dfilter's default.
The new version 0.8.1 is available at first post or my website
foxyshadis
3rd August 2006, 00:00
Manual install leads to http://wwww.avisynth.org/tsp/fft3dgpu0.8.1.7z (http://wwww.avisynth.org/tsp/fft3dgpu0.8.1.7z) :p Thanks for the update.
tsp
3rd August 2006, 00:08
yes it's getting late here. But thanks for pointing it out:rolleyes:
Fizick
3rd August 2006, 16:30
tsp,
Thanks for update! Now it works well. I can press Ctl-Alt_Del as crasy man. :)
DarkFoon
5th August 2006, 11:34
tsp,
one quick question.
When using kalman mode, does kratio reset the block or the entire frame when the threshold is passed?
From what my eyes tell me, it appears that only the block that has exceeded the threshold is reset, not the entire frame.
I just want some clarification.
Thanks
Edit:
this might be better suited at fizick's FFT3D thread... Opps :p
tsp
5th August 2006, 18:24
DarkFoon:
well it's in fact only the frequency that exceeds the threshold that is reset. And as the frequencies are calculated per block it appears as the block is reset.
Fizick
22nd August 2006, 19:11
tsp,
sorry for bad news. :)
Can you fix the same bug (abort when switch to task manager) with interlaced=true mode (for any plane, bt)?
Am I the only person with this problem?
tsp
24th August 2006, 00:23
Sure, shouldn't be a problem. The interlaced code is still pretty rough so the code to reset the depth texture is missing. Will fix that.
tsp
25th August 2006, 01:31
should now be fixed including bug with bt=0 and only sigma defined caused a crash.
Fizick
25th August 2006, 04:49
Will try. Thanks!
Fizick
25th August 2006, 21:22
thanks, interlaced now works.
I always run coder, and then switch to task manager to decrease pprosess priority.
Sorry, next problem:
fft3dgpu(bt=4,plane=3,sigma=3,interlaced=true)
I get this message window:
Wienner3d4
...ff3dgpu.hlsl(733): error x5608: Compiled shader code uses too many arithmetic instruction slots (83).
Max alowed by target (ps_2_0) is 64.
so, i can not use bt=4 (bt=3 works fine).
tsp
25th August 2006, 22:02
hmm yes that is a problem with the radeon 9x00. They only support pixelshader 2.0 that only allows 64 arithmetic instructions(and 32 texture lookups) per shader. Two ways to solve this could be to a)handoptimize the asm code/rewrite the shader to help the compiler more
b)split the shader in two to reduce instruction count but takes two passes instead of 1.
Looking at the shader output I think a) is possible, Something like this:
mad r3.x, r6.z, c2.x, -r2.x
mad r3.y, r6.w, c2.y, -r2.y
mad r3.z, r6.x, c2.z, -r2.z
mad r3.w, r6.y, c2.w, -r2.w
could easy be written like this:
mov r6.zwxy, r6
mad r3, r6, c2, -r2
saving two instructions. (each register contains a 4d vector, mad multiplies second and third register and add the third and store the result in the first.)
Fizick
26th August 2006, 04:57
It is interesting,
may be some day I shall code GPU. :) But not now :(
So, please fix it.
Anyway, the question: Can I use older DirectX SDK December 2004?
boombastic
8th September 2006, 22:02
is tsp'site down?I can't get the 0.8.2 installer
tsp
8th September 2006, 22:49
Fizick: Yes you can use that SDK though there might be some missing function from the Direct3D Extension Library (if that is the case you can use the fix for the directx 9.0b version).
boombastic: The avisynth.org site was down today including my homepage. It should be up and running now.
G_M_C
11th September 2006, 08:55
Fizick: Yes you can use that SDK though there might be some missing function from the Direct3D Extension Library (if that is the case you can use the fix for the directx 9.0b version).
boombastic: The avisynth.org site was down today including my homepage. It should be up and running now.
Hope it wasn't slash-dotted ?
I managed to get my faforite site (and Hollands biggest) tweaker-site to finaly put AviSynth is their software-update-list.
They actually didn't have even 1 (one) version of AviSynth listed. A situation that absolutely needed to to be corrected ;)
But the site (http://tweakers.net/) gets approx 100K visitors @ a couple of hundered views per minute. An if only 5% of all those views try to read about AviSynth, and then click on the link provided in said article (avisynth.org) ...
So hope I didn't couse too mush of a hassle ;)
PS: Their 1st mention of AviSynth -> http://tweakers.net/meuktracker/13527/AviSynth-2.5.7-alpha-3.html
JnZ
5th October 2006, 10:30
Nice work TSP, my little benchmark:
Video 720x384@25fps:
FFT3Dfilter(sigma=3) at 11fps
FFT3DGPU(sigma=3) at 34fps
FFT3dGPU(sigma=3,mode=1,precision=2,bt=4) at 18fps
(no codec used)
Machine: Opteron 144@2700MhZ, Gf7600GT
EDIT: I compared filtered frames from FFT3Dfilter and FFT3Dgpu and it seems that sigma=3 from fft3dfilter is almost the same like sigma=2 from fft3dgpu...
Jumbie
14th October 2006, 17:23
Any way to have this filter posted elsewhere temporarily (the manually installed dll and hlsl only) since avisynth.org is down?
I'd like to try it out on some footage I have and there's no way to get it that I can find.
Thanks.
JnZ
14th October 2006, 17:41
Any way to have this filter posted elsewhere temporarily (the manually installed dll and hlsl only) since avisynth.org is down?
Try this link: http://www.jnz.wz.cz/files/fft3dgpu0.8.2.7z
Jumbie
14th October 2006, 17:59
Try this link: http://www.jnz.wz.cz/files/fft3dgpu0.8.2.7z
Thanks. It's downloading now. Very, very slowly but it's still downloading. :)
Morpheus_xx
4th November 2006, 09:03
Hi,
is it possible that windows energy saving (turn off monitor) can impact fft3dgpu's performance???
I have this scenario:
- converting a tv capture (40 min length), using fft3dgpu for filtering
- if I'm using my pc, I get ~ 13 fps conversion speed (VDub)
- I left the pc running over night, now 10 h are over and I'm at 39% and the 13 fps are back :confused:
I use an ATI X1300 Pro card on WinXP SP2, Athlon X2 3800+
Any comments?
Morpheus
JnZ
4th November 2006, 13:53
Hi,
is it possible that windows energy saving (turn off monitor) can impact fft3dgpu's performance??? ...
Yes, it's possible, I've noticed, when encoding and filtering via fft3dgpu, all things depends on graphics card (video playing,scrolling in internet browser,etc...) is very choppy. It's understoodable, coz GK is filtering video noise. So there are possibility, this things can slow down fft3dgpu filtering procedure (IMHO).
I recomended turn off all energy savings (like screensaver etc...) while whole processing. Only turn off CRT or LCD (at night).
J.
tsp
4th November 2006, 19:46
It might happen. I mean it doesn't make a lot of sense to waste energy on running the GPU at fastest speed when it has turned off the display. The easiest way to check if it is the case might be to try disable windows energy saving and see if the problem disappear. If this is the case please post back so that I might disable the turn off monitor for ATI cards while fft3dgpu is running.
Morpheus_xx
4th November 2006, 20:53
Yes it seems that the power saving is the problem. After I made my post I've disabled the "turn off monitor" option and the conversion was fast as expected. The screensaver is also off.
So if you have the chance to disable this behaviour during encoding, this would be a nice option ;-)
InsulinJunkie
5th November 2006, 02:41
If looking for a new AGP video card from the low end (like sub-$80US) to replace my dying ATI 9700 Pro, how much should I weigh memory bus vs. memory speed vs. pipelines, etc. for fft3dGPU performance?
I don't game any more, so fft3dGPU would probably stress the video card more than anything else I'd use. The system is an A64 3000+ w/ 1GB RAM on a socket-754 board.
Reading through some old posts in this thread, TSP mentioned the importance of memory bandwidth (the 9700 was 256-bit @ 620, I think).
Most of the cards in my price range are 128-bit (with a few 64-bit cards lurking around), but have faster types of memory, support for PS3.0, etc.
Two cards I was looking at were a vanilla x1300 w/256MB of DDR2 at 128bit@ 500Mhz and 4 pixel pipelines, or, for about the same price, an older 9800 Pro w/128MB of DDR1 at 256bit@680Mhz and 8 pixel pipelines. With AGP, my options are a bit more limited than PCI-E cards....
Strictly for fft3dGPU, what specs should I be weighing most heavily?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.