Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Compiled Duck

September 3rd, 2007 by Multimedia Mike

I actually got the original Duck TM1 decoder compiled and hooked up to a small test bench app. It even runs without crashing. However, it produces unequivocally incorrect output:


Bad Duck TrueMotion 1 Decode

I was expecting something more in a solid white for this particular frame. This doesn’t exhibit the normal Duck TM1 bidirectional artifacts that I’m used to seeing. I also wired up a number of different blitting calls with both 16- and 24-bit data, to no avail.

I’ll give the API calls another look to see if I’m missing anything obvious in that department (this approach is unlikely to bear fruit, considering the dearth of documentation). Failing that, I might find myself in the ironic position of using libavcodec’s native Duck TM1 decoder to verify the operation of the original decoder to see what is going wrong with files that are known to work correctly in lavc, so that the original decoder will work completely and yield clues about the large body of problem TM1 files.

Addendum: I decided to enlist Valgrind’s assistance against the adversary. This is the first time I have touched the utility in awhile. Let’s see what it has to say…

  valgrind: the 'impossible' happened:
     Killed by fatal signal

I’m not sure what to think about that. Should I feel proud? Fortunately, leading up to the impossible condition are plenty of other memory errors, all ripe for investigation.

Posted in On2/Duck, Reverse Engineering | 3 Comments »

GSoC 2007 Wrap Up

September 2nd, 2007 by Multimedia Mike

Thanks to Michael for his Google Summer of Code 2007 wrap up. Technically, I was the FFmpeg mentor administrator. But Michael kept a keen eye on all 8 of our projects. Thanks to all the students who came through with the code this year. FFmpeg is building a good track record which should help our prospects in future GSoC efforts.

Special notices go out to my student, Kostya, who had to pick up my slack in figuring out the RV40 algorithm while at the same time re-implementing it; and to Marco Gerards, for writing both a Dirac decoder and the beginnings of a Dirac encoder, despite what certain GStreamer naysayers had to say about the initiative:

Considering how long we have spent on getting Schrodinger up to scratch I am amazed that anyone even manage to believe they can create both a decoder and an encoder for Dirac in 3 Months.

Go Marco!

Posted in Open Source Multimedia | Comments Off on GSoC 2007 Wrap Up

Next Entries »