Hi folks,
For quite some time, I've been agonizing over using Hvirtual's 2.0
release vs the cvs release. The problem was the hvirtual binary did
~20FPS dv playback, but cvs only did ~6FPS. Enter oprofile.
My FC4 system is more or less a stock system, plus bits from the extras,
freshrpms, and livna to solve all build dependencies. As others have
suggested, the slowness was in libdv (In particular, a routine with
O(n**4) characteristics!), but recompiling with "-O1 -fPIC" did not
solve it.. Since the libdv in question was from around 2 years ago, the
libdv from sourceforge's cvs repository seemed like a better choice.
Now my playback is *much* better, similar to that of the hvirtual result.
Further, playing around with the audio, it appears playback being
enabled can cause a *dramatic* drop in FPS! My system uses the OSS
Audio Driver. It turns out the larger the "Samples to send to console
at a time" setting, the slower the playback. By dropping it down to
2048, my system gets a full 30FPS. The 20FPS formerly mentioned is with
the setting at 32768 and it goes all the way down to 10FPS at 65536.
Anyway, in the interest of helping out and possibly others investigating
further optimizations, here is a link to my resulting binaries as well
as a script that runs the profiler. These sources are the latest for
both cinelerra svn and libdv cvs.
http://www.swcp.com/~synk/cinelerra/
The script that runs the profiler is attached to this message.
-Brendan
sudo opcontrol --shutdown
sudo opcontrol --reset
sudo opcontrol --setup --event=GLOBAL_POWER_EVENTS:860000 --separate=library
sudo opcontrol --start
cinelerra /twinkies/2005/christmas-hafla/tape1/xmas-001.avi
sudo opcontrol --shutdown
sudo opreport -t 5 --long-filenames
sudo opreport -l --long-filenames /usr/lib64/libdv.so.4.0.2