|
From: James B. <ja...@ex...> - 2000-06-04 16:11:14
|
Arne Schirmacher wrote: > > Best of breed in the Windows world: The Microsoft DV codec does easily 30 fps > fullscreen on my AMD 333 MHz with a Matrox Millenium card. > > The trick with most Windows graphics software is that they use the hardware > features of the graphics card, whereas on Linux it is all done in software. A > very expensive operation is the YUV to RGB conversion and scaling. Many cards > can do this in hardware -- write the YUV (or whatever other format) to the > card's memory, setup source and destination rects in some registers and zap! > RGB data is just there. I wrote a Quicktime codec for an obscure Macintosh PCI > graphics card five years ago and using the hardware features I could do 25 fps > fullscreen PAL videos on a PowerMac 100 MHz (compareable to a 100-150 MHz > Pentium). > > So to get decent codec performance somebody needs to look into how hardware > acceleration is done under Linux / XFree86. I'm running libdv on an Intel PII/300, and have got reasonable performance (30fps) running with custom backends for placement and display. Displaying a 16-bit X visual is pretty painful; the only way I can get 30fps is by shrinking the image to half-size; 360x240 for NTSC. Using fbcon with a 800x600 screen works ok, but I had trouble getting multimon working with anything except Matrox cards. What I'm currently using is a 3dfx Voodoo 1 card - this gets 30fps when displaying monochrome; I use Glide to download the picture as a series of textures then draw some big texture-mapped triangles that cover the screen. Sounds weird but works ok. -- James Bowman ja...@ex... |