headermask image

header image

thebroken Episode 4

They’re back: Kevin and double_d hack the XBox360 (this is hardcore) and jam cell phones.

http://revision3.com/thebroken/ep4

Project Orion

A very interesting look into a chapter of nuclear propulsion that held such promise for space travel.

From Wikipedia: “Orion offered both high thrust and high specific impulse — the holy grail of spacecraft propulsion.”

Proving them wrong

One experiment I’ve started working on recently is getting behind the hood of motion-compensation based video codecs, specifically the decoder, and trying to distort the motion vectors before the macro-block is recontructed. The purpose is to see whether interesting/beautiful/ugly video sequences will result. I’ve often seen such if there’s an error in an existing video stream and the decoder leaves behind artifacts. I’d like to make this an interactive process.

In order to do so, I needed to get the source code. Easy: libavcodec (part of ffmpeg). Next (since I do most of my development on Windows) I needed to compile and debug it using Visual Studio (MSVC). Hard: since the authors wrote it conforming to C99, it won’t compile under MSVC since it doesn’t support the spec. It does however compile using MSys+MinGW – this is still no good as I need to interactive debug the damn thing under MSVC. Furthermore, I’d like to quote the guide: “FFMPEG DOES NOT BUILD UNDER MSVC++, AND WILL NOT, EVER, BUILD UNDER MSVC++.

So what do I do? I spent a day porting libavcodec to Windows (albeit not in its entirety: no networking code, and all encoders that rely on external source are disabled). I compiled a fresh version of ffdshow, plugged in my compiled version of libavcodec, and voila! It actually works!

Writing my first university tutorial

This semester I have been appointed one of two tutors (with John Stavrakakis) for the third-year Multimedia Computing and Processing course that my supervisor (Dr. Masa Takatsuka) is running. I was called upon this week to write the content for the second tutorial on the topic of computer graphics animation and collision detection. Check it out. I really hope the students will enjoy this one. It’s based upon a similar N-body simulation program I wrote back in highschool before embarking on my Cosmology major project.

NetVideoBroadcaster for DirectShow

Quite a while ago I wrote a suite of applications that allows you to stream video and/or audio data across a network.

The first was NetAudio, and was particularly useful to me for streaming radio audio across my network from my radio setup to my webserver, where it can be streamed out onto the internet (my WebRadio project).
Next came NetVideo (which uses Video for Windows). This allowed me to stream TV from upstairs down to my ‘lab’ and let me record content on-the-fly to my HDD.

Unfortunately NetVideo fell apart when I replaced the computer upstairs with one running WinXP (the old one ran Win98, hence the use of the VfW API). Since capturing video under WinXP with VfW doesn’t work with modern capture cards, the broadcaster component failed to work full stop.

Last Friday I wrote the new, shiny DirectShow-compatible version of NetVideoBroadcaster. It creates a capture filter graph and streams the captured video and audio into two sample grabbers, which pass media samples to the broadcaster to be send out across the network. The nice thing I’ve conformed to the same protocol I designed for the original VfW so I didn’t have to alter the code of the NetVideoReceiver – they’re all compatible with each other.

Bruce Schneider & Chuck Norris

I discovered (to my horror) that the maintainers of x264.nl (THE free encoder/decoder implementation of the H.264 Advanced Video Codec) removed the Chuck Norris theme. Thanks to the Wayback Machine, you can still experience it here:

Chuck Norris

http://web.archive.org/web/20060412205500/http://x264.nl/psp/

(Update: turns out the theme is still there. They’ve simply taken the link to it off the front page.)
Since you can’t mention one without the other, here are some interesting facts about Bruce Schneier:

http://www.schneier.com/blog/archives/2006/08/bruce_schneier.html

Bruce Schneier

http://geekz.co.uk/lovesraymond/archive/bruce-schneier-facts

On a more serious note, if you want to do any sort of video decoding/encoding on Windows using DirectShow, I highly recommend you download and install ffdshow (they also have a version hosted on x264.nl too). It will allow you to play any video or audio format!