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. |
25th September 2003, 21:26 | #1 | Link |
Registered User
Join Date: Jun 2003
Posts: 71
|
New Filter: Interpolating Bob
I just released a new filter, Interpolating Bob. You can find it at http://kevin.atkinson.dhs.org/ibob/.
The filter works identically to the Avisynth builtin Bob filter except that it uses linear interpolation instead of bicubic resizing. The advantages of IBob over the builtin Bob is: 1) The lines of the dominate field are untouched. In particular Code:
assumetff() orig = last ibob() assumetff().separatefields().selectevery(4,0,3).weave() compare(last,orig) video (when the video format is yuy2, with yv12 the chroma will be slightly different). With the builtin bob this is not the case. 2) A bit faster than the builtin bob. In can be made even faster by 1) dynamically compiling key parts to reduce register pressure and take advantage of the "base + index + displacement" addressing mode, and by 2) using vector extensions. |
27th September 2003, 01:50 | #4 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
Ah, that might be of actual interest for me.
Very nice. Thank you, Kevin. /puts ibob into the basket. BTW, Kevin, there is no need to hack something into SmartDecimate to serve my actual script. It works like a charm.
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
27th September 2003, 07:58 | #5 | Link |
Registered User
Join Date: Jun 2003
Posts: 71
|
Thanks all.
I have no plans to intergrate it in SmartDecimate as that will serve nothing. Theoretically Bob() should be higher quality than IBob() (cubic verses linear). If any one cares to compare the two I would be interested in the results. It is most usefull when you need to do something like Bob/Filter/UnBob where Filter is a temporal but noninterlaced aware filter. SeparateFields won't work quite right for filters which consider more than one frame at a time (ie temporal ones) since the scanlines are not in the right place. |
27th September 2003, 16:55 | #6 | Link |
Simply me
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
|
Kevin
You've piqued my interest with the "bob/filter/unbob" concept. What advantage do you see/have you found over Viewfields/filter/Unviewfields concept as promoted by many others (OK then - me ) regards Simon
__________________
http://www.geocities.com/siwalters_uk/fnews.html |
27th September 2003, 17:23 | #7 | Link |
Registered User
Join Date: Feb 2003
Posts: 299
|
@ kevin,
Would you please provide a working AVS sample script please ??? The one you provided is incomplete. I can't get the IBob.dll to work w/ my DV cam footage source files I keep getting this error: ** LoadPlugin: unable to load "LoadPlugin("c:\dlls252\IBob.dll")" I also have the avisynth_c.dll in this same folder. Here is my script: Code:
x="h:\20.39.00.avi" LoadPlugin("c:\dlls252\ReInterpolate411.dll") LoadPlugin("c:\dlls252\IBob.dll") segmentedAVISource(x) ConvertToYUY2() #Reinterpolate411() assumetff() orig = last ibob() assumetff().separatefields().selectevery(4,0,3).weave() compare(last,orig) -vhelp
__________________
ESC K7S5A / XP 1800+ / Windows 98 ADVC-100[dvio] / WTVGO[avio] / DC10+[avio] / Canon ZR-10 / Delphi 6 Personal / JVC S-VHS HR-S3910U / Durabrand SSS w/ DVD Player STS75E / Sony TRV-22 FithElement/Dogma/BladeRunner/Contact |
27th September 2003, 17:24 | #8 | Link | |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
@ vhelp: You must load it with LoadCPlugin(...).
Quote:
(assuming 'filter' is a spatio-temporal one) - with Un/ViewFields, the spatial part works strong, but the temporal part works by comparing only every other field (field n is compared with fields n-2 and n+2), since the direct temporal neighbors are above and below. - with ibob, both the spatial and the temporal part are comparing pixels against interpolated ones only. But here, the temporal part works more precise, since pixels from fields that are direct temporal neighbors are compared. So, it depends on what exactly you're going to do. Each method has its pro's and con's. - Didée
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) Last edited by Didée; 27th September 2003 at 17:29. |
|
27th September 2003, 17:39 | #9 | Link |
Registered User
Join Date: Feb 2003
Posts: 299
|
Hi Didée,
I must be stupid, but after trying your response of LoadCPlugin(...) it did not work After using: Code:
LoadCPlugin("c:\dlls252\IBob.dll") I thought we were all using AVS v2.52 these days.. have we gone backward now ?? Oh well, thanks anyways -vhelp
__________________
ESC K7S5A / XP 1800+ / Windows 98 ADVC-100[dvio] / WTVGO[avio] / DC10+[avio] / Canon ZR-10 / Delphi 6 Personal / JVC S-VHS HR-S3910U / Durabrand SSS w/ DVD Player STS75E / Sony TRV-22 FithElement/Dogma/BladeRunner/Contact |
27th September 2003, 18:25 | #11 | Link | |
Simply me
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
|
Quote:
It will give different results but not "more precise" regards Simon
__________________
http://www.geocities.com/siwalters_uk/fnews.html Last edited by Si; 27th September 2003 at 20:02. |
|
27th September 2003, 19:51 | #13 | Link |
Registered User
Join Date: Jun 2003
Posts: 71
|
@bilu
It's not meant to replace a Smart Bob such as DgBob() but rather a dumb bob such as the builtin Bob() for reasons stated earlier. @siwalters It depends on want you mean on precise. It will be comparing against "imaginary" pixels but once you UnBob the imaginary pixels are not used. If you are using some sort of conditional temporal filter which just compares against the imaginary pixels but doesn't necessary use them, the results will defently be more "precise", especally around scene changes and the like. |
27th September 2003, 20:14 | #14 | Link | ||
Simply me
Join Date: Aug 2002
Location: Lancashire, England
Posts: 610
|
Quote:
Quote:
I was asking where/when/how you'd see it in being better than just a simpler splitfields action. You've seem to be saying you can imagine it being better in some situation but you don't have such a situation to hand -- mmm I'm sure you can do better than that (or can you ) regards Simon
__________________
http://www.geocities.com/siwalters_uk/fnews.html |
||
2nd October 2003, 03:15 | #15 | Link | |
Registered User
Join Date: Jun 2003
Posts: 71
|
Quote:
|
|
2nd October 2003, 13:57 | #16 | Link | |
·
Join Date: Jan 2002
Posts: 1,729
|
Re: New Filter: Interpolating Bob
Quote:
|
|
22nd October 2003, 14:25 | #17 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
my only prob with this is that it pretty much always gets the field order wrong... maybe cause i'm a PAL baby?
i get around it with: ibob().selectevery(2,1,0) but that aside, this is a nice little tool. i've given up trying to duplicate its functionality with scripts. no matter what resizer i use (except pointresize) it will change both fields. keep up the goodwerk!
__________________
sucking the life out of your videos since 2004 |
21st April 2016, 03:39 | #19 | Link | |
Registered User
Join Date: Jan 2015
Posts: 1,056
|
Quote:
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers. |
|
21st April 2016, 11:13 | #20 | Link |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
bob() itself can leave the original fields untouched, if you want it to:
Code:
Bob(0.0, 1.0) preserves the original fields for RGB and YUY2 and preserves the Luma but not the Chroma for YV12. Last edited by wonkey_monkey; 21st April 2016 at 11:29. |
Thread Tools | Search this Thread |
Display Modes | |
|
|