Tiny C code bests seven-line DVD decoder
Smaller, way faster
Posted in Software, 13th March 2001 18:05 GMT
Coder Charles M Hannum has created the smallest program capable of decoding a Content Scrambling System (CSS) DVD file, beating last week's seven-line Perl shell script 442 bytes to 472 (excluding newline bytes).
Hannum's C program, called efdtt, is no slouch, either. The programmer claims it can "descramble in excess of 21.5MBps" - faster than the DVD spec. allows for. The speed comes "without even particularly trying to optimise the I/O. This makes it pretty insignificant compared to the rest of the decoding process" = in other words, it's quick enough not to impede the MPEG 2 decode operation which turns the data into a moving image.
Apparently, the latter may be a problem with qrpff, the Perl CSS descrambler written by Keith Winstein and Marc Horowitz, and posted on Carnegie Mellon University professor David Touretzky's DSS Descrambler Gallery Web site. Winstein and Horowitz' code was capable of supporting realtime decode and playback, but we're told the output was occasionally jerky.
Hannum's code should allow smooth playback.
Both scripts do what the controversial DVD-on-Linux utility DeCSS does - and demonstrate how simple CSS, the DVD standard's copyright protection mechanism, is to decode. The Motion Picture Association of America has been pretty successful in repressing the distribution of DeCSS, viewing it as a threat to movie industry copyright - and movie industry profits.
"So what's the MPAA gonna do now?" Touretzky asks. "This code is small enough to put on a cocktail napkin. Commit to memory. Knit into a scarf. Whatever. It cannot be suppressed." ®
Related Link
Dave Touretzky's Gallery of CSS Descramblers
Charles M Hannum's efdtt.c
Software Configuration Management
Perforce SCM
Software Life-Cycle Modeling
High-level Best Practices in Software Configuration Management
Netbooks and Mini-Laptops
Emails show journalist rigged Wikipedia's naked shorts
Yours truly, angry mob