Tiny C code bests seven-line DVD decoder

29

Author: JT Smith


By Tony Smith

The Register
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.”


All Content copyright 2001 The Register

NewsForge editors read and respond to comments posted on our discussion page.