[MEncoder-users] Performance on multi core machines - a specific enquiry re avisynth mt input

Michael Rozdoba mroz at ukgateway.net
Tue Oct 2 01:56:14 CEST 2007


Reimar Döffinger wrote:
> Hello,
> On Sat, Sep 29, 2007 at 07:34:28PM +0100, Michael Rozdoba wrote:
>> Reimar Döffinger wrote:
> [...]
>>> uses the script via the AVS
>>> "Import" command or the "ConvertToYV12" it appends if necessary.
>> There's no ConvertToYV12 & such conversions aren't the problem (they 
>> don't cause this issue in VDub.
> 
> They are involved. MPlayer uses avs scripts by (more or less) generation
> in memory another avs file with e.g. this content
> Import <your-original-avs-file>
> ConvertToYV12
> 
> Since the MT documentation says it must be the first statement in the
> file I'd guess it does not work like this.
> You can easily test by creating such an avs file and see if VirtualDub
> is also slow with it.

See http://forum.doom9.org/showthread.php?p=1050284#post1050284

We now have an explanation. Due to the way MEncoder invokes the script, 
MT isn't adding the Distributor to the end of the script. If one appends 
a manual call to Distributor() as the last line, MT functions as 
intended & the decoding of MEncoder's avisynth input is then 
multithreaded :)

Hopefully we'll see a proper fix for this - preferably within 
AVISynth/MT but failing that MEncoder could always be patched to detect 
MT in use & append the Distributor call itself.

Thanks for pointing me at the MT devs - I just assumed if the problem 
was only seen in MEncoder that's where the shortcoming most likely was.

-- 
Michael Rozdoba



More information about the MEncoder-users mailing list