Trixter notified me that people just won’t leave his 8088 Corruption exercise alone. One coder has even made a player for the Game Boy Advance. I finally made a MultimediaWiki page for the data format in case anyone wants to carry this further.
Category Archives: Open Source Multimedia
CD Detection Experiment
Some years ago, I wrote a program named the CD Detection Experiment to toy around with compact discs. I reference this tool often in my Multimedia Exploration Journal. The end goal was a tool that could analyze a variety of different CD types, including mode 2 discs, Philips CD-I discs, and 3DO discs. All it does is open a raw CD device under Unix, check the first few sectors, and decide what kind of CD is in the drive. I’m trying to remember if this tool preceded my CD-related work for xine or if I used code from my xine work in this program. There is code for Solaris and FreeBSD reading, so I am guessing that I based this on the xine work.
Anyway, if you care, here is the code. Here is some sample output, from that Deathtrap Dungeon game discussed in this journal entry, the one with a weird mixed mode:
$ ./cdexp /dev/cdrom CD Detection Experiment toc: first track = 1 last track = 18 toc entries: leadout track: MSF: 76:16:18, first frame = 343218 track 1, data, MSF: 00:02:00, first frame = 150 mode 1 data iso9660 fs signature found system id = volume id = Deathtrap track 2, audio, MSF: 28:09:14, first frame = 126689 track 3, audio, MSF: 30:37:58, first frame = 137833 track 4, audio, MSF: 32:37:28, first frame = 146803 track 5, audio, MSF: 35:32:30, first frame = 159930 track 6, audio, MSF: 39:57:58, first frame = 179833 track 7, audio, MSF: 43:07:24, first frame = 194049 track 8, audio, MSF: 45:45:35, first frame = 205910 track 9, audio, MSF: 49:33:19, first frame = 222994 track 10, audio, MSF: 52:38:22, first frame = 236872 track 11, audio, MSF: 55:17:04, first frame = 248779 track 12, audio, MSF: 58:13:66, first frame = 262041 track 13, audio, MSF: 60:28:28, first frame = 272128 track 14, audio, MSF: 62:43:43, first frame = 282268 track 15, audio, MSF: 64:59:33, first frame = 292458 track 16, audio, MSF: 67:14:00, first frame = 302550 track 17, audio, MSF: 75:36:00, first frame = 340200 track 18, data, MSF: 76:00:00, first frame = 342000 mode 1 data iso9660 fs signature found system id = volume id = Deathtrap
You Can Stop Using The Reference Decoder Now
Thanks to Kostya’s diligent, Google-sponsored work, FFmpeg now has a native, open source VC-1 decoder module that is working quite well for most WMV3 media found on the internet. It’s working well enough that there should not be much good reason to be using my old convoluted process for incorporating the SMPTE reference VC-1 decoder into FFmpeg. There are some bugs remaining in Kostya’s code that he is quickly ironing out but it’s time to cut over to it, at least for non-x86 platforms. Some more advanced features are known to be missing. This is primarily because no sample media can be found that exercises those features. If you have some, please pass it along.
Minimalist UI
I was once working on a media player side project on a relatively low-power piece of hardware. Things were going quite well and I had hardware-assisted fullscreen video playing. I then hit a major wall: User interface. I could not find a suitable UI library for small embedded systems. And the last thing I wanted to spend my time doing was creating a new library.
At the time, I learned of one UI toolkit that was specifically designed for applications like embedded media players. Unfortunately, the developers’ concept of “embedded” was wildly divergent from my own as evidenced by its Boost library requirement.
I recently came across at least 2 UIs that rekindled my interest in this area: PicoGUI and Nano-X. However, based on screenshots, both appear intent upon replicating a normal desktop GUI environment on an embedded system. I guess I’m looking more for something that primarily organizes a bunch of fullscreen transparent/transluscent menus arranged in a conceptual tree hierarchy that can contain buttons, text labels, scrollable lists, and slider controls. These are the UI elements most useful for a media playback UI.
Any other ideas?