Xvideo performance on Radeon 7500 vs Intel 915
Ken Mandelberg
km at mathcs.emory.edu
Thu Dec 14 08:52:27 PST 2006
I want to thank Roland both for his pink bar downscale patch for the
Radeon and the suggestion to increase the agp mode that made a big
difference in the Radeon performance.
I'm now tackling the other 1080i issue I encountered. Although
xine/mplayer/vlc can all now do 1080i with xv, mythtv can't.
I've traced this through the radeon-video.c code and it comes down to
this. At 1080i
pPriv->video_offset = RADEONAllocateMemory(pScrn, &pPriv->video_memory,
(pPriv->doubleBuffer ?
(new_size * 2) : new_size));
gets called with doublebuffer on, where new_size*2 is 6,266,880. This is
the same for myth and the others all of which are doing 1920*1088 at
this point, but it only fails for myth.
Ultimately this calls
linear = xf86AllocateOffscreenLinear(pScreen, size, 16,
NULL, NULL, NULL);
with size 1,566,720 which succeeds for xine/mplayer/vlc but fails for myth.
After the failure, the driver tries
xf86QueryLargestOffscreenLinear(pScreen, &max_size, 16,
PRIORITY_EXTREME);
and max_size comes back 1,479,808 which is too small.
So I guess myth is using enough of the "OffscreenLinear" in the GUI to
leave not enough left for the actual video.
I've turned off myth's preview mpg imaging, and its not apparent to me
where the qt myth interface is using the resource. It doesn't show up in
the alloc points I'm catching in radeon_video.c.
I've also noticed that with just the very top level of the mythfrontend
gui running, that xine/mplayer/vlc can't display the 1080i mpg, which is
consistent.
Is there any more I can do on the driver side to work around this? The
radeon 7500 is supposed to have 32MB of ram, but I guess much less of it
is available as offscreenlinear.
More information about the xorg
mailing list