View Full Version : gradfun3 not working
ENunn
18th March 2025, 17:49
i'm having issues with f3kdb where my encodes have random glitches at random points. it only happens when i have f3kdb in my script, and they don't show up in the avspmod preview.
https://i.imgur.com/PaSU9Uc.png
so i wanted to try something else. i downloaded gradfun3, but whenever i try to use it, i get this error:
https://i.imgur.com/1dsCv0P.png
is there a fix for this? i'm running 64-bit avisynth+ 3.7.3 r4003
VoodooFX
18th March 2025, 18:30
Where is that script?
ENunn
18th March 2025, 18:52
here you go!
v = lwlibavvideosource("i:\virtualdub\tape transfers\breathasize breathing program.mkv", fpsnum=30000,fpsden=1001)
a = lwlibavaudiosource("i:\recordings\breathasize breathing program.flac")
audiodub(v,a)
#delayaudio(.150)
assumetff().converttoyuv422(matrix="rec601", interlaced=true).convertbits(10)
#Crop(8, 4, -24, -6_
Levels(60, 1,860, 0, 1020, coring=false,dither=true).tweak(bright=0, cont=1.00, hue=-0, sat=0.850, coring=false, dither=true).convertbits(8)
#turnRight().Histogram().TurnLeft()
Trim(535, 83649)
bob()
FineDehalo(rx=2.5, ry=1.0)
LSFplus(ss_x=1.5, ss_y=1.5, secure=false, Spwr=2, SdmpHi=0, soothe=false, keep=25)
separatefields().selectevery(4,0,3).weave()
separatefields()
neo_dfttest(sigma=35, tbsize=5)
weave()
gradfun3()
converttoyv12(matrix="rec601", interlaced=true)
prefetch(6)
real.finder
18th March 2025, 19:02
try use https://github.com/HomeOfAviSynthPlusEvolution/neo_f3kdb and https://gitlab.com/uvz/AviSynthPlus-Plugins-Scripts/-/blob/master/plugins64%2B/dither.dll
and there are GradFun3plus by Dogway
ENunn
18th March 2025, 19:33
thanks. neo_f3kdb has the same problem as f3kdb and gradfun3plus doesn't seem to do anything.
real.finder
18th March 2025, 19:42
neo_f3kdb has the same problem as f3kdb
can you post original video sample so the devs can fix it if it has a bug
ENunn
18th March 2025, 20:45
can you post original video sample so the devs can fix it if it has a bug
unfortunately my issue happens at random points in the encode. sometimes it doesn't happen at all. it only happens when i encode the video, either with ffmpeg or virtualdub. i don't think a small sample would show the issue. would it be ok if i sent you the full capture and my script?
real.finder
18th March 2025, 21:06
unfortunately my issue happens at random points in the encode. sometimes it doesn't happen at all. it only happens when i encode the video, either with ffmpeg or virtualdub. i don't think a small sample would show the issue. would it be ok if i sent you the full capture and my script?
in this case how did you know that it's f3kdb/neo_f3kdb? anyway if you can share the full capture and the script here https://github.com/HomeOfAviSynthPlusEvolution/neo_f3kdb/issues
ENunn
18th March 2025, 21:12
in this case how did you know that it's f3kdb/neo_f3kdb? anyway if you can share the full capture and the script here https://github.com/HomeOfAviSynthPlusEvolution/neo_f3kdb/issues
because i looked through the file with and without f3kdb, and there's no issues without f3kdb while the glitches were there with f3kdb. i'll see if i can send a bug report.
hello_hello
19th March 2025, 06:51
thanks. neo_f3kdb has the same problem as f3kdb and gradfun3plus doesn't seem to do anything.
Are you aware you have to do the conversion to 16 bit and back yourself for GradFun3plus?
I'd probably also do the conversion to YV12 in 16 bit, or at least do it before GradFun3.
ConvertBits(16)
ConvertToYV12(matrix="rec601", interlaced=true)
GradFun3plus()
ConvertBits(8, dither=0) # or dither=1
ENunn
20th March 2025, 07:10
Are you aware you have to do the conversion to 16 bit and back yourself for GradFun3plus?
I'd probably also do the conversion to YV12 in 16 bit, or at least do it before GradFun3.
ConvertBits(16)
ConvertToYV12(matrix="rec601", interlaced=true)
GradFun3plus()
ConvertBits(8, dither=0) # or dither=1
i am not. but i did try what you posted, but there's hardly a difference. i can't even notice it unless i do a direct comparison while zoomed in.
hello_hello
21st March 2025, 08:39
i am not. but i did try what you posted, but there's hardly a difference. i can't even notice it unless i do a direct comparison while zoomed in.
That's possibly a good thing if the source doesn't actually contain banding. f3kdb probably makes a more noticeable difference as I'm pretty sure it adds a fair bit of grain by default.
I thought I'd check though, given I've been using GradFun3plus a bit myself. More to prevent the encoder causing banding though, than to fix existing banding. I didn't have a source handy with banding as such, so I found something with a bit of encoder blocking to test it on.
With the threshold arguments cranked up much higher than you normally would:
A = Spline36Resize(1920,1080).Crop(124,124,296,296).Tweak(bright=15)
B = A.Gradfun3(thr=2, thrc=2)
C = A.ConvertBits(16).GradFun3plus(thr=2, thrc=2).ConvertBits(8, dither=0)
D = Compare(B, A)
E = Compare(C, A)
StackHorizontal(A, D, E)
https://i.ibb.co/WNwtCVvy/gradfun3.png
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.