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. |
12th April 2005, 18:35 | #61 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
MacAddict: ok try to change Line 481 to 495 in ps.hlsl from this:
Code:
//*************************************************************************** #ifdef BETA float4 WFilter( PS_INPUT In) : COLOR { float4 src=tex2D(Src,In.texCoord); //float2 PSD=float2(length(src.xz),length(src.yw)); float2 PSD=float2(src.x*src.x+src.z*src.z,src.y*src.y+src.w*src.w); float4 MulFac=float4(BETA.x,BETA.x,BETA.x,BETA.x); if(SIGMA.x<PSD.x) MulFac.xz=((PSD.x-SIGMA.y)/PSD.x); if(SIGMA.x<PSD.y) MulFac.yw=((PSD.y-SIGMA.y)/PSD.y); return MulFac*src*float4(1,1,1,1); } #endif Code:
//**************************************************************************** #ifdef BETA float4 WFilter( PS_INPUT In) : COLOR { float4 src=tex2D(Src,In.texCoord); float2 PSD=float2(src.x*src.x+src.z*src.z,src.y*src.y+src.w*src.w); float2 PSDInv=1/PSD; float4 MulFac=float4(BETA.x,BETA.x,BETA.x,BETA.x); if(SIGMA.x<PSD.x) MulFac.xz=(PSD.x-SIGMA.y)*PSDInv.x; if(SIGMA.x<PSD.y) MulFac.yw=(PSD.y-SIGMA.y)*PSDInv.y; return MulFac*src; } #endif Code:
//**************************************************************************** #ifdef BETA float4 WFilter( PS_INPUT In) : COLOR { float4 src=tex2D(Src,In.texCoord); float2 PSD=float2(src.x*src.x+src.z*src.z,src.y*src.y+src.w*src.w); float2 PSDInv=1/PSD; float4 MulFac=float4(BETA.x,BETA.x,BETA.x,BETA.x); if(SIGMA.x<PSD.x) MulFac.xz=1-SIGMA.y*PSDInv.x; if(SIGMA.x<PSD.y) MulFac.yw=1-SIGMA.y*PSDInv.y; return MulFac*src; } #endif |
12th April 2005, 19:01 | #62 | Link |
Registered User
Join Date: Oct 2001
Posts: 195
|
MacAddict,
If you get troubles counting lines in ps.hlsl - you can use the script editor inside VirtualDubMod. tsp, Now (thanks to your script example) I see the blocks... here are before/after zipped images (the web host is doing some weird things with my images,so I've zipped them) before fft3dGPU(mode=0,bw=128,bh=128,sigma=50) the right Aspect Ratio for viewing is 16:9 (original resolution is 720x576), the VGA is Radeon9600 non pro (Latest Drivers) AGPx8, WinXP SP1,DirectX 9c 4.09.0000.904,FFT3dGPU.dll version 0.42 (updated one ) Ah and if you get troubles downloading images above with IE ("Save Target as..." did not work here) -try with some download manager... |
12th April 2005, 19:44 | #63 | Link |
Registered User
Join Date: Oct 2001
Posts: 195
|
tsp,
now I did remember that nVidia VGA chips are working at low speed in 2D mode! Typical example - 300MHz in 2D (avisynth) and 500MHz in 3D mode (Doom III ). This is true for FX 5xxx and 6xxx series. Did you know that? |
12th April 2005, 19:49 | #64 | Link | |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
Quote:
Also don't worry when using fft3dgpu the 3D mode clock is used because I'm using Direct3D, you just don't see the rendered scene directly. Also I can't download the after.zip even with a download accelerator. Couldn't you just upload the uncompressed picture (The png file is compressed so you don't gain extra compression by "ziping" it) Last edited by tsp; 12th April 2005 at 19:53. |
|
12th April 2005, 20:51 | #65 | Link |
Registered User
Join Date: Oct 2001
Posts: 195
|
the problem with this .png images is that the web host there is "too smart" - at first try the files was .png and when i decide
to check them and download the hosted images - I get .png ,but looking like heavy down-resized and compressed .jpg ... that's why i zipped them. EDIT - Ok here they are: before after script: -------------------------------------- fft3dGPU(mode=0,bw=128,bh=128,sigma=50) -------------------------------------- Radeon9600 non pro,WinXP SP1,DirectX 9c 4.09.0000.904 Last edited by vinetu; 12th April 2005 at 21:13. |
13th April 2005, 09:16 | #66 | Link |
Registered User
Join Date: Jul 2003
Posts: 35
|
@vinetu
maybe u can try post 2 png on http://www.imageshack.ws/ ? u can try post there as png files and point here koszopal |
13th April 2005, 21:17 | #67 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
vinetu: That is exactly the kind of border artifacts. Also note how the plain area interacts with high detail area. So don't use such a high sigma value or use mode 1 or 2.
MacAddict: You can try this ps.hlsl file. It might work. |
13th April 2005, 22:06 | #68 | Link | |
Registered User
Join Date: Oct 2001
Posts: 195
|
Quote:
I ask because long time ago I've read a review (something like "Ati vs nVidia") where was a lot of screen shots showing differences in rendered images in 3D games.For example the dithering on gradients was beter on Radeon 8500 ( IIRC the oposite card was GeForce 3 ). I'm not an Ati fan this is technical question... I'm courious what could be my next VGA - for now the winner is FX6600... |
|
14th April 2005, 08:31 | #69 | Link |
Registered User
Join Date: Feb 2002
Posts: 407
|
@vinetu: imho, you should go for a 6800 non-GT/non-ultra, the price difference is not that much with a 6600GT, and you got a much much better chip (10ps/5vs pipelines instead of 8/3...)
@tsp : v0.42 + ps.hlsl from the test version fixed the problem, i didn't get any blocks with many different parameter. I didn't got nvperfhud working though, but it's not like it's important . btw, i took a (really) quick look at your code (nice one indeed) and saw some DirectInput stuff ??? why do you need to manage something like that in an avisynth filter (just wondering) ? |
14th April 2005, 08:59 | #70 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
bill_baroud: the ps.hlsl file from the test version disables the Wienerfiltering. So the problem lies in the WFilter function. Could you try the ps.hlsl from my last post. It's a fully working version.
About NVPerf: Also you did use NVperf=true and used this commandline to run it: Code:
"PATH TO NVPerfHUD\NVPerfHUD.exe" "PATH TO VIRTUALDUBMOD\virtualdubmod.exe" "PATH TO AVS\test.avs" The DirectInput code is included to intercept keyboard commands to nvperfhud. So if nvperfhud isn't enabled the DirectInputcode isn't executed. Also I will have to comment the code better some day and organize the Getframe code. To many if..else. Vinetu: The artifacts are the same. This filter doesn't use anything fancy like anisotopic filtering or even bi/trilinear filtering but it uses many pixelshaders. So the only difference between ati and nvidia is that nvidia uses 32 bit precision and ati only 24 bit. It doesn't matter that much because when usefloat16=true(the default) is used the result from each pixelshader is saved at 16 bit precision. A artifact I haven't seen on a ATI card is this when using high bw,bh like this: Code:
fft3dGPU(mode=0,bt=1,bw=512,bh=256) |
14th April 2005, 14:06 | #71 | Link | |
XviD User
Join Date: Oct 2004
Location: Ky
Posts: 190
|
Quote:
__________________
DFI NF4 SLI Expert | Opteron 165 CCBBE 0616 XPMW (9x325HTT=2.9Ghz) | 2x1GB G.Skill HZ (3-4-4-8-12-16-2T) | LG 62L DVD/CD | Geforce 7300GT | All SATA | Antec 650 Trio PSU | XP SP2 |
|
14th April 2005, 14:42 | #72 | Link | |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
Quote:
Oh well I ordered a Geforce FX 5200 today so I will see if I can fix it when it arrives. |
|
14th April 2005, 15:47 | #73 | Link | ||
Registered User
Join Date: Feb 2002
Posts: 407
|
Quote:
Quote:
|
||
15th April 2005, 16:06 | #74 | Link |
Registered User
Join Date: Feb 2002
Posts: 407
|
ok, i did some tests yesterday, here the results :
Code:
fft3dGPU(bw=32, bh=32,NVPerf=false, bt=1,sigma=2, plane=1, mode=0) : mixed normal/greenish image / no bug with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=1,sigma=2, plane=1, mode=1) : greenish image / no bug with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=1,sigma=2, plane=1, mode=2) : mixed normal/greenish image / a pink/green triangle, no filtering with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=1, mode=0) : close vdub / same with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=1, mode=1) : greenish image / no bug with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=1, mode=2) : close vdub / same with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=3,sigma=2, plane=1, mode=0) : close vdub / same with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=3,sigma=2, plane=1, mode=1) : greenish image / no bug with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=3,sigma=2, plane=1, mode=2) : close vdub / same with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=0, mode=0) fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=0, mode=1) : black with image blocks ;) / same with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=2,sigma=2, plane=0, mode=2) : no filtering, only a black with white dots triangle in the left high corner. / same with test-ps.hlsl same with bt=3 fft3dGPU(bw=32, bh=32,NVPerf=false, bt=1,sigma=2, plane=0, mode=0/1) : mixed image/black blocks / no bug with test-ps.hlsl fft3dGPU(bw=32, bh=32,NVPerf=false, bt=1,sigma=2, plane=0, mode=2) : mixed image/black blocks / black triangle bug with test-ps.hlsl opening many avs file in vdub without closing it > no more video memory and crash edit: it was v0.42 + ps.hlsl from your last post and from the test.zip Last edited by bill_baroud; 15th April 2005 at 16:15. |
15th April 2005, 17:10 | #75 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
bill_baroud: The pink/green block is the same error as the black blocks just in the U og V plane. In mode 2 the blocks are triangulair because each block is created using two triangles (in mode 0 and 1 the entire image is made up by two triangles). I'm really curious what warnings the debug directx dll will produce when I get my new superfast Geforce fx 5200 with 64 mb ram
Also did you download version 0.42 before I updated it with the right dll since you getting out of video memory? You can see the version number in explorer. |
16th April 2005, 12:32 | #76 | Link |
Registered User
Join Date: Feb 2002
Posts: 407
|
yes i think i did get the silent update version (can't verify now) because i downloaded it after you said so (iirc).
Also, i have the dx SDK installed with debug version and co, you could have asked me a report or something, by giving me the procedure to follow. Well now you can enjoy the blazing speed of the geforce FX series |
19th April 2005, 19:52 | #77 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
ph33r |v|¥ n33w G'ph0Я5e 5200!!!! 1+ W1||| PWN J00!!!!!!!!!!!!!
oh well got my new geforce fx and finnaly fixed the stupid bug. A small riddle: What is 1000/1000? Is it 1 not if you ask a geforce fx no it's 13231 ??? Here's the fix change line 481 to 495 in ps.hlsl from this: Code:
//*************************************************************************** #ifdef BETA float4 WFilter( PS_INPUT In) : COLOR { float4 src=tex2D(Src,In.texCoord); //float2 PSD=float2(length(src.xz),length(src.yw)); float2 PSD=float2(src.x*src.x+src.z*src.z,src.y*src.y+src.w*src.w); float4 MulFac=float4(BETA.x,BETA.x,BETA.x,BETA.x); if(SIGMA.x<PSD.x) MulFac.xz=((PSD.x-SIGMA.y)/PSD.x); if(SIGMA.x<PSD.y) MulFac.yw=((PSD.y-SIGMA.y)/PSD.y); return MulFac*src*float4(1,1,1,1); } #endif Code:
//**************************************************************************** #ifdef BETA float4 WFilter( PS_INPUT In) : COLOR { float4 src=tex2D(Src,In.texCoord); //float2 PSD=float2(length(src.xz),length(src.yw)); float2 PSD=float2(src.x*src.x+src.z*src.z,src.y*src.y+src.w*src.w); float4 MulFac=float4(BETA.x,BETA.x,BETA.x,BETA.x); if(SIGMA.x<PSD.x) MulFac.xz=((PSD.x-SIGMA.y)/(PSD.x+0.0000000000000000000000000000000000001); if(SIGMA.x<PSD.y) MulFac.yw=((PSD.y-SIGMA.y)/(PSD.y+0.0000000000000000000000000000000000001); return MulFac*src; } I will release a new version when I fixes the mousecursor shuttering. edit hmm it seems as the shuttering is only present when the framerate drops below 4 fps and that it is the nvidia driver that is causing it. If you look at the cpu utilization in the task list and enables show kernel time you will notice a very high kernel time cpu utilization(in this case the nvidia driver) when the shuttering is present. The only solution I have found is to decrease the number of commands the GPU process at once. This however really kills the framerate (something like 1 fps for a 64x64 images ) so the only real solution is to upgrade the graphics card to something faster Also the Geforce FX 5200 is about 15-30 times slower than my geforce 6800 GT. Can't wait to get it back in the computer. Last edited by tsp; 19th April 2005 at 20:51. |
21st April 2005, 12:25 | #79 | Link |
XviD User
Join Date: Oct 2004
Location: Ky
Posts: 190
|
tsp,
It seems you definitely found the block bug a few of us were getting with the FX cards. The ps.hlsl modification seems to have fixed the issue. I seen this stuttering problem while encoding and your right about the kernel times. In fact, while encoding my CPU only uses around 80% max utilization. I'm guessing my FX GPU is the bottleneck and thats why the CPU isn't being utilized 100%
__________________
DFI NF4 SLI Expert | Opteron 165 CCBBE 0616 XPMW (9x325HTT=2.9Ghz) | 2x1GB G.Skill HZ (3-4-4-8-12-16-2T) | LG 62L DVD/CD | Geforce 7300GT | All SATA | Antec 650 Trio PSU | XP SP2 |
22nd April 2005, 00:03 | #80 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
good to hear the modification worked. If you is not getting 100 % cpu just use some more demanding encoding settings or some more filters before fft3dgpu. Just curious what framerate do you get with a geforce fx 5900? also is it the total cpu utilization(green color) or is it the kerneltime(red color) that uses 80%?
|
Thread Tools | Search this Thread |
Display Modes | |
|
|