On this personal website I've collected some of my hobby programming projects, interests and efforts, articles, source code I worked in free-time.
My main interest is in system software design: building on the bare hardware from scratch for the best performance. Operating system development, hardware programming, drivers for components of the PC UART, PIC, PIT, 8042 PS/2 keyboard/mouse, PCI, USB, Ethernet and especially accelerated 2D-graphics for some PCI SVGA cards (S3 Trio & Virge, ATi Mach64, Cirrus 5446, SiS 5326). The purpose was to extend the OS with an accelerated true-color GUI with BitBlit, line- and raster font drawing by direct programming. Added some video applications programming the Brooktree Bt829 digitizer.
My other interest is image compression standards and developing stand-alone image decoders. A JPEG-1 decoder, Huffman-coding and experimenting with different fast integer IDCT variants. A PNG decoder with Deflate decompressor, a GIF-stream decoder with LZW decompressor, some TIFF decoding are all part of RAINBOW, a library developed for the C++ GUI part of my hobby OS. Source code is available in a repository on Bitbucket for interest.
I also got into different video compression standards and wrote partial video decoders for H.261, H.262/MPEG-2, MPEG-1, H.263++, MPEG-4, H.264/AVC and H.265/HEVC. Some of them are quite thoroughly Conformance tested, but the source code is not ready, there is some work to be done there.. As for the HEVC during decoding residuals I was cought up to find an efficient computing algorithm for the HEVC-transform. The result is a recursive integer transform that reduces the number of multiplications. Source code for this HEVC-transform is available in a repository on Bitbucket for interest.