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 > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th September 2012, 13:26   #101  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Chikuzen View Post
However, DGMPEGDec can't be used because it requires avs internal crop function.
I can make a version without internal cropping if you like.
Guest is offline   Reply With Quote
Old 10th September 2012, 13:32   #102  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by neuron2 View Post
I can make a version without internal cropping if you like.
Please do. That would be very nice. Thanks neuron2!
Reel.Deel is offline   Reply With Quote
Old 10th September 2012, 13:40   #103  |  Link
wOxxOm
Oz of the zOo
 
Join Date: May 2005
Posts: 208
Regarding updating of avisynth plugins: as far as I can see, it's possible to make them native vapoursynth plugins by providing _VapourSynthPluginInit in addition to _AvisynthPluginInit2, so what are the benefits in general?
wOxxOm is offline   Reply With Quote
Old 10th September 2012, 13:43   #104  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,576
Quote:
Originally Posted by Reel.Deel View Post
Also, I'm happy to see DGIndexNV work on Vapoursynth.
I don't understand why you need DGIndexNV if you have FFMS2 (which is free and awesome). if you have not very ancient CPU, nvidia decoding is not faster at all and not safe with more than one instance (or if you use some memory eating gpu filters). What are other possible benefits?

Quote:
Originally Posted by Chikuzen View Post
However, DGMPEGDec can't be used because it requires avs internal crop function.
I used TS2AVI/MPEG2Dec3k after a long time...
When and what for if uses crop? You mean DgdecNV when decoding 1080p blu-ray? It should be possible to disable crop so it will output 1920x1088.
On the other hand DGMPEGDec Is what I'd like to see too. Not that it is irreplaceable, I'm just so used to it...

Last edited by Keiyakusha; 10th September 2012 at 13:52.
Keiyakusha is offline   Reply With Quote
Old 10th September 2012, 13:51   #105  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,100
Quote:
Originally Posted by wOxxOm View Post
Regarding updating of avisynth plugins: as far as I can see, it's possible to make them native vapoursynth plugins by providing _VapourSynthPluginInit in addition to _AvisynthPluginInit2, so what are the benefits in general?
Native VS plugins can:
- interact directly with the VS thread pool (= potentially better multithreading performance, may require some work on the plugin though)
- support high bitdepth colorspaces (and some other exotics such as planar RGB) natively
- store arbitrary per-frame metadata (such as VFR timestamps) without having to resort to hiding it in obscure ways (the decomb/tfm hinting information is one example of plugins doing that)

Last edited by TheFluff; 10th September 2012 at 13:53.
TheFluff is offline   Reply With Quote
Old 10th September 2012, 13:54   #106  |  Link
mandarinka
Registered User
 
mandarinka's Avatar
 
Join Date: Jan 2007
Posts: 729
Isn't FFMS2 (because of limitations in libavcodec) unable to properly decode interlaced h.264 streams? (At least when muxed in TS.) IIRC it also had problems with VC-1 streams.
mandarinka is offline   Reply With Quote
Old 10th September 2012, 13:56   #107  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by wOxxOm View Post
Regarding updating of avisynth plugins: as far as I can see, it's possible to make them native vapoursynth plugins by providing _VapourSynthPluginInit in addition to _AvisynthPluginInit2, so what are the benefits in general?
Unless you're willing to do a bit of extra coding, or at least code auditing, none. Here are some of my observations from looking at filter code about what different things you could expect:
1. Several filters use planar YUV422 internally and have to pack and unpack. These could quite easily be changed to directly accept planar YUV for a small speedup for YUY2.
2. Many of the same filters in category one are quite general and probably could be extended to full resolution planar YUV support at least with a bit more effort.
3. Native filters can select their best threading model. For example a filter like ColorMatrix probably never updates its conversion tables after initialization so they're safe to share. This means that the filter can be run on several frames in parallel.
4. If you lay off the inline assembler (you can still use yasm+that magic x264 asm.inc file) your plugins will work and compile on every civilized desktop OS from a single codebase.
5. No more hacks.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 10th September 2012, 13:59   #108  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by Keiyakusha View Post
I don't understand why you need DGIndexNV if you have FFMS2. if you have not very ancient CPU, nvidia decoding is not faster at all and not safe with more than one instance. What are other possible benefits?
I was just trying it out to see if it worked. Also IIRC FFMS2 was not frame accurate with VC-1 and and did not like interlaced H.264 (don't know if that's still the case).
Futhermore, I have a handfull of blu-rays that the movie is cut up into a 100+ segments and it's very easy just to drag the mpls onto DGIndexNV and index the entire movie. BTW I do have an ancient CPU (not for long) .
Reel.Deel is offline   Reply With Quote
Old 10th September 2012, 14:11   #109  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,576
Quote:
Originally Posted by Reel.Deel View Post
it's very easy just to drag the mpls onto DGIndexNV and index the entire movie.
Hmm, didn't know that. I had impression that it only can work with single segment at one time or something like that. Maybe will try it someday.(I, as many others I guess, just remux the movie first, to make it one) Interlaced streams maybe true. I never saw any interlaced bluray though (or tv broadcasts that is not mpeg2)

