[MPlayer-dev-eng] [PATCH] Avisynth native demuxer - updated version
mplayer at netfarm.it
Mon Jan 24 03:53:51 CET 2005
On Sun, Jan 23, 2005 at 03:29:28PM -0800, Loren Merritt wrote:
> On Sun, 23 Jan 2005, Gianluigi Tiesi wrote:
> >I've updated the demuxer, fixes on osd time, cleanup code,
> >preliminary work for audio...(disabled)
> >Doesn't seams to have much intrest this stuff... :(
> >If someone intrested to linux port (I'm working on win32.c) please
> >contact me.
> Yes, I am interested in Avisynth for Linux. My concern is: Avisynth
> plugins are arbitrary DLLs. Can you expect them to work in the limited
> win32 environment provided by MPlayer?
> --Loren Merritt
There are 2 problems to make it work:
1) stack corruption (??) when passing and receiveing function args
from/to avisynth exports, I really don't understand where is the
2) avisynth is a c++ and uses exception handler, that is not implemented
in win32 mplayer loader. wine exception handler seams to work fine,
but it's not easy to "backport"
Also win32.c misses some exports but this is trivial.
I'm just by-passing the exception handler by commenting out try/catch
blocks from avisynth.
avs_invoke picks bad params but (just for testing I've fixed it in the
dll) but I need the result from avs_invoke, the struct that returns is
empty but before returning is ok.
Exception handler can be moved to second stage implementation, since
exception can be easly bypassed.
I've a win32.c/avysynth.dll that makes colorbar() works, not at all,
avs_invoke for colorbars works, but it returns empty struct to mplayer.
I'll make a clean patch for win32.c soon, hoping it can be integrated in
mplayer. (btw demux_avs had no much intrested from mplayer developers
On windows it works fine, it avoids use of avs2yuv pipe when encoding
with mencoder, and as I known mencoder is only (or almost) usable
for h264 video.
Gianluigi Tiesi <sherpya at netfarm.it>
EDP Project Leader
Netfarm S.r.l. - http://www.netfarm.it/
Free Software: http://oss.netfarm.it/
More information about the MPlayer-dev-eng