own deeds:
After the last post regarding my OpenGL/gstreamer video-player I was contacted by a few people asking me for the source. I refused these requests sofar… almost. It was in a sorry state and still isn’t what I would be proud of, although it is better now. Nevertheless some people from Tandberg asked for it, in order to demonstrate the stylish power of mixing OpenGL with gstreamer for video-conferencing applications… and to add some extra bling-punch to a presentation they needed to give for their managers. So I gave in and send them the tarball. They hooked my code up with their webcam stuff (some of their equipment is able to capture 720p at 60Hz 30Hz!) and had a pretty successful presentation. The result of this you see in the left picture (this is using a more modest setting of 640×480@30Hz). I hope they will obey the LGPL I put my code under. Just received their tarball. I will see to sort and clean things as good as I can and upload the stuff this coming weekend at my cozy f.d.o spot.

(click to view fullsize) |

(click to view fullsize) |
The right picture shows the current state of affairs (playing back one of Microsoft’s WMV9/HD-example videos, which are publicly available *g*). gl-gst-player is now able to play back any video I can throw at it, e.g. ogg/Dirac (yes Dirac using the Schroedinger implementation! I tested that with a dirac-encoded version of “Elephants Dream”), ogg/Theora, mov/H.264, wmv/VC1 and all the other things gstreamer can digest. By now I was able to make some progress and have fragment-shader-based (only using the ARB-extensions, 4 multi-texture units, one texture for the yuv-frame and one for the mask-texture) YUV2RGB colorconversion (I420 to RGB to be more precise) running on my i915. This is on the application-side not at the driver-level. Now I can even watch HD-video on my Vaio which e.g. totem cannot play back smoothly or at all (mainly due to XV failing). Before starting to polish the code and put it in my public git-repository at f.d.o I want to finish the other filter-effects I need (gloom and a special blur). Sadly I don’t have FBOs or pbuffers available on my i915 and am restricted to glCopyTexSubImage2D()… and I wish I had GLSL available for the i915 *sigh* If all goes well and I find the needed time to do all that, this might still happen before GUADEC.
deeds at Fluendo:
Here is a nice example of the kind of the abstraction level Python-developers feel right at home at 
The blue thing (PowerBook) controlls the green thing (Nokia cell-phone) to issue commands within a python-session triggering bluetooth-commands, that are sent to the red thing (Vaio) acutally controlling the current upstream version of elisa. In this particular case, which is captured on the photo, is it selecting/playing/pausing a video. By now - two days later after the photo was taken - the bluetooth input-provider in elisa works good enough to just use the cell-phone (currently only tested on one special Nokia phone) as a bluetooth-remote for elisa running on a bluetooth-enabled computer.

(click to view fullsize) |
This is the deed of Arek and Florian, two employees at Fluendo, working late at night on the weekend… abusing Arek’s PowerBook, Florians cell-phone and my Vaio. Too bad my own cell-phone isn’t bluetooth-capable and lacks a built-in python interpreter. BTW, on Florian’s cell-phone you can even write OpenGL|ES programs via python. That’s seriously nifty!