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 Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th April 2007, 06:25   #21  |  Link
ChiDragon
Registered User
 
ChiDragon's Avatar
 
Join Date: Sep 2005
Location: Vancouver
Posts: 600
I see, I didn't know that avisynth_c.dll was no longer necessary. It's a TFF vid.
ChiDragon is offline   Reply With Quote
Old 10th April 2007, 07:16   #22  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Quote:
Originally Posted by ChiDragon View Post
It's a TFF vid.
Did you add AssumeTFF() before deinterlacing? If you did not, AviSynth is probably treating your video as BFF. Order = -1 works fine here for both TFF and BFF, if I set the parity of the script correctly.
tateu is offline   Reply With Quote
Old 10th April 2007, 12:51   #23  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
avisynth_c.dll will still be needed for any older C plugins linked against it.

C plugins linked directly against the core avisynth.dll (i.e Yadif, etc) do not need it.
IanB is offline   Reply With Quote
Old 10th April 2007, 23:36   #24  |  Link
ChiDragon
Registered User
 
ChiDragon's Avatar
 
Join Date: Sep 2005
Location: Vancouver
Posts: 600
It's already seen as TFF, tateu, since it's an MPEG2 with DGDecode. Info() confirmed this.
ChiDragon is offline   Reply With Quote
Old 11th April 2007, 00:25   #25  |  Link
tateu
Registered User
 
Join Date: Jan 2002
Location: Los Angeles, CA USA
Posts: 132
Quote:
Originally Posted by ChiDragon View Post
It's already seen as TFF, tateu, since it's an MPEG2 with DGDecode. Info() confirmed this.
Yes, you are absolutely correct. Sorry about that. I always use AssumeTFF or BFF in my scripts and I did not check what happens when I leave it out.

If Parity = "Top Field First" then yadif works incorrectly.
If Parity = "Assumed Top Field First" then yadif works correctly.
tateu is offline   Reply With Quote
Old 11th April 2007, 03:44   #26  |  Link
ChiDragon
Registered User
 
ChiDragon's Avatar
 
