[vlc-devel] Re: Execution path under Windows

Sigmund Augdal dnumgis at videolan.org
Thu Oct 13 18:23:16 CEST 2005


On Thu, 2005-10-13 at 08:52 -0700, Jim Van Vorst wrote:
> I have been playing with various ways to display a webcam mjpeg stream
> on a Windows client and VLC is hands down the performance winner, by
> an order of magnitude.  I'd like to know what the execution path is so
> I can see why it's so efficient.  Given a http serverpush stream of
> jpegs, how does this get decompressed and displayed?  Can someone give
> me a pointer or short diagram?
In an average situation the data flow should be something like this:

vlc's own http reader
       |
vlc's own mime-multipart jpeg demux
       |
decoder module
       |
vidoe output module

The decoder module will usually be the one based on ffmpeg. This is
fairly optimized using mmx/sse/whatever when available.

The video output module uses directX or Xvideo (depending on os) to
display the decoded pictures. This will use the graphics board to handle
scaling and the colorspace convertion (YUV to RGB).

I assume a naive webcam viewer will use it's how http client to handle
the http and mime-stuff and then use a standard gui toolkit to do the
jpeg decoding, scaling and display of the images. This is naturally not
optimized as it is mainly used to put images on buttons etc.

Sigmund
> 
> thanks,
> jim
> 

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list