View Full Version : Smart bob filter: DGBob() 1.6.0: Now with slow motion
FredThompson
25th June 2003, 05:46
The change log in those files is old.
This is the most recent I can find: http://hellninjacommando.com/con3d/beta/readme.html and it says no temporal support.
Here is vlad59's thread about Convolution3D and AviSynth 2.5: http://forum.doom9.org/showthread.php?s=&threadid=38281
It wants a progressive source. I think Bach is correct about the use of dgbob. I wonder if a more accurate way is to split the source by field, filter, then reassemble the fields. That would also be more difficult.
bilu
25th June 2003, 17:55
@neuron2 or trbarry
TomsMoComp(1,x,0) and DGBob(order=1,single=true) are for the same streams?
Is there a criteria to choose between them?
Bilu
Guest
25th June 2003, 18:40
Originally posted by bilu
TomsMoComp(1,x,0) and DGBob(order=1,single=true) are for the same streams? DGBob() is designed and optimized for double-rate output. The single-rate mode was easy to add and someone wanted it, so I made it.
I don't think TMC does double-rate, yet. As for choosing between them for single-rate output, TMC may get the nod due to its speed and its attempt to reduce jaggies with EDI. I am not entirely happy with the EDI implementation, however, I suspect it can cause as much or more damage than good. I am currently researching this area.
gotaserena
25th June 2003, 19:13
trbarry mentions in the TMC's readme file that it works as a smarter bob when the "SearchEffort" parameter is set to "0". But it doesn't give double rate output, as opposed to DGBob().
@neuron2: is "SearchEffort" algorithm in TMC's the "EDI implementation" you refer to? What "EDI" stands for, if I might ask?
zeus163
26th June 2003, 02:23
I decided to give this a whirl since I'm still trying to learn the ropes of scripting. I wrote a basic script that seemed to work (gathered from reading this thread), however, I tried this one based on input from this thread. It opens fine in Virtual Dub, but CCE tells me that the framerate isn't supported. I'm not sure why I'm getting this error, but this is my script. Any advice would be appreciated it:
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\dgbob.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2Dec3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\convolution3d.dll")
Avisource("E:\avis to work on\new pornographers\new pornographers letterman.avi")
dgbob(order=1,single=true)
Convolution3d(0,12,24,8,8,3,0)
BicubicResize(704,440)
AddBorders(8,20,8,20)
separatefields()
selectevery(4,0,3)
Weave()
AddAudio()
Of course, I'm probably missing something or just not quite understanding a simple concept (this is entirely plausible!).
thanks for everyone's hard work.
trbarry
26th June 2003, 02:25
From the other recent thread, EDI is Edge Directed Interpolation. I briefly tried to go through the math of this but came to the conclusion that I didn't really understand how they were doing it. But it was not the same as my ELA, Edge directed Line Averaging, which I got from a different paper.
What I called a "Smarter Bob" was still just ELA, a fancier way to get better info from a single frame. The other half of the algoritm when SE > 0 is a motion compensated deinterlace. This also looks at data from adjacent frames. The SE parm determines how much work it expends doing a motion search. But we've found that SE > 5 also let's through additional artifacts, so usually just use 5.
So generally there is a bit of confusion about terminology between our various deinterlacers.
- Tom
ADLANCAS
26th June 2003, 02:58
@zeus163
you could remove "single=true" in your script,
or if you like to use this option, then donīt use:
#separatefields()
#selectevery(4,0,3)
#Weave()
I think itīll work.
Alexandre
zeus163
26th June 2003, 03:14
Thanks! Actually the one I'm encoding right now omits those lines. So, in actuallity it's doing what I think will work right now.
Cool and thanks!
Guest
26th June 2003, 04:10
You sound pretty confident about it there, Mister. :)
So I had a look and.....you're right!
I broke it when I added single-rate support over my morning coffee. :o
Please get version 1.5.1 at the usual place. Thank you for bringing this to my attention. The changes were so minor that I didn't think any testing was needed. :rolleyes:
Guest
26th June 2003, 12:55
Originally posted by Bach
this is the fastest bugfix ever seen:). It could have been faster except for the time spent developing a script to test your assertion:
LoadPlugin("..\release\dgbob.dll")
blackness(200,fps=29.97)
converttoYUY2()
assumetff.separatefields
showframenumber
weave
dgbob(order=1,thresh=0)
FredThompson
1st July 2003, 02:59
The parameter "thresh" is described in the readme as being an integer. What size? I'm guessing 1 byte so the values are 0-255, correct?
Guest
1st July 2003, 04:41
It has signed integer range. Values below 0 and above ~50 are unlikely to be of much use.
jarthel
6th July 2003, 03:45
is this filter a better substitute to fielddeinterlace (from decomb)?
Thanks
jayel
Guest
6th July 2003, 14:47
Originally posted by jarthel
is this filter a better substitute to fielddeinterlace (from decomb)? That depends upon your application and aesthetic tastes.
Guest
6th July 2003, 14:49
I've added a new mode to DGBob(). It produces double the number of input frames (frames from fields), but sets the final frame rate to the original frame rate. This produces a 50% slow motion effect.
Note that the syntax has changed, so please refer to the help file.
http://shelob.mordor.net/dgraft/dgbob/dgbob.html
IanB
8th August 2003, 00:32
Don,
DGBob() rocks :)
<<wrong thinking deleted>>
IanB
bachopin
8th August 2003, 07:12
I've been using fieldeinterlace() from the decomb.dll for
quite a long time. It was a great help
and never let me down while working with pure PAL intarlaced material.
And now I just noticed this new filter and I wonder what's are
the main differences between the two, or simply put,
can I achive maybe even better results with this new filter ?
Thank you ver much in advance
Regards
Peter
cheap-red-wine
8th August 2003, 17:07
You may find that DGBob() damages static logos, etc., less than FieldDeinterlace(). But DGBob() lacks some features of FD. So, as mentioned in this thread, it all depends upon your application and aesthetic tastes. Only you can decide which is preferable.
You might also look at KernelDeint(), which is another new deinterlacer from neuron2.
morsa
9th August 2003, 23:03
I really like its slow motion mode.But there is an old and awfull problem: Marching ants.
FredThompson
10th August 2003, 01:46
You know, I saw that junk on my parents' cable feed last week. Drove me nuts and now I have to figure out how to remove it from the tapes I made on their system. (Why can't old people just get DirecTiVos?)
Richard Berg released AviSynth 2.5 versions of some filters including Guava Comb just recently. Maybe that will help.
Sure would be nice to see a filter called Raid to take care of marching ants. (For those who don't know, Raid is the name of an American bug spray, the byline is kills bugs dead.)
MacAddict
20th November 2005, 18:15
Sorry to drag up this old thread but I just had to say thanks again Don for brilliant work. Majority of my bobbing projects still seem to be smoother using DGBob compared to newer smart bobs for whatever reason. Any chance of an optimized SSE2 version in the future? I know your busy with other projects but I couldn't resist the question :-)
scharfis_brain
20th November 2005, 19:21
please forget about dgbob().
it is very outdated now. TDeint() or Leakkernelbob() will give you much better results
MacAddict
21st November 2005, 16:45
I know it's very dated but on certain field blended movies I find it still gives me the smoother panning motion. I'm currently looking at TFM and TDeint options though and trying to adapt the parameters for this type of material. The number of options are quiet overwhelming...but nice :-)
CrAcKo
28th April 2006, 17:51
I was looking for a way to add slow motion effect to my video clips, I found Smart Bob, but I don't really know how to use it in VirtualDub. VD is pretty much the only thing I use, next to nandub.
Can someone explain how this exactly works? The description on Neuron's site said I had to set the fps to the input's fps somewhere in the AVI Header? I really don't understand...
Richard Berg
28th April 2006, 21:47
You'll be much better off with motion compensation. Do a search on this forum for MotionProtectedFPS or MvFPS.
CrAcKo
29th April 2006, 01:15
Looks like both MotionProtectedFPS and MvFPS involves Avisynth. I'm not familiar with avisynth at all.
Adub
29th April 2006, 03:22
I suggest that you become familiar with it. It is the best free editor in the world! Not kidding!
Avisynth really is your number 1 option for what you are trying to do. There are numerous plugins that have to do with slow motion in video. And the great thing is that VDub fully supports it!
If you need help, surf the forum, or go to the main website and check out the tutorials. Plus every plugin comes with it's own explanation of every function.
Sorry I could not be of more help.
Good luck!
CrAcKo
29th April 2006, 06:10
Thank you all very much.
I'll explore the forums when I got enough time for it.
- CrAcKo
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.