<html style="direction: ltr;">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">body p { margin-bottom: 0.2cm; margin-top: 0pt; } </style>
</head>
<body style="direction: ltr;"
bidimailui-detected-decoding-type="UTF-8" text="#000000"
bgcolor="#FFFFFF">
Hi all,<br>
<br>
I have a setup which is embeddedish (Intel CPU and quite a bit of
power, but will need most of this power to do stuff with. An Intel
display adapter). The device has a local display (touch screen LCD)
that needs to display some UI (implemented by a web server on the
device) displayed by webkit. The background for the UI needs to be a
live stream from a local camera connected directly to the device.<br>
<br>
There is software written already to do some of this stuff on
another HW platform, where the display is hard-wired to show a
background from the camera and a foreground (RGBA). It is working
with embedded QT (formerly QTopia) and webkit. I need to port this
to the fore-mentioned Intel platform.<br>
<br>
So what I need is this. I need a browser to display UI with partial
transparency, through which you can see a lower layer that is
generated anywhere from 25 to 60 times a second from a camera.
Ideally, I should be able to keep the camera code in a separate
process from the webkit one. I am unfamiliar with all of the
technologies I'm about to mention, so I'd like your help in which
one to learn - which one will most likely let me do what I want the
easiest.<br>
<br>
The options I could think of:<br>
- Keep things in the frame buffer. I know QT has some classes to do
just that. They even support color spaces other than RGB (the camera
typically produces 4:2:2 YUV). I'm not sure how much free of
conversion that is (if it does require conversion, I'd rather do it
myself). I'm also not sure how much support I'd have for partial
transparency and for running the Video preview in a separate process
than the browser.<br>
<br>
- Use X11 and DRI/DRM. I know for sure that different processes are
supported. From what I've started to read about DRM, however, it
seems that taking over the entire screen is the only option truly
supported. I'm not sure how it works.<br>
<br>
- Use X11 and OpenGL. This will definitely support all the
transparency I'd need, but I'm not sure whether that is the right
option.<br>
<br>
Does anyone know what does Xine/VLC/Dragon player use? How does the
UI cause things to be transparent when, e.g., I'm moving a window
around? Is OpenGL involved in this?<br>
<br>
Shachar<br>
<pre class="moz-signature" cols="72">--
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
<a class="moz-txt-link-freetext" href="http://www.lingnu.com">http://www.lingnu.com</a>
</pre>
</body>
</html>