Re: [GnomeMeeting-devel-list] Full Screen Mode
- From: thomas schorpp <t schorpp gmx de>
- To: GnomeMeeting development mailing list <gnomemeeting-devel-list gnome org>
- Subject: Re: [GnomeMeeting-devel-list] Full Screen Mode
- Date: Wed, 07 Jun 2006 09:35:18 +0200
Stefan Brüns wrote:
>>-----Original Message-----
>>From: gnomemeeting-devel-list-bounces gnome org
>>[mailto:gnomemeeting-devel-list-bounces gnome org] On Behalf
>>Of Dan Sandberg
>>Sent: Wednesday, 7 June 2006 6:46 AM
>>To: GnomeMeeting development mailing list
>>Subject: Re: [GnomeMeeting-devel-list] Full Screen Mode
>>
>>I could be wrong, but I believe that video overlay moves the
>>data direct
>>>from a capture card to the video card, bypassing the CPU.
>>Since we're
>>trying to display images that come from over the network,
>>there's no way
>>to bypass the CPU. And doing a nice looking resize from 176x144 to
>>640x480 is quite slow. Then you have to copy the whole
>>640x480 image to
>>the display card, which is slow. With OpenGL you just copy
>>the 176x144
>>image to the video card, and have it do the resize.
>
>
> Just to clarify some things:
>
> Video overlay over XV support scaling in hardware, and colorspace
> transforms.
are You sure? ive some display apps here which can switch between XV
and "real overlay". kvdr, tvtime, xawtv...
XV can use significant high cpu load in my experience here...
>
> Unfortunately, most graphic cards support only one overlay at a time.
not sure about this, too. all the chips i had since ati mach64 supported
at least 2 overlays at a time. kvdr supports even up to 4 overlays(?)
on modern cards respectively. http://www.s.netic.de/gfiala/
> In
> case you only have a single video, this is fine, but as soon as you have
> multiple (local/remote, maybe conference anytime in the future), you have to
> do the compositing before uploading the image to the card. In case of
> Picture in Picture, this means that you
>
> a) Scale the to be small video down, compose it into the large one, and
> upload the composed image. Drawback: Also the small image may end up as
> large as an unscaled CIF image, it will have a lower resolution, due to the
> downscaling.
>
> or
> b) Scale the to be large image up, and compose the small image into it. Also
> the small image will have its full resolution (it may be a CIF (352x288)
> image on a 1024x768 or larger screen), the upscaling of the large image adds
> a lot of burden to the CPU and memory transfers.
>
> On the other hand, if you use OpenGL textures, you have all the benefits:
> - You can upload every video to a different texture, every video ends up on
> the screen with all the available resolution, all the scaling is done on the
> GPU (which is very efficient for this).
> - Most cards support YUV colorspaces for textures, so color transform can be
> done on the card.
> - As the different videos stream end up on different textures, you may have
> the local video with full 25fps framerate, and the remote with something
> like 10fps.
> - Superimposing any text (Chat, callers name, new incoming call ...) comes
> down to putting the text into just another texture. This may be easily alpha
> blended, with full screen resolution (if you superimpose text on the video
> directly, you can only use the videos resolution, and edges may look really
> strange due to the UV subsampling).
> - You may due almost arbitrary transforms on the video, without burdening
> the CPU (have a look at the Conference feature of iChat AV to see what I
> mean).
>
> Greetings,
>
is there no standard "network video class" for the application layer somewhere?
> Stefan
tom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]