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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th July 2002, 21:53   #1  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
New motion compensated deinterlace filter (TomsMoComp)

I've just released my new TomsMoComp.dll deinterlace filter.

This is a first cut at doing motion compensated deinterlace of video source material, but still doing it at a reasonable speed.

There are actually 2 versions in the zip file; one each for Avisynth and DScaler 4.0.

See the ReadMe file at www.trbarry.com/Readme_TomsMoComp.txt or get the source and DLL at www.trbarry.com/TomsMoComp.zip.

The Avisynth filter also offers a fancy new line doubling option to verically double the size of a (progressive) clip in a way that I think offers a bit more apparent detail than regular scaling. I'll post some samples and some more about that later.

Note this is NOT for film source, only video (ATSC, PAL, or NTSC). Use ForceFilm, DeComb, or GreedyHMA for telecined film material.

This is brand new so any feedback appreciated.

- Tom

Last edited by trbarry; 8th July 2002 at 23:11.
trbarry is offline   Reply With Quote
Old 8th July 2002, 22:54   #2  |  Link
avih
Capture, Deinterlace
 
avih's Avatar
 
Join Date: Feb 2002
Location: Right there
Posts: 1,968
great tom
i'll test it.
how about moComp temporal filter now?

best regards
avi

ps
add '.txt' to your readme link
avih is offline   Reply With Quote
Old 8th July 2002, 23:13   #3  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Avih -

Thanks. Link fixed now.

- Tom
trbarry is offline   Reply With Quote
Old 8th July 2002, 23:48   #4  |  Link
UGAthecat
slacker - lurker
 
Join Date: Jun 2002
Location: at the corner of procrastination and indecision
Posts: 80
Too sweet!
I'm with avih also about the MC-temporal filter (as previously begged for here http://forum.doom9.org/showthread.php?s=&threadid=28138 )

I did some simulations in photoshop, and the really noisy source I referred to in the post above went from about 40% pixels being 'locked' with a threshold of 20, to about 90% of the pixels being locked when the previous frame was moved to compensate for motion in the new frame.
UGAthecat is offline   Reply With Quote
Old 9th July 2002, 04:03   #5  |  Link
Milkman Dan
Registered User
 
Join Date: Oct 2001
Posts: 243
tom, I get a "Internal Error: MMX state left on: T:\projects\virtualDub_old\main\VideoSource.cpp:1101"

I have no idea where that path comes from. It's not present on my system.

I have a SSE-enabled Athlon.
Milkman Dan is offline   Reply With Quote
Old 9th July 2002, 04:18   #6  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Quote:
tom, I get a "Internal Error: MMX state left on: T:\projects\virtualDub_old\main\VideoSource.cpp:1101"
oops. Maybe in spite of my warning everyone else constantly about this I may have terminated without issuing an emms instruction. Avery/Vdub has encountered this so often that he has now put in helpful checks for it.

I'll look for it.

But be aware it can also come from BiCubicResize in some versions of Avisynth.

- Tom
trbarry is offline   Reply With Quote
Old 9th July 2002, 04:27   #7  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
(dashing back, panting and sweating)

Milkman Dan -

I can't find an exit from the program that has this error. (of course I'm as blind as the next guy)

Could you verify that it happens with all other filters removed?

- Tom
trbarry is offline   Reply With Quote
Old 9th July 2002, 05:50   #8  |  Link
Milkman Dan
Registered User
 
Join Date: Oct 2001
Posts: 243
Sorry for taking so long. I removed all other filters. The error still occurs.

I didn't notice before that there is an AVIsynth read error just before the MMX state error. The address changes each time though.
Milkman Dan is offline   Reply With Quote
Old 9th July 2002, 06:07   #9  |  Link
dividee
Registered User
 
Join Date: Oct 2001
Location: Brussels
Posts: 358
Just tested your filter. Quality seems very good.
However, I had some access violations too. It only occurs with some combinations of parameters and clip properties, but I didn't find a pattern. For example, with res of 720x480 it only works with TopFirst=0 and SearchEffort<6. If I resize it to 704x480 it works for other parameters, but if I crop it to the same resolution it doesn't. Maybe pitch related? Also it sometimes cause a line of gargabe pixel at the bottom, particularly in "double height" mode (SearchEffort=-1) but not only.
__________________
dividee