Last edited by Keiyakusha; 10th September 2012 at 14:33.
Keiyakusha is offline   Reply With Quote
Old 10th September 2012, 14:31   #110  |  Link
hajj_3
Registered User
 
Join Date: Mar 2004
Posts: 1,120
uk tv show blurays are 1080i for uk created tv shows.
hajj_3 is offline   Reply With Quote
Old 10th September 2012, 14:40   #111  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Also remember that DGDecNV can use the GPU for deinterlacing/resizing and that can bring a substantial speedup. Sure it's not QTGMC but the quality is pretty good and so offers a useful performance point. DGDecNV can load multiple files (including automatically from an MPLS playlist file); it's the old DGAVCDec that could open only one file.

Regarding DGMPGDec, it contains an internal Invoke call, which I assume is the source of the problem with Vapoursynth. I'd like to understand the problem better though. Is it only an issue for 1088 streams that get cropped automatically to 1080? Obviously we can't enable cropping in the GUI as that will trigger an Invoke("crop") in DGDecode, but if we have a non-1088 stream with no cropping enabled in the GUI does everything work?

Last edited by Guest; 10th September 2012 at 14:53.
Guest is offline   Reply With Quote
Old 10th September 2012, 15:38   #112  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
I tried DGMPGDec with a true 1080 stream (cropping disabled) and it gave me the following error:
Code:
Invoke not fully implemented, tried to call: crop but I will pretend it doesn'texist
Avisynth Error: escaped IScriptEnvironment::NotFound exceptions are non-recoverable, crashing...
BTW the file I used was 1080 not 1088.

*edit*

Just to be sure I tried DGMPGDec (same settings as before) with both a NTSC DVD stream and a 720p60 stream and they both worked.

Last edited by Reel.Deel; 10th September 2012 at 16:12.
Reel.Deel is offline   Reply With Quote
Old 10th September 2012, 16:04   #113  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Yes, I know about the automatic 1088->1080 issue!

I'm asking if it fails when we don't have that case. Try an SD stream for example, with no cropping enabled in the GUI.
Guest is offline   Reply With Quote
Old 10th September 2012, 16:21   #114  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Just yesterday I make some test with r3.

With r5 (I never can download r4):

Quote:
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import vapoursynth as vs
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: No se puede encontrar el módulo especificado.
XP SP3 without changes from yesterday.
Reload r3 and work fine.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 10th September 2012, 16:30   #115  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Had the same problem yesterday. Try re-downloading r5 again and re-replace the binaries. It worked for me.
Reel.Deel is offline   Reply With Quote
Old 10th September 2012, 16:32   #116  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by tebasuna51 View Post
Just yesterday I make some test with r3.

With r5 (I never can download r4):



XP SP3 without changes from yesterday.
Reload r3 and work fine.
Did you download it within one hour of release? I forgot to select static linking and silently updated it.
If not I have no idea why you're getting that error since no dependencies have changed.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 10th September 2012, 16:41   #117  |  Link
Guest
Guest
 
Join Date: Jan 2002
Posts: 21,901
Quote:
Originally Posted by Reel.Deel View Post
BTW the file I used was 1080 not 1088.
No, it's coded as 1088. DGIndex hides that from you. It it were not coded as 1088, then the Invoke() call would not be made. If you are still adamant that it is 1080, then please post a sample.

Quote:
Just to be sure I tried DGMPGDec (same settings as before) with both a NTSC DVD stream and a 720p60 stream and they both worked.
OK, sweet, thank you.
Guest is offline   Reply With Quote
Old 10th September 2012, 16:43   #118  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Quote:
Originally Posted by Myrsloik View Post
Did you download it within one hour of release? I forgot to select static linking and silently updated it.
Thanks, now work r5.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline   Reply With Quote
Old 10th September 2012, 17:45   #119  |  Link
06_taro
soy sauce buyer
 
Join Date: Mar 2010
Location: United Kingdom
Posts: 164
Did some tests, and *.avs.MPEG2Source(d2v=r"d2vpath") works for SD sources.

BTW, I encountered "QWaitCondition: Destroyed while threads are still waiting" when finishing a session if I use Core() instead of Core(threads=1). Only occurs in r5.

Last edited by 06_taro; 10th September 2012 at 17:47.
06_taro is offline   Reply With Quote
Old 10th September 2012, 19:29   #120  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by 06_taro View Post
Did some tests, and *.avs.MPEG2Source(d2v=r"d2vpath") works for SD sources.

BTW, I encountered "QWaitCondition: Destroyed while threads are still waiting" when finishing a session if I use Core() instead of Core(threads=1). Only occurs in r5.
That warning is harmless. It's just that I haven't made the destruction of the threadpool completely correct.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Reply

Tags
speed, vaporware, vapoursynth

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 01:58.


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