[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    Re: Video Planning Meeting
From:       Stefan Westerfeld <stefan () space ! twc ! de>
Date:       2002-01-26 18:16:19
[Download RAW message or body]

   Hi!

On Sat, Jan 26, 2002 at 04:57:14PM +0100, Tim Jansen wrote:
> On Saturday 26 January 2002 12:01, Martin Vogt wrote:
> > Before we can speak about demuxers and
> > mpeg/divx/quicktime video player in arts
> 
> Correct me if I misunderstand Arts/mcop, but as far as I have seen it is not 
> possible to send encoded data (asynchronous streams) to a module without 
> copying the data into a DataPacket. This is probably something you want to 
> change for video en-/decoding and formats that allow zero-copying demuxing by 
> passing pointers.

Right. It might be enough to add some way to supply customly allocated data
to the DataPacket (so that it doesn't alloc/free on its own), which would also
help to do zero-copy demarshalling from wire in some cases.

> >    Result: For performance reasons we need to use shared mem,
> >    but its not possible to use it always.
> 
> Is there an application that needs to transfer images from/to arts in 
> realtime? Wouldn't it be easier to do everything inside the arts process, at 
> least for now? 

Yes, I agree that you might not want to transfer images over wire unless
absolutely necessary. And if you do: don't use TCP/Unix domain sockets, but
sharedmem, thats right.

> An application that needs more functionality than arts provides should write 
> a module. Even if you would use shared memory the processes need some other 
> form of IPC for access synchronization and you must hope that the kernel 
> really does all 60 context switches (arts->app->arts) per second that you 
> need for 30fps video. This seems to make problems for audio data (where the 
> cpu load is relatively low) and would make even more problems with video.

Of course it is debatable whether you want to pass video images between
seperate processes. However, if you're just wondering about 30 client/server
roundtrips per second, this should be really harmless: the benchmarks I did
with artsd calling an empty MCOP method over and over again indicated that
you could do about 9000 client/server roundtrips (on some 350Mhz PII), which
means that you'd spend 0.33% CPU usage for the roundtrips for a 30fps video
stream.

   Cu... Stefan
-- 
  -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany
     KDE Developer, project infos at http://space.twc.de/~stefan/kde *-         
_______________________________________________
kde-multimedia mailing list
kde-multimedia@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-multimedia
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic