View Full Version : BM3D (VapourSynth) versus MVTools
guest
21st September 2021, 01:39
I recommend to use VS-BM3D or to buy a GTX 750. It is hard to relax that requirement and I am busy these days.
Like I said in the previous post, I cannot use Vapoursynth, and why should I waste my hard earned cash on a GPU, all because you're too busy.
You started the project, you should finish it (or get someone else too)....there would have to be more ppl out there with AVX or lower spec CPU's that would like to use this filter, but can't.
For example, someone has an Intel CPU, but only AVX, and an AMD GPU, they're screwed :(, with both Avisynth & Vapoursynth.
kedautinh12
21st September 2021, 01:59
I think with BM3D only support 32bit and with no Nvidia GPU. Chip don't support AVX is old and work with very slow fps. They just replace another fast denoiser
StainlessS
21st September 2021, 02:08
why should I waste my hard earned cash on a GPU, all because you're too busy
Why dont you waste, I mean spend your time learning to code and do it yourself.
You dont have to waste your hard earned on anything, and neither does WolframRhodium have to waste any of his time on you [or me].
https://forum.doom9.org/showthread.php?t=52597
EDIT: https://en.wiktionary.org/wiki/don%27t_shit_where_you_eat
guest
21st September 2021, 02:31
Why dont you waste, I mean spend your time learning to code and do it yourself.
You dont have to waste your hard earned on anything, and neither does WolframRhodium have to waste any of his time on you [or me].
https://forum.doom9.org/showthread.php?t=52597
EDIT: https://en.wiktionary.org/wiki/don%27t_shit_where_you_eat
Thanks StainlessS, point taken....
It's just frustrating, I have a LOT of SSE4.2 & AVX (only) dual cpu servers, that I use for Distributed Encoding with RipBot264, and someone comes along with a nice new filter, and I can't use them.
And RipBot doesn't use Vapoursynth, but that's a whole other source of frustration :(
WolframRhodium
21st September 2021, 03:32
Why dont you waste, I mean spend your time learning to code and do it yourself.
You dont have to waste your hard earned on anything, and neither does WolframRhodium have to waste any of his time on you [or me].
https://forum.doom9.org/showthread.php?t=52597
EDIT: https://en.wiktionary.org/wiki/don%27t_shit_where_you_eat
Thanks.
kedautinh12
17th October 2021, 18:17
Last ver
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/issues/7#issuecomment-886173346
takla
24th October 2021, 11:01
Last ver with BM3DCUDA_rtc for avs+ x64
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/runs/1367074149
If you don't mind, could you say "latest version" instead of "last version"? Everytime I read "last" it makes it sound like there won't be any more updates.
kedautinh12
24th October 2021, 11:42
If you don't mind, could you say "latest version" instead of "last version"? Everytime I read "last" it makes it sound like there won't be any more updates.
Ok, sr my bad English :D
guest
26th October 2021, 01:46
Ok, sr my bad English :D
Hi ked,
So how do you keep track of all these updates ??
And which one should I be using ??
This:- https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/issues/7#issuecomment-886173346
or
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/runs/1367074149
kedautinh12
26th October 2021, 01:54
Keep track here:
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions
Remember download in post with word note like "build (windows)" and tag avs+ or you will get Vapoursynth ver :D
kedautinh12
28th November 2021, 06:20
Latest ver
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/runs/1506053740
tormento
28th November 2021, 10:50
Latest ver
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/runs/1506053740
Can't find the changelog between versions and aggregate dll is missing too.
takla
28th November 2021, 12:14
@tormento
Changelog is here: https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/commits/main
kedautinh12
28th November 2021, 13:06
@tormento
Changelog is here: https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/commits/main
This for Vapoursynth and here for avs+
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/commits/avs%2B
WolframRhodium
29th November 2021, 08:45
Can't find the changelog between versions and aggregate dll is missing too.
Thanks, the problem is fixed.
There is no change log since these changes are not mean to be releases (https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/issues/7#issuecomment-886173346) and haven't been tested.
tormento
29th November 2021, 09:24
haven't been tested.
Thanks. Same package?
I have tested since your release, with older aggregate, and they work fine.
WolframRhodium
29th November 2021, 11:40
Same package?
Yes.
I have tested since your release, with older aggregate, and they work fine.
Thanks.
Dogway
2nd February 2022, 19:55
I found some issues. The plugin is broken when used with DGSource() with cropping as it only denoises vertically.
DGSource("D:\Clip.dgi",cl=0,ct=40,cr=0,cb=40)
ConverttoYUV444()
ConvertBits(bits=32)
BM3D_CUDA(sigma=2, radius=2)
BM3D_VAggregate(radius=2)
With ffms2 it shows macroblocks with radius starting from 3 (and sigma 2), but very noticeable with radius=4. Actually a combination of sigma and radius so sigma=>5 and radius=1 also shows the blocks, not sure if this is by design.
videoh
2nd February 2022, 20:08
You sound confused.
StainlessS
2nd February 2022, 21:20
Yeah, me too.
Just come in from pub, NO BEER, well lager and that kind of ilk, but I ask you, who would not be confused after that !
(Chill doggy doo, dont let it get to you :) )
ChaosKing
2nd February 2022, 22:25
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA
Note2: Lowering the value of "blocking_step" will be useful in reducing blocking artifacts at the cost of slower processing.
Dogway
2nd February 2022, 22:54
Thanks good call. Hope the arg gets included.
@StainlessS: I just ignore him, he gives away himself lol
joearmstrong
13th February 2022, 21:47
I just tested BM3DCUDA in spatial mode. I'm very impressed about the performance and the results. Maybe I switch from Neo VagueDenoiser to BM3DCUDA as my preferred spatial denoiser.
My settings:
ConvertBits(32)
BM3D_CUDA(sigma=2.5, radius=0)
ConvertBits(8, dither=0)
joearmstrong
14th February 2022, 15:27
Is there a reason why chroma is disabled by default?
kedautinh12
14th February 2022, 15:34
Is there a reason why chroma is disabled by default?
Cause chroma only support yuv444
kedautinh12
14th February 2022, 16:59
thanks for your last update test 6 support more old GPU & CPU but now BM3DCUDA very slow in TemporalDegrain2, half speed than test 5. I checked and seen you remove AVX support. Can you add support again AVX, AVX2 support and auto-detect highest Instruction Set Extensions. Thanks
guest
15th February 2022, 00:57
thanks for your last update test 6 support more old GPU & CPU but now BM3DCUDA very slow in TemporalDegrain2, half speed than test 5. I checked and seen you remove AVX support. Can you add support again AVX, AVX2 support and auto-detect highest Instruction Set Extensions. Thanks
Hi ked,
I also noticed that he's "remove avx requirement", now as BM3D for Avisynth didn't support AVX before, how can it be removed, UNLESS he mean he's added AVX support.
And what's the difference between this small "test6", and the #35 & #36 on his Git page ??
What's "ninja" ?
WolframRhodium
15th February 2022, 03:22
thanks for your last update test 6 support more old GPU & CPU but now BM3DCUDA very slow in TemporalDegrain2, half speed than test 5. I checked and seen you remove AVX support. Can you add support again AVX, AVX2 support and auto-detect highest Instruction Set Extensions. Thanks
Thanks for the feedback. These are restored in test7 (https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/files/8065185/BM3DCUDA_AVS-test7.zip). test6 is accidentally build with compiler optimization disabled so it should not be used. Auto isa detection may be supported in the future (I need more time for experiment).
guest
15th February 2022, 04:12
thanks for your last update test 6 support more old GPU & CPU but now BM3DCUDA very slow in TemporalDegrain2, half speed than test 5. I checked and seen you remove AVX support. Can you add support again AVX, AVX2 support and auto-detect highest Instruction Set Extensions. Thanks
Hi ked,
Check out my discussion here (and the posts below)
https://forum.doom9.org/showthread.php?p=1963933#post1963933
kedautinh12
15th February 2022, 06:31
I will try test 7 later
guest
15th February 2022, 06:47
I will try test 7 later
OK, pls let me know, as test#6 & #7, and build #38 & #42 didn't.
In fact 38 & 42 were a total failure, for me, it would do ANYTHING.
So has "Wolf" done anything about AVX support for older CPU's ??
The title sort of suggests it, but as they didn't work for me, I don't know.
Cheers
kedautinh12
15th February 2022, 07:14
OK, pls let me know, as test#6 & #7, and build #38 & #42 didn't.
In fact 38 & 42 were a total failure, for me, it would do ANYTHING.
So has "Wolf" done anything about AVX support for older CPU's ??
The title sort of suggests it, but as they didn't work for me, I don't know.
Cheers
AVX don't support very older cpu. It's base your cpu support AVX or not
guest
15th February 2022, 08:24
AVX don't support very older cpu. It's base your cpu support AVX or not
I've had a bit of a brain fade..
Some of my servers are old Xeon X-series and they are only SSE4.2 as I found out.
But I do have several E5 series Xeons that are AVX and I forgot to check them, so I need to do that !!
guest
15th February 2022, 13:05
I will try test 7 later
Hi ked,
"Wolfie" has been busy....he's dropped another build...#43.
I might try it, but if it's like #36 & #42, it won't work for me :(
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/workflows/windows.yml
WolframRhodium
15th February 2022, 13:07
Hi ked,
"Wolfie" has been busy....he's dropped another build...#43.
I might try it, but if it's like #36 & #42, it won't work for me :(
https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/actions/workflows/windows.yml
Hopes test8 (https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/files/8068864/BM3DCUDA_AVS-test8.zip) could work on your pc.
kedautinh12
15th February 2022, 13:27
I wonder why BM3DCUDA_AVS.dll x86 large than x64 ver??
WolframRhodium
15th February 2022, 13:46
I wonder why BM3DCUDA_AVS.dll x86 large than x64 ver??
The visual studio generator in cmake incorrectly includes additional gpu assembly programs. The ninja generator does not have this problem, but it only works for x64.
kedautinh12
15th February 2022, 13:59
I tried test 8 and speed very well. Thanks
guest
15th February 2022, 14:29
The visual studio generator in cmake incorrectly includes additional gpu assembly programs. The ninja generator does not have this problem, but it only works for x64.
Is there any difference between the VS & Ninja builds ??
Is anything else required to run the Ninja builds ??
I will test "test #8" & build #43 in about 11 hours from now.
Good night.
WolframRhodium
15th February 2022, 18:38
I tried test 8 and speed very well. Thanks
Thanks for your testing.
Is there any difference between the VS & Ninja builds ??
Is anything else required to run the Ninja builds ??
I will test "test #8" & build #43 in about 11 hours from now.
Good night.
VS & Ninja are just different tools that automates compilation so there should not be much difference. Test #8 should work on machine that can run test #6.
guest
16th February 2022, 05:24
Thanks for your testing.
VS & Ninja are just different tools that automates compilation so there should not be much difference. Test #8 should work on machine that can run test #6.
OK, so I've just tested "test#8" on the server that has dual Xeon E5-2697v2's (AVX), and a sad little GTX 760.
It worked on CUDA, but as expected, not on CPU, unfortunately...maybe one day.
I tried "Test#7", and was the same as #8.
I also tried build #43....did not even start AVSMeter, but build's #35 & #36 are good to go (for me), but #38 was no good.
Cheers
kedautinh12
16th February 2022, 06:15
OK, so I've just tested "test#8" on the server that has dual Xeon E5-2697v2's (AVX), and a sad little GTX 760.
It worked on CUDA, but as expected, not on CPU, unfortunately...maybe one day.
I tried "Test#7", and was the same as #8.
I also tried build #43....did not even start AVSMeter, but build's #35 & #36 are good to go (for me), but #38 was no good.
Cheers
BM3DCPU required AVX2 to work and i think don't need delete AVX2 in CPU ver cause CPU ver will very slow in old cpu. Just use BM3DCUDA
guest
16th February 2022, 07:49
BM3DCPU required AVX2 to work and i think don't need delete AVX2 in CPU ver cause CPU ver will very slow in old cpu. Just use BM3DCUDA
Yes I know this, it's just a shame, because the Vapoursynth version does support AVX...
And yes, I am happy that the CUDA function is now working (again), and on older nVidia GPU's that "Wolfie" thought wouldn't be supported, are "helping".
I lashed out and bought an RTX 3050 OC yesterday, 2560 Cuda Cores, should be a nice addition to the Ryzen 5950X, and the process.
Be nice if I could get VS to work for me with RipBot...oh well, wishful thinking.
Cheers
kedautinh12
16th February 2022, 08:34
I think can add sse2, sse4.2 and keep AVX2 in BM3DCPU if WolframRhodium support auto-detect highest Instruction Set Extensions :D
joearmstrong
20th February 2022, 10:42
I found some issues. The plugin is broken when used with DGSource() with cropping as it only denoises vertically.
DGSource("D:\Clip.dgi",cl=0,ct=40,cr=0,cb=40)
ConverttoYUV444()
ConvertBits(bits=32)
BM3D_CUDA(sigma=2, radius=2)
BM3D_VAggregate(radius=2)
I made a few encodes with DGSource and cropping, but
I used the cropping function from AviSynth - I couldn't find any problems.
DGSource("D:\Clip.dgi")
ConvertBits(32)
crop(0, 24, 0, 24)
BM3D_CUDA(sigma=2.2, block_step=2, radius=0)
ConvertBits(8, dither=0)
kedautinh12
20th February 2022, 11:27
I made a few encodes with DGSource and cropping, but
I used the cropping function from AviSynth - I couldn't find any problems.
DGSource("D:\Clip.dgi")
ConvertBits(32)
crop(0, 24, 0, 24)
BM3D_CUDA(sigma=2.2, block_step=2, radius=0)
ConvertBits(8, dither=0)
Cause you edited value of block_step
joearmstrong
20th February 2022, 11:40
Cause you edited value of block_step
Yes, these were my last settings. But before, I used the default block_step setting which was also working fine. Maybe it's depending on the source video (quality/resolution) and the amount of sigma. At least I can testify that it's not broken.
tormento
18th June 2022, 13:18
I would like to try and see if AVS+ is slower than VS on BM3D CUDA with this script:
SetMemoryMax()
SetFilterMTMode("DEFAULT_MT_MODE", 2)
LoadPlugin("D:\Eseguibili\Media\DGDecNV\DGDecodeNV.dll")
DGSource("F:\In\1_30 Trigun - Badlands rumble\rumble.dgi")
ConvertBits(32)
BM3D_CUDA(sigma=3, radius=2)
BM3D_VAggregate(radius=2)
fmtc_bitdepth (bits=10,dmode=8)
neo_f3kdb(range=15, Y=65, Cb=40, Cr=40, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=false, keep_tv_range=true)
Prefetch(8)
How would it translate in VS? I have problems understanding the way VS deals with bitdepths.
Yomiko
20th June 2022, 07:33
How do you justify whether pcie becomes the bottleneck?
ChaosKing
20th June 2022, 14:35
I would like to try and see if AVS+ is slower than VS on BM3D CUDA with this script:
SetMemoryMax()
SetFilterMTMode("DEFAULT_MT_MODE", 2)
LoadPlugin("D:\Eseguibili\Media\DGDecNV\DGDecodeNV.dll")
DGSource("F:\In\1_30 Trigun - Badlands rumble\rumble.dgi")
ConvertBits(32)
BM3D_CUDA(sigma=3, radius=2)
BM3D_VAggregate(radius=2)
fmtc_bitdepth (bits=10,dmode=8)
neo_f3kdb(range=15, Y=65, Cb=40, Cr=40, grainY=0, grainC=0, sample_mode=2, blur_first=true, dynamic_grain=false, mt=false, keep_tv_range=true)
Prefetch(8)
How would it translate in VS? I have problems understanding the way VS deals with bitdepths.
Like this
import vapoursynth as vs
core = vs.core
#core.max_cache_size = 4000 # Not really needed: Set the upper framebuffer cache size after which memory is aggressively freed. The value is in megabytes.
clip = core.dgdecodenv.DGSource(r'F:\In\1_30 Trigun - Badlands rumble\rumble.dgi')
clip = core.fmtc.bitdepth(clip, bits=32)
clip = clip.bm3dcuda.BM3D(sigma=3, radius=2).bm3d.VAggregate(radius=2)
clip = clip.fmtc.bitdepth(bits=10,dmode=8)
clip = clip.neo_f3kdb.Deband(range=15, y=65, cb=40, cr=40, grainy=0, grainc=0, sample_mode=2, blur_first=True, dynamic_grain=False, mt=False, keep_tv_range=True)
clip.set_output()
clip = core.fmtc.bitdepth(clip, bits=32) is the same as clip = clip.fmtc.bitdepth(bits=32)
Python is case sensitive true is not True
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.