[Scottish] DVD - decode in software or hardware

Gavin McCord scottish at mailman.lug.org.uk
Fri Jan 3 12:27:02 2003


I'm setting up DVD on my system (detailed below), but it's pushing the
hardware to its limits by the look of it, and I want to know whether I
should try a hardware decoder.

Hardware
--------
Monitor: CTX 1451
Mainboard: Soyo 5EHM/5EH5 V1.x
CPU: AMD K6-2 533 (running at 500)
Chipset: ETEQ82c663 (VIA)
Sound: AWE64 Value ISA
Video: Nvidia Geforce 2 MX
Samsung DVD ROM drive

Software
---------
mplayer 0.90rc2, SDL 1.2.5

>From other newsgroup postings, and articles online I've read, my hardware
setup isn't the best for this sort of thing, given the combination of CPU,
motherboard chipset and soundcard.

However, I've enabled "VIA82CXXX chipset support" and
"Use PCI DMA by default when available" in the kernel, and made
sure, using hdparm, that dma is on for the DVD drive.

My 14'' monitor is limited for practical purposes to one resolution,
640 x 480 @ 75Hz, so to be watchable, the image has to be resized
using the SDL video output option.

Analysing with vmstat, mplayer runs as follows (using the "nosound" option):

  When vo=sdl and display is fullscreen, CPU usage is around 93.
  When vo=sdl and display is windowed (it's larger than the physical
  screen size), CPU usage is around 84.
  When vo=sdl:dga CPU usage is about 96, and quality is lower.
  I've tried vo options of xv, x11 and the CPU usage is about the same as
  SDL windowed.

>From what I've read a PCI soundcard should have less impact on CPU usage
than an ISA one, but even so, I'm not sure there'd be enough leeway, given
that the lowest CPU usage I've obtained with mplayer is in the mid 80s. When
I have tried the sound, using "ao=sdl" or "aop list=resample:fout=44100" (it
needs to be downsampled from 48khz) it won't sync at all with the video.

So, I'm tempted to buy a hardware decoder: the Creative Encore DXR2 (IIRC).
But before I do, I just wonder if there's anything else I might try, to lower
the CPU usage and watch DVDs using only software decoding. (I've tried low-latency
patches with games, but I didn't notice any difference.)