[MPlayer-users] Software or hardware scaling for subtitles (was: When will there be a new release?)

Nicolas George nicolas.george at normalesup.org
Wed Oct 15 21:14:24 CEST 2008


Le tridi 23 vendémiaire, an CCXVII, Andrew Savchenko a écrit :
> Fontconfig's subtitles may be easily scaled using 
> -subfont-text-scale and -subfont-autoscale option. I can't see the 
> difference either.

I think you misunderstood what I was saying. Let me add some details.

The default behaviour, at least with XVideo, is to do thing in that order:

video decoding -> subtitles rendering -> scaling -> display

with scaling and display taking place both inside the video card.

That means that the glyphs are rendered at the resolution of the video and
then scaled as bitmap to the resolution of your screen. Suppose the video is
640×360 while the screen is 1920×1200. With a reasonable font size, that
means that the glyph will have an average width of about 10 pixels, maybe
less. That is enough to have something readable (the font I use to compose
this message is a fixed-width 7 pixels wide bitmap font), but not something
nice.

On the other hand, if you do things in that order:

video decoding -> scaling -> subtitles rendering -> display

the subtitles are rendered at the screen resolution. With my previous
hypotheses, that makes the glyphs about 30 pixels wide on average, which
starts to be on par with printed text and looks _much_ nicer.

There are drawbacks. With XVideo overlays, you can do nothing between
hardware scaling and display, which means that to render the subtitles after
the scaling, the scaling has to be done by the CPU. This eats a lot of CPU
time. Fortunately, modern CPUs can mostly cope with that, except maybe if
the video itself is HD and is already needing all the speed.

Furthermore, with Intel video controllers and default builds of X.org, the
XVideo is limited to 1920×1088. If your video has 4:3 aspect ratio, you may
want to scale it to 1600×1200, but you can not. It is perfectly ok to patch
the driver. This may cause mplayer to die unexpectedly if you try to play
such videos through the network with 16 bpp and an old version of the X.org
server, though.

With the GL output drivers, it is possible to add subtitles after hardware
scaling. Unfortunately, having a X11 server with working OpenGL is much
harder than having a X11 server with working XVideo. Furthermore, with Intel
video controllers (at least mine), which is the easiest way to get OpenGL
working, GL output has some tearing, while XVideo overlay does not.

All things considered, I intend to keep using -vo xv -vf-add
dsize=1920:1200,0,scale=0:0 when I have subtitles, until I find myself with
a video where decoding is too slow.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20081015/533ed80a/attachment.pgp>


More information about the MPlayer-users mailing list