Join Date: Sep 2005
Location: Vancouver
Posts: 600
I see why... Yadif is using "IsTFF" instead of the GetParity function. Looking at the source for the Info filter it seems that Is_FF is only set by the Assume_FF function (that's how Info checks whether it is "_ Field First" or "Assumed _ Field First"). So everything that isn't explicitly set with Assume returns as BFF.

Last edited by ChiDragon; 11th April 2007 at 03:50. Reason: got it backwards
ChiDragon is offline   Reply With Quote
Old 11th April 2007, 04:52   #27  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Thanks. Open source is good thing
(Mplayer uses "TFF" and "parity" different way than avisynth. It is source of this mess.)
__________________
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 11th April 2007, 13:21   #28  |  Link
Terka
Registered User
 
Join Date: Jan 2005
Location: cz
Posts: 704
readed the doc again, but still cant find why cant load
LoadPlugin("C:\Program Files\AviSynth\plugins\yadif.dll")
Terka is offline   Reply With Quote
Old 11th April 2007, 13:25   #29  |  Link
Leak
ffdshow/AviSynth wrangler
 
Leak's Avatar
 
Join Date: Feb 2003
Location: Austria
Posts: 2,441
Quote:
Originally Posted by Terka View Post
readed the doc again, but still cant find why cant load
LoadPlugin("C:\Program Files\AviSynth\plugins\yadif.dll")
Which part of
Quote:
Implemented as Avisynth C-plugin (not regular Avisynth plugin).
Must be loaded with Load_Stdcall_plugin("yadif.dll") or LoadCplugin("yadif.dll"). Do not use autoloading.
straight from the documentation is so hard to understand?
__________________
now playing: [artist] - [track] ([album])
Leak is offline   Reply With Quote
Old 11th April 2007, 13:38   #30  |  Link
Terka
Registered User
 
Join Date: Jan 2005
Location: cz
Posts: 704
sorry
Terka is offline   Reply With Quote
Old 11th April 2007, 17:45   #31  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Released Yadif version 0.4:
Finally (!) fixed bug with wrong used parity for TFF without AssumeTFF.
Removed limitation on frames pitches equality.

about avisynth.css file: place it to upper level folder of plugins dir, for example to "C:\Avisynth 2.5\"

(Field parity is still strange thing in Avisynth. For example, why FlipVertical does not change it automatically?)
__________________
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 11th April 2007, 18:25   #32  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
Some speed test with PAL DVD source, null encoder codec:
avs2avi.exe yadif.avs -o n -c null

Tomsmocomp(-1,5,0) - 59.32 fps
LealKernelDeint(1) - 51.80 fps
Yadif() - 40.30 fps
TDeint() - 16.40 fps

(AthlonXP 2040MHz, SDR Dimm)
__________________
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 11th April 2007, 22:36   #33  |  Link
jeffy
Registered User
 
Join Date: Jan 2007
Posts: 943
Quote:
Originally Posted by Fizick View Post
Some speed test with PAL DVD source, null encoder codec:
avs2avi.exe yadif.avs -o n -c null

Tomsmocomp(-1,5,0) - 59.32 fps
LealKernelDeint(1) - 51.80 fps
Yadif() - 40.30 fps
TDeint() - 16.40 fps

(AthlonXP 2040MHz, SDR Dimm)
Could you please share your sample source file and script, if at all possible? If yes, what version of avs2avi did you use? Thank you in advance, I... I like it!
jeffy is offline   Reply With Quote
Old 12th April 2007, 04:34   #34  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
script:
Code:
load_stdcall_plugin("yadif.dll")
mpeg2source("g:\vts_06_1.d2v")
yadif()
avs2avi v1.39
source - (PAL DVD 720x576, 25)
It is not encoding example. It is speed test.
__________________
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 12th April 2007, 15:10   #35  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by Mug Funky View Post
btw, i seem to only be able to load it with Load_Stdcall_plugin, as opposed to loadcplugin. not a big deal, but for a while i was quite confused :|
No, you are not
LoadPlugin results in "Not a valid Avisynth 2.5 Plugin" error message. Load_Stdcall_Plugin works fine.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 12th April 2007, 16:31   #36  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,718
Notice the tiny c in Mug Funky's loadcplugin

And thanks, Fizick, I really have to donate for this and MVTools as soon as my paycheck arrives.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 12th April 2007, 18:50   #37  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
(May be I am wrong) Avisynth support 4 types of plugins:
1. Regular plugins. Use LoadPlugin(...)
2. VirtualDub plugins. Use LoadVirtualDubPlugin(...)
3. Vfapi plugins. Use LoadVFapiPlugin(...)
4. Avisynth_C plugins with two subtypes:
4.1 Original Kevin Atkinson C-interface plugin. (It use C language calling syntax internally). Use LoadCPlugin(...) (note C symbol in word!)
You must firsly load Avisynth_C interface by LoadPlugin("avisynth_c.dll").
4.2 Updated (new) C-interface plugin. (It use stdcall calling syntax internally). Use Load_Stdcall_plugin(...) or LoadCPlugin(...).
Such plugins are not need in avisynth_c.dll anymore (since v2.5.6? avisynth has core function LoadCPlugin).

So, If you need in some old Avisynth_C plugin, for example SmartDecimate, you must firstly load Avisynth_C.dll.
This Avisynth_C.dll has function LoadCPlugin which will override core Avisynth function with the same name LoadCPlugin.
In this case, LoadCPlugin command will load old-style C-plugin only.
Load_Stdcall_plugin will NOT overrided, and may be used in any case with new C-plugins (like Yadif).

(In my opinion, it is not very good. LoadCPlugin word could be removed fom core or reserved for old-style C-plugins only.
But we have what we have now).

Advice for users: use Load_stdcall_plugin(...) for new C-plugins, and LoadCPlugin(...) for old C-plugins.
Advice for developers of C-plugins: use stdcall type, new avisynth_c.h header and avisynth.lib library provided with avisynth 2.5.7. It works. Tested and approved
__________________
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 12th April 2007, 19:23   #38  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Fizick, did you ever think of porting this to Avidemux, too?
Avidemux has a new Plugin interface now for 'External' filters, but I didn't see any of them yet.
Yadif would be a nice one to have
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 13th April 2007, 00:01   #39  |  Link
g3power
Registered User
 
Join Date: Jul 2006
Posts: 2
Fizick, Michael recommends using mcdeint in conjuction with yadif. Do you plan to add mcdeint to your port?
g3power is offline   Reply With Quote
Old 13th April 2007, 00:08   #40  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by g3power View Post
Fizick, Michael recommends using mcdeint in conjuction with yadif. Do you plan to add mcdeint to your port?
Did you ever try mcDeint in MPlayer/Mencoder/Avidemux ???
It's slooooooooooooooooooooooooooooow and I can't get satisfactory quality out of it...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR 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 22:49.


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