How To Reduce/Eliminate Horizontal Tearing
Glynn Clements
glynn at gclements.plus.com
Thu Dec 11 01:28:48 PST 2008
Nick Nobody wrote:
> Can you recommend a media player that is able to use OpenGL? I've tried
> mplayer but even on a relatively fast cpu it can't playback the video fast
> enough (720p content). Unless I'm missing some magic switch that's buried
> deep within the man page :)
MPlayer can be compiled with OpenGL support; "mplayer -vo help" will
give you a list of supported drivers.
For HD video, you really need video hardware which can take 4:2:0 YUV
data and perform conversion and scaling itself. If the player has to
perform conversion and/or scaling, that's going to eat both CPU and
memory bandwidth.
You also need to avoid exceeding any hardware-imposed limits on the
size of the source data (i.e. either the size of the overlay or the
maximum texture size). E.g. if the card limits textures to 1024x1024,
and you try to play 1280x720 video with a driver that uses OpenGL
texture mapping for scaling, the player may silently fall back to a
slower driver.
Finally, h.264 is far more CPU-intensive than e.g. XviD. If the player
is using 100% CPU, it's possible that the decoding is the bottleneck.
Try "mplayer -vo null"; if that uses 100% CPU, then the problem is
with decoding the video rather than displaying it.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the xorg
mailing list