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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#21 | Link | |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
Quote:
And then in the filter's getframe function you call getOutputIndex () to know which of the two clips you should output a frame for. Slightly more complicated to implement but it makes more sense. Or so I think.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
|
#22 | Link |
|
typo lover
Join Date: May 2009
Posts: 601
|
updated to vsavsreader-0.1.0
* add new option 'alpha' * change alpha channel support method.
__________________
my repositories |
|
|
|
|
|
#23 | Link |
|
Rome Total War
Join Date: Mar 2013
Location: C:\Python33
Posts: 39
|
then I use Eval() function:
Code:
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\filters\vsavsreader.dll')
avs = """
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LSMASHSource.dll")
LWLibavVideoSource("D:\amv\10bit.mp4", format="YUV420P8")
#ConvertToRGB24(matrix = "Rec709")
"""
video = core.avsr.Eval(lines = avs)
video.set_output()
Code:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "C:\Users\Edgaras\Desktop\py\1_vsavsreader # 'Eval' Libav FAIL.py", line 9, in <module>
video = core.avsr.Eval(lines = avs)
File "vapoursynth.pyx", line 983, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:15542)
vapoursynth.Error: 'Eval:
failed to invoke \nLoadPlugin("C:\\Program Files\\AviSynth 2.5\\plugins\\LSMASHSource.dll")
\nLWLibavVideoSource("D:\x07mv\x08bit.mp4", format="YUV420P8")\n#ConvertToRGB24(matrix = "Rec709")\n'
>>>
-vapoursynth r20 RC3 -avisynth 2.6 alpha 5 -vsavsreader 0.1.0
__________________
GOTO:EOF Last edited by RTW47; 15th October 2013 at 15:46. Reason: help ^^" |
|
|
|
|
|
#24 | Link |
|
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,676
|
Dumb question:
If there was a 64-bit version of this plugin could it be used to load 32-bit AviSynth scripts in a 64-bit VapourSynth? I know piping allows using applications interchangeably but that may be something completely different. |
|
|
|
|
|
#25 | Link |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
No. Avisynth is loaded into the same process so it has to be 64bit too. You need a more elaborate wrapper that runs avisynth in a 32bit environment for it to work.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
#27 | Link |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
What remaining avisynth things do you need?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
#28 | Link |
|
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,676
|
I don't have a very strong case here but DGDecNV and DGMPGDec are really hard to leave behind considering how good they've been to me. I know there's d2vsource but as we all know is still a work in progress. On the other hand DGDecNV also comes in 64-bit so I'm wondering if a 64-bit vsavareader would work with 64-bit AviSynth+?
In the meantime I'm using AVFS to create a fake avi and then loading it with VS. |
|
|
|
|
|
#29 | Link | |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
|
#31 | Link | |
|
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
|
|
|
|
|
|
|
#32 | Link |
|
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,676
|
Visual Studio Community 2013 seems very nice for someone who does this on a regular basis. I've successfully compiled at most 10 avs plugins in the last 2 years. Also I read somewhere that Community version is a very large download/install compared to the express edition.
|
|
|
|
|
|
#35 | Link |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
I'm just going to add that using vs avisource to open an avisynth script and (if necessary) fmtconv's 16 bit avisynth compatibility functions should work just as well.
I completely forgot that this plugin kinda is obsolete now because avisource exists.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
#37 | Link | |
|
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,647
|
Quote:
Try using an mt version of avisynth and see if it helps. Otherwise you're going to have to run it all in a debugger to see why it dies.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
|
|
|
|
|
#38 | Link |
|
Registered User
Join Date: May 2005
Posts: 1,572
|
Code:
Vapoursynth script
# Core
>>> import vapoursynth as vs
>>> core = vs.Core(accept_lowercase=True)
# Import plugins
>>> core.std.LoadPlugin('C:/vsavsreader.dll')
# Use "Import" to load interleaved MSB/LSB Avisynth script.
>>> clip = core.avsr.Import('C:/script.avs', bitdepth=16)
External Avsiynth script being imported.
#script.avs
LoadPlugin("C:/plugins/DGDecode.dll")
LoadPlugin("C:/plugins/Dither.dll")
Import("C:/scripts/Dither.avsi")
MPEG2Source("D:/source.d2v")
Dither_convert_8_to_16()
Dither_resize16(1280, 720)
Dither_convey_yuv4xxp16_on_yvxx()
I guess I'm missing the way this is supposed to work: clip = core.avsr.Import('C:/script.avs', bitdepth=16 This loads clip into VapourSynth, I get that much. But, typically, Dither() et al. are an end-filter deal for me, like:Code:
clip = whatever (clip)
clip = something else (clip)
....
clip = core.avsr.Import('C:/script.avs', bitdepth=16)
Thanks.
__________________
Gorgeous, delicious, deculture! |
|
|
|
|
|
#39 | Link |
|
Registered User
Join Date: May 2005
Posts: 1,572
|
^^ Perhaps I should clarify this a bit:
Code:
#script.avs
LoadPlugin("C:/plugins/DGDecode.dll")
LoadPlugin("C:/plugins/Dither.dll")
Import("C:/scripts/Dither.avsi")
MPEG2Source("D:/source.d2v")
Dither_convert_8_to_16()
Dither_resize16(1280, 720)
Dither_convey_yuv4xxp16_on_yvxx()
The source in this imported AS script is just MPEG2Source, independently of what happened to 'clip' in your VS script thus far. I don't see how that is useful at all (except, maybe, when it's your first line in your VS script). I'd just rather we'd be able to import/use Dither.avsi (and dll) itself, so you can use the Dither functions directly in VapourSynth. (Kinda makes me wonder whether Dither() even exists for 64-bit)
__________________
Gorgeous, delicious, deculture! |
|
|
|
|
|
#40 | Link | |
|
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,676
|
Quote:
.
|
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|