[racket] H264 Codec in Racket

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Jun 14 10:26:45 EDT 2012

More than a week ago, Anurag Mendhekar wrote:
> I'm considering writing an H.264 encoder/decoder in Racket. Has
> anyone tried such a thing before?
> 
> Codecs require a lot of bit-whacking and the h264 standard is
> particularly convoluted. Efficiencies are obtained in C in many
> different and usually complex ways. Codec experts usually recommend
> starting at C/++ and go to assembly to extract further performance.
> 
> Does any one have thoughts on this? Would someone be interested in
> working with me on an open-source project for this? I expect an
> exercise like this will also push the Racket implementation to
> deliver higher performance, or will establish a proof point about
> how good the implementations is.

You've got a bunch of suggestions -- and many of them focus on
traditional aspects of these problems (like using TR to make the code
run faster, the problem of dealing with 32-bit numbers etc).  But one
thing that wasn't mentioned is that Racket has the advantage of
macros, which can often be used in such bit-whacking (nice term)
situations.  It can be used to easily pre-generate some code that
would otherwise be too complicated to write.  When you say

    Efficiencies are obtained in C in many different and usually
    complex ways.

then my guess is that that's a perfect case for doing these kind of
things.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.