View Full Version : FieldMatch
spyder
30th January 2003, 00:39
First off... mf DO NOT POST HERE!
Ok, now I would like to announce this plugin which is designed to correct field order problems in video. It basicly takes a DoubleWeave clip and discards the combination from each resulting pair that has the highest combing value. I'm not sure how useful this is but mf wanted it so here it is. It's just a reduced version of HybridBob(minus interpolation and duplication). Tell me if it's of any use to any of you. I think I can improve it a little by trying to force different combinations. Let me know.
Guest
30th January 2003, 01:12
There is no help file in the zip file. What are the instructions for using the filter?
Is the source code available?
Thank you.
spyder
30th January 2003, 20:08
OOPS!
I am so sorry. I forgot to make a help file. This is the usage:
FieldMatch(thresh)
thresh is the threshold used to determine combing. I suggest 25. But I myself haven't played with this filter much.
I'll make a help file for the next release(with out of order matching maybe).
Spyder
Guest
31st January 2003, 02:00
Please explain the application of this filter.
It doubles the number of frames but does not double the frame rate, resulting in slow motion play.
It fails on scene changes.
Is a specific field order assumed (i.e., top first or bottom first)?
Is the source code available?
Thank you.
spyder
31st January 2003, 15:22
I'll post later the new version with corrected frame count(forgot to fix that, HybridBob outputs double rate). I'll include the source as GPL in the next ZIP. I have to go to class right now. ;)
Spyder
Guest
31st January 2003, 15:47
Originally posted by spyder
I'll post later the new version with corrected frame count(forgot to fix that, HybridBob outputs double rate). I'll include the source as GPL in the next ZIP. I have to go to class right now. Thank you, it's much appreciated!
spyder
31st January 2003, 22:35
Here you go. This one exhibits a chroma issue from somewhere. Maybe it's a bug in my code. :(
PS: I guess it assumes top field first. I haven't put much thought into it. Though it shouldn't matter I think. I use AVISynth's DoubleWeave through env->Invoke() and then the comb detection is not biased so...
Spyder
spyder
31st January 2003, 23:18
I also have a 2.50 beta version of UnDot by trbarry if it's not been released already. I modified the Init to Init2 and recompiled.
sierrafoxtrot
1st February 2003, 00:58
undot for avisynth 2.5 would be fantastic!!!
cheers, sF
Guest
1st February 2003, 03:26
Originally posted by spyder
PS: I guess it assumes top field first. I haven't put much thought into it. Though it shouldn't matter I think. I use AVISynth's DoubleWeave through env->Invoke() and then the comb detection is not biased so...
No, that is not correct. You test only 2 matches for each frame but three are possible when you allow for both possible field dominances. I can demonstrate failure on clips that don't match your assumed dominance.
Other observations:
Your dst frame is superfluous.
Your algorithm does not consider chroma.
minor point: xAligned = n & ~1 is a more common idiom that your xAligned = n - (n % 2).
Using the name rowSize to store the pitch is, well, perverse. :)
OutputDebugString() arguments require \n for proper operation in DebugView.
What you call a "combing detection threshold" is actually a noise rejection parameter equivalent to 'nt' in Telecide. The idea of a combing detection threshold is applicable to deinterlacing, not field matching.
Your help file does not state the color space(s) supported.
I won't mention the serious issue you raise in the help file that you tell us not to mention. :)
Guest
1st February 2003, 03:31
Oh, and when your GetFrame() receives calls for say frame 0 and then 1 (or 2 and then 3, etc.), it just unnecessarily repeats all the same calculations and delivers the same frame. Worse, that means your output clip just has doubles of all frames, which makes one wonder why you go to all the trouble. You can prove it by putting:
dup(copy=false,show=true)
...after your filter and observing the difference metric oscillate between 0.00 and a non-zero value. I knew dup(copy=false) would come in handy one day. :)
(It would make a lot more sense if you didn't do the n &= ~1 operation.)
Finally, you never answered my question about the application of this filter. Given all the above, I just can't see the point of this filter beyond perhaps learning about Avisynth plugins.
Guest
1st February 2003, 04:35
Originally posted by sierrafoxtrot
undot for avisynth 2.5 would be fantastic!!!
cheers, sF When the original author is still active, his or her permission should first be sought, IMHO.
Si
1st February 2003, 08:40
Your dst frame is superfluous.
Your combing detection does not consider chroma.
minor point: xAligned = n & ~1 is a more common idiom that your xAligned = n - (n % 2).
Using the name rowSize to store the pitch is, well, perverse.
OutputDebugString() arguments require \n for proper operation in DebugView.
Forum Rule 0 (well Marquis of Queensbury rules actually) states you must stop hitting the opponent once they are lying on the ground :)
Si ;)
Guest
1st February 2003, 14:18
@Si
Methinks you are taking things in the wrong spirit! I'm just providing useful feedback for the filter author in response to his:
"Tell me if it's of any use to any of you."
But then again perhaps you were jesting. :p
bilu
1st February 2003, 15:33
www.trbarry.com/Readme_UnDot.txt
***************
Change Log:
2003/01/18 V 0.0.1.1 Use AvisynthPluginInit2
2002/11/03 V 0.0.1.0 Initial test release for Avisynth 2.5 alpha only
@spyder
I can't understand, why did you recompiled Undot then?
Bilu
spyder
1st February 2003, 18:42
@bilu: As I said in my post above, I was unsure of a new UnDot. I built this while I was offline and couldn't check for a new one.
@neuron2: Thanks for the info. I have little experience in coding this sort of thing so I much appreciate your advice. I don't know that I will continue this soon as I am beginning to get busy with Matroska. I will finish my newest filter soon and then post it here. Don't ask what it does because I won't release it if it doesn't work. :(
If anyone wants to make this better, feel free. :)
Spyder
spyder
1st February 2003, 19:17
I am not sure how this happened but the source file in my zip is not the right one. The real one doesn't include the dst frame and doesn't use the n - (n % 2). It also has a GPL header like I intended. Hmmm. I attached the new ZIP.
Spyder
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.