
Multimedia MikeRemember Intel’s custom flavor of H.263cleverly named I.263? I think I have finally found an application that used it thanks to arecent thrift shop raid— Intel Video Phone:

The root directory of the disc has 2 copies of an intro.avi video. One copy uses Intel Indeo 3 video and PCM audio. The other uses I.263 video and an undetermined (presumably Intel-proprietary) audio codec — RIFF id 0x0402 at a bitrate of 88 kbits/sec for stereo, 22 kHz audio. The latter video looks awful but is significantly smaller (like 4 MB vs. 25 MB).
This is the disc marked as “Send it to a friend…”. Here’s the way this concept was supposed to operate:
If you need further explanation, the intro lady does a great job:
I suspect I.263 was the video codec driving this since Indeo 3 would probably be inappropriate for real time video applications due to its vector quantizing algorithm.
Posted inGeneral|
14 Comments »
Multimedia MikeGoogle recently released version 12 of their Chrome browser. This version adds a new feature that automatically allows deobfuscating obfuscated JavaScript source code.
Before:

After:

As a reverse engineering purist, I was a bit annoyed. Not at the feature, just the naming. This is clearly codebeautification but not necessarilydeobfuscation. The real obfuscation comes not from removing whitespace but from renaming variable and function names to terse 1- and 2-letter identifiers. True automated deobfuscation — which entails recovering the original variable and function identifiers as well as source code comments — is basically impossible.
Still, it makes me wonder if there is any interest in a JavaScript deobfuscator that operates similar tomy Java deobfuscator which was one of the first things I published on this blog. The general idea is automatically replace function names with random English verbs (since functions correspond to actions) and variable names with random animal names (I decided “English nouns” encompassed too broad a category of words). I suspect the day that someone releases a proprietary multimedia codec in a pure (though obfuscated) JavaScript format is that day that I will try to accomplish this, if it hasn’t been done already.
See also:
Posted inReverse Engineering|
4 Comments »
Multimedia MikeSo I’m watching a fairly recent music video for a song named“XXXO” from an artist named M.I.A. when I’m suddenly assaulted by this imagery:

… and I enter nervous convulsions. You see, while this might seem to be an odd video effect to the casual viewer, to a multimedia hacker, it appears to be deliberately antagonistic. To anyone who has written a video codec, this scene looks like an entire casserole of video bugs, combining creeping plane offsets errors, chroma problems, and interlacing havoc. The craziest part is to realize that this is probably some kind of standard video effect / filter type. Upon a repeat viewing, I realized that the entire video sort of looks like an amateur video editor’s first week using video software.
Elsewhere in the video, a YouTube-style video frame vortex highlights the proceedings. I guess I need to come to terms with the fact that the ubiquitous player frame is just part of the digitalZeitgeist now:

Vintage Video Strangeness
I’m a long-time music video junkie but I have a tendency of examining them entirely too closely. I first sawPaula Abdul’s video for “Cold-Hearted” when I was just starting to understand multimedia technology and how it interacted with emerging home computers. Imagine how confused I was when I tried to make sense of the actions performed by our eMaestro “Chuck” whom Paula has instructed to “hit it”. First, he hits a key followed by 3 quick strikes on a second key:

Then, the “start music” action is apparently bound to a particular key on the electronic keyboard:
Read the rest of this entry »
Posted inGeneral|
4 Comments »
Multimedia MikeI was browsing the source code for someSuper Nintendo Entertainment System (SNES) emulators recently. I learned some interesting things about compression hardware. I had previously uncoveredone compression algorithm used in an SNES title but that was implemented in software.
SNES game cartridges — being all hardware — were at liberty to expand the hardware capabilities of the base system by adding new processors. The most well-known of these processors was theSuper FX which allows for basic polygon graphical rendering, powering such games asStar Fox. It was by no means the only such add-on processor, though.Here is a Wikipedia page of all the enhancement chips used in assorted SNES games. A number of them mention compression and so I delved into the emulators to find the details:
No, I don’t plan to implement codecs for these schemes. But it’s always comforting to know that Icould.
Not directly a compression scheme, but still a curious item isthe MSU1 concept put forth by thebsnes emulator. This is a hypothetical coprocessor implemented by bsnes that gives an emulated cartridge access to a 4 GB address space. What to do with all this space? Allow for the playback of uncompressed PCM audio as well as uncompressed video at 240x144x256 colors @ 30 fps. According to the docs and the source code, the latter feature doesn’t appear to be implemented, though; only the raw PCM playback.
Posted inGame Hacking|
8 Comments »