|
From: Charles 'B. K. <kr...@ac...> - 2000-11-26 23:02:27
|
"John A. Griffin" <jag...@ho...> writes: > Dear Mr. Krasic and Mr. Walthinsen, > I am a software developer whose current project is very much > in need of a full-size (720x480) full-speed (30 frames per > second) DV to RGB decoder. > I recently came across your Quasar DV Codec Home Page, and realized > that you were working on such a decoder. You say that you are not > yet at real-time performance, and I have been unable to find any > other source for a real-time decoder. Our rough target has been real-time performance on a 400Mhz PII. This is based on the fact that we know that Canopus' commercial codec, see http://www.canopuscorp.com, does a good job with around 300Mhz class machine. > At this point I am considering writing a decoder of my own. I have > considerable experience in writing optimized assembly language code > on IBM PCs, but I have little if any applicable experience with > video codecs. Answers to the questions below would be of great help > to me in determining the feasibility of the project and getting me > started in the right direction. If either of you could give me some > guidance on these questions it would be much appreciated, and I > would be happy to keep you posted on my progress. As you'll see below, your project may only require piecing together of off-the-shelf code. For your purposes, you may not need to do nearly as much work as you are thinking. However, I would be very glad if you could contribute to improving our code anyway! > Sincerely, > John Griffin > -------------------------------------------------------------- > What computer hardware is currently used to run your decoder? Linux/IA32 machines. We havn't tried other OS's, but they shouldn't be too hard at all. However, getting optimal performance on non IA32 architectures would require a considerable amount of work. > What are your current estimates on the feasibility of achieving > real-time performance on say an 800 MHz Pentium PC with MMX > instruction set assuming that the code is fully optimized and > possibly hand-written in assembly language? In other words, based > on your current experience, do you think there is any chance of my > work succeeding? Short answer: Yes. The libdv decoder should achieve real-time on an 800 MHz machine today. My test machine is only 400 Mhz. Just today, one of our contributors reported 45fps performance with the latest libdv code. Our codec includes a fair amount of hand-tuned assembly, and MMX. More is needed. Especially in the parser. Unlike other codecs, the relatively low compression ratio of DV places large performance pressure on the parsing code. Either that, or I'm doing the parsing in a really stupid way. :-( > You mentioned that developers should obtain a copy of the SMPTE > standard 314M-1999 document. Since I am capturing my video from a > commercial DV camcorder over a FireWire interface, would I also > possibly need either the 321M-1999 (Television - Data Stream Format > for the Exchange of DV-Based Audio, Data and Compressed Video) or > 322M-1999 (Television - Format for Transmission of DV Compressed > Video, Audio and Data Over a Serial Data Transport Interface)? I don't have those other documents, so I don't know. There are certainly people who are already using libdv as part of the process of capturing from commercial camcorders over 1394. Arne Schirmacher's site has lots of good information and relevant links: http://www.schirmacher.de/arne/dvgrab/index_e.html -- Buck |