[Libdlo] tubecable 0.1 - a low-level library for Displaylink devices with compression support
floe at butterbrot.org
Sat May 30 00:24:03 PDT 2009
I've been quite busy during the last few weeks, so this took a while,
but now I have finally finished my two goals: a) repackage my old code
into something remotely re-usable, and b) add support for all
Therefore, I'd like to announce tubecable 0.1, a low-level library for
Displaylink devices. This is not meant to replace libdlo, but rather to
complement it by allowing access to the lower levels of the device.
Moreover, it supports three out of four image transfer modes at the
- raw bitmap data
- RLE-encoded data
- Huffman-compressed data
What's still missing is the weird raw/RLE mixed mode, though I'm not
sure how useful this is in the long run - the Windows driver doesn't use
it either AFAICT. Note that I've talked to Displaylink in advance about
this and they didn't have any objections to me releasing this now.
The library is a bit large, as I couldn't really think of an efficient
way to store the Huffman code table. Originally, I just wanted to
#include it, therefore it's formatted as a C file, but my compiler
didn't finish after half an hour, so I'm just parsing it at runtime now.
If anyone has a suggestion on how to make this a bit smarter, go
ahead :-). I've also only tested 640x480 for the moment with my DL-120
and DL-160, so those of you who have a Mimo may have to fiddle a bit
again and rescale the raw image.
You will probably also notice some artifacts when using the Huffman
compression; this is due to the fact that about 1 in every 1000 Huffman
sequences is missing (68 out of 65537, to be exact). I'll try to get
them updated soon.
And if you've gotten curious now, download it here (sample image
included ;-): http://floe.butterbrot.org/external/tubecable-0.1.tar.bz2
I hope you'll be able to make use of this - please send feedback.
0666 - Filemode of the Beast
More information about the Libdlo