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 13th September 2008, 22:48   #21  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
With commercial applications like Philips' TrimensionDNM and Motion Morphing MultiSampling, could they still be flawless or are just comparable with the AviSynth filters?

also, what needs to be odne as well to create flawless interpolation?

in addition, does anyone know of hardware that does Frame upconverting using Motion Compensation?
Undead Sega is offline   Reply With Quote
Old 13th September 2008, 22:56   #22  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
it is impossible "flawless" restore notexistant information.
But people try to do it better and better.

It was discussed here and there. Use search.

chao.
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 13th September 2008, 23:09   #23  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,405
Quote:
Originally Posted by Alex_ander View Post
mvflowfps doesn't understand 'last' for some reason
This is because the vector clips are defined as optional arguments, so in mvflowfps(vb, vf, ...), Avisynth takes vb as the source clip and vf as the backward vector - hence the error message "Vector Clip must be specified", because MVTools sees this as missing the forward vector.

@Fizick: Is this a bug? Why are the vector arguments 'optional'?

Last edited by Gavino; 13th September 2008 at 23:12.
Gavino is offline   Reply With Quote
Old 13th September 2008, 23:18   #24  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
dont worry, its okay, it didnt work because i didnt have the word 'last' in the script, so its all cool

hardware wise, i know it is possible to use hardware such as ur graphics card to do Motion Compensation, is there any way to take advantage of it for any kind of interpolation whatsoever?
Undead Sega is offline   Reply With Quote
Old 13th September 2008, 23:24   #25  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,405
Quote:
Originally Posted by Undead Sega View Post
dont worry, its okay, it didnt work because i didnt have the word 'last' in the script, so its all cool
It may be okay for you, but I'm the sort of guy that worries about things like this.

The point is you shouldn't have to put the word 'last' in yourself, Avisynth should do it for you behind the scenes.
Gavino is offline   Reply With Quote
Old 13th September 2008, 23:36   #26  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Gavino,
mvfw is named agrument. Avisynth syntax have not named optional arguments.
it is not bug but feature.
Whos? MVtools or Avisynth.
I could made mvbw, mvfw as unnamed, but it will brake compatibility.
If you are the sort of guy that worries about things like this, and you know solution, please suggest
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 13th September 2008, 23:40   #27  |  Link
45tripp
Dolphin Blue
 
45tripp's Avatar
 
Join Date: Mar 2007
Posts: 336
Quote:
Originally Posted by Gavino View Post
The point is you shouldn't have to put the word 'last' in yourself, Avisynth should do it for you behind the scenes.
exactly
__________________
injected with feelings; with no final fading
45tripp is offline   Reply With Quote
Old 14th September 2008, 00:12   #28  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
without last:

avisource("test.avi")
vf=mvanalyse(isb=false,idx=1)
vb=mvanalyse(isb=true,idx=1)
mvflowfps(mvbw=vb,mvfw=vf, num=50,idx=1)

but last exist in avisynth documentation, so it may be used
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 14th September 2008, 00:14   #29  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
would there even be a difference in the way how it interpolated with and without the word 'last' ?

hardware as well people?
Undead Sega is offline   Reply With Quote
Old 14th September 2008, 00:15   #30  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,405
Quote:
Originally Posted by Fizick View Post
If you are the sort of guy that worries about things like this, and you know solution, please suggest
A possible solution would be to add a second function definition starting with with exactly two mandatory clip arguments. Then for MVTools to treat this as a wrapper to the real function, itself supplying GetVar("last") as the source clip. So internally it treats mvflowFPS(vb, vf) as mvflowFPS(last, vb, vf).

It's not very satisfactory as plugins should not have to know about 'last' (a language feature), but it does at least solve the problem.
I'll leave you to decide whether you think it's worth it.
Gavino is offline   Reply With Quote
Old 14th September 2008, 00:20   #31  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
i considered some trick with IsDefined(args[1]), but it not very simple (and nice)
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 14th September 2008, 00:33   #32  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,405
I can't see any clean solution so any cure is likely to be worse than the disease (as we say in Spain).

As you have shown, the workaround is to always name the arguments in the calling script. Perhaps you could mention this in the documentation.
Gavino is offline   Reply With Quote
Old 14th September 2008, 23:28   #33  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
If flawless Frame Interpolation is impossible, then how is VidFIRE possible then?: http://en.wikipedia.org/wiki/Vidfire

also, i think wat i am looking for is Motion Compensated Frame Interpolation as the correct term.
Undead Sega is offline   Reply With Quote
Old 15th September 2008, 04:41   #34  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
I am sure it is not flowless
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 15th September 2008, 17:43   #35  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
well, Motion Estimation seems to be a way forward due to the Motion Vectors used to anayse previous and future frames, to which it help determines what was inbetween.

i was wondering if it is possible to take a Motion Estimation filter (like MSU's) and help intergrate that into a script where it uses it to help anaylse and interpolate frames, is that possible?
Undead Sega is offline   Reply With Quote
Old 15th September 2008, 18:33   #36  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
1. not determine, but suggest, estimate (what was inbetween).
2. it is what MVanalyse and MVFlowPps function tryes to do (but there are billion ways to do it differently). A am sure you read MVTools documentation (or not?)
3. did you say about msu_frc ? http://compression.ru/video/frame_ra...ex_en_msu.html
4. do you have any VidFIRE - processed DVD fragment to compare results?
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 15th September 2008, 18:41   #37  |  Link
Undead Sega
Registered User
 
Join Date: Oct 2007
Posts: 713
Quote:
2. it is what MVanalyse and MVFlowPps function tryes to do (but there are billion ways to do it differently). A am sure you read MVTools documentation (or not?)
i have indeed, but not all, i take it the more complex the way to do things the better the result maybe? if so, what part of MVTool does this? and is there a better ME method?

Quote:
3. did you say about msu_frc
i have tried that ages ago, but it really did not give results that are satisfactionary, even the script made here did a better job.

Quote:
4. do you have any VidFIRE - processed DVD fragment to compare results?
not yet! funny enough i was thinking of getting a Doctor Who episode or any video that was processed with this method inorder to see the results.
Undead Sega is offline   Reply With Quote
Old 15th September 2008, 20:02   #38  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
better ME? better for what and for who ?
there are a lot
http://www.freepatentsonline.com/res...0estimation%22
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 16th September 2008, 01:30   #39  |  Link
thetoof
Sleepy overworked fellow
 
Join Date: Feb 2008
Location: Maple syrup's homeland
Posts: 933
Btw, to help reduce the artifact you're talking about, you can try making more accurate motion vectors calculation by tweaking mvanalyse
Code:
a=assumefps(24)
vf=a.mvanalyse(isb=false, overlap=4, search=3, pel=4)
vb=a.mvanalyse(isb=true, overlap=4, search=3, pel=4)
a.mvflowfps(last,vb,vf, num=48) # double framerate
selectevery(48,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,47)
These are a bit crazy and further improvement is possible... read the docs to see if you can find something.
__________________
AnimeIVTC() - v2.00
-http://boinc.berkeley.edu/-
Let all geeks use their incredibly powerful comps for the greater good (no, no, it won't slow your filtering/encoding :p)
thetoof is offline   Reply With Quote
Old 16th September 2008, 09:08   #40  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,405
Quote:
Originally Posted by thetoof View Post
Code:
a.mvflowfps(last,vb,vf, num=48) # double framerate
This should be
Code:
mvflowfps(a,vb,vf, num=48) # double framerate
(see posts earlier in this thread)
Gavino 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 18:56.


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