It's always good to keep old code around. You never know when it'll be useful.
A while back (~2006-07) some developers wrote an H.264 encoder and submitted it to the ffmpeg project (code can be found at http://research.edm.uhasselt.be/h264/) as a native encoder under LGPL. However, the code never made it in for many reasons: it was very slow, very limited, and most importantly it reminded people of the Vorbis catastrophe a few years back, when ffmpeg added a very basic (and crappy) but functional Vorbis encoder and people began complaining because it was simply so bad that it was useless (and thus there was no point in having it at all). Nobody volunteered to bring the H.264 encoder code up to spec and make it useful, so it was never accepted.
A few days ago, I went back and read through the code and noticed a rather interesting idea involving their method of variable-length coding. So I took it, made it better, and adapted it to fit my project (x264). I'll probably commit it this week or next.
Good thing the old, "useless" code's still around, isn't it?
(That's actually one of the primary ways I get ideas for optimizations and improvements: look at other peoples' code and see if they have any good ideas.)
A while back (~2006-07) some developers wrote an H.264 encoder and submitted it to the ffmpeg project (code can be found at http://research.edm.uhasselt.be/h264/) as a native encoder under LGPL. However, the code never made it in for many reasons: it was very slow, very limited, and most importantly it reminded people of the Vorbis catastrophe a few years back, when ffmpeg added a very basic (and crappy) but functional Vorbis encoder and people began complaining because it was simply so bad that it was useless (and thus there was no point in having it at all). Nobody volunteered to bring the H.264 encoder code up to spec and make it useful, so it was never accepted.
A few days ago, I went back and read through the code and noticed a rather interesting idea involving their method of variable-length coding. So I took it, made it better, and adapted it to fit my project (x264). I'll probably commit it this week or next.
Good thing the old, "useless" code's still around, isn't it?
(That's actually one of the primary ways I get ideas for optimizations and improvements: look at other peoples' code and see if they have any good ideas.)