Last edited by dividee; 9th July 2002 at 06:09.
dividee is offline   Reply With Quote
Old 9th July 2002, 07:49   #10  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Grrrrrrrrr......

I have not been able to reproduce the error yet, much less fix it.

Could someone post a script that causes the error? And say what kind of machine and input file it is?

I certainly believe that it happens, it just does not yet happen here.

- Tom
trbarry is offline   Reply With Quote
Old 9th July 2002, 18:09   #11  |  Link
dividee
Registered User
 
Join Date: Oct 2001
Location: Brussels
Posts: 358
Code:
LoadPlugin("TomsMoComp.dll")
BlankClip(width=720,height=480,pixel_type="YUY2")
TomsMoComp(1,0,1)
#TomsMoComp(0,6,1)
#TomsMoComp(0,5,1)
#BilinearResize(720,240).TomsMoComp(0,-1,1)
With the first two set of parameters it crash, the third one works. The last one gives me a colorful dotted line at the bottom.
I have an Athlon XP.
__________________
dividee
dividee is offline   Reply With Quote
Old 9th July 2002, 18:13   #12  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
dividee -

Thanks. I'll try that right away. Hopefully it will crash for me here also (what a thing to say )

BTW, what release of Avisynth are you running?

- Tom
trbarry is offline   Reply With Quote
Old 9th July 2002, 18:48   #13  |  Link
dividee
Registered User
 
Join Date: Oct 2001
Location: Brussels
Posts: 358
I was using the CVS code from about 24h ago.
Will try with older versions and report back.

[EDIT:] Same behavior with 1.0b7, 1.0b6, 1.0b5 and latest CVS
__________________
dividee

Last edited by dividee; 9th July 2002 at 18:59.
dividee is offline   Reply With Quote
Old 9th July 2002, 19:20   #14  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Okay, I can crash it here too.

It looks like I process too many lines and fall off the end of the buffer. Unless it's the -1 doubling option. Then I process too few.

Fix soon.

- Tom
trbarry is offline   Reply With Quote
Old 9th July 2002, 21:07   #15  |  Link
tenebrenz
Registered User
 
tenebrenz's Avatar
 
Join Date: Nov 2001
Location: United Kingdom
Posts: 104
Quote:
how about moComp temporal filter now?
I'm still hoping that someone will write a filter that does temporal smoothing in still areas and spatial smoothing in moving areas which should be a little easier to code than motion-compensated temporal smoothing. I think if I mention it every few months maybe someone will
__________________
tenebrenz
tenebrenz is offline   Reply With Quote
Old 10th July 2002, 09:37   #16  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,352
There is a VirtualDub filter who does exactly this (I think):
Use Freese website: Time Based Deinterlacer
Wilbert is offline   Reply With Quote
Old 10th July 2002, 11:38   #17  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
Ah, too bad, that's a deinterlacer too. I thought you'd come up with a motion compensated temporal smoother

trbarry, can you adopt the code from avisynth's temp smoother (or was it dividee's code?) to work with the found motion? (well, and be scene-change adaptive as well is somewhat important i guess...)

*hide*

Regards,
Koepi
Koepi is offline   Reply With Quote
Old 10th July 2002, 12:19   #18  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,352
Quote:
Ah, too bad, that's a deinterlacer too. I thought you'd come up with a motion compensated temporal smoother
Oeps, sometimes I can't read Sorry ...
Wilbert is offline   Reply With Quote
Old 10th July 2002, 16:22   #19  |  Link
trbarry
Registered User
 
trbarry's Avatar
 
Join Date: Oct 2001
Location: Gainesville FL USA
Posts: 2,092
Sorry guys, the bug is still not fixed. I mostly played hookey yesterday.

And I don't think I can easily adapt this as a temporal smoother.

- Tom
trbarry is offline   Reply With Quote
Old 10th July 2002, 17:44   #20  |  Link
Defiler
Asker of Questions
 
Join Date: Oct 2001
Location: Florida
Posts: 433
Just checking in here re: 60fps output (from the CPU Optimization thread.)
Wanted to get on e-mail notify for this thread.
trbarry: Occasionally when I use Force FILM on a DVD that shows 99% film in DVD2AVI, I still get choppy pans. What do you think about leaving such a thing at 29.97fps and using TomsMoComp on it? Stupid idea?
Defiler is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 04:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.