[MPlayer-dev-eng] [PATCH] SSA/ASS subtitles support
Alexander Strange
astrange at ithinksw.com
Mon Apr 3 05:24:41 CEST 2006
On Apr 1, 2006, at 1:59 PM, Evgeniy Stepanov wrote:
>
> The border width is probally smaller then in VSFilter. You can try
> to increase
> it (either in subtitle script, or by adding a multiplier in the
> FT_Stroker_Set call) and see if it becomes better. There is a
> problem though.
> With some combinations of font size and border width there appears
> a strange
> gap in some glyph outlines. Maybe a bug in freetype ?
The current patch actually ignores the border width in the SSA and
sets it to 1. If I change that, it looks better at large sizes but
still looks funny at small ones. I suspect this is partially because
VSFilter uses a better method for subsampling chroma in 4:2:0 (but
macosx displays in 4:2:2 anyway, so if the renderer supports that it
would improve). The rest might be freetype's imperfect hinting; I
think you have to actually enable the auto-hinter manually?
Also, why does it scale the font size by .6?
> The kerning is a little incorrect because I'm using integer pixel
> offsets when
> placing glyphs. Subpixel precision leads to poor bitmap cache
> performance,
> because almost all the glyphs become different. Still, 1/4 or 1/8
> pixel
> precision might be acceptable. I'll try it some day.
I disabled the cache and only had a noticeable performance loss in
one movie, so having a correct-but-slower mode would be fine with me.
It would also be useful in mencoder.
Some other things:
* I went and rebuilt mplayer with fontconfig on, and ass_fontconfig.c
never matches any fonts, all of which fc-match worked with. I copied
and pasted the fontconfig matching code from font_load_ft and it
worked (if you add in an FC_INDEX query, since the old one ignored
it). I can look into this further if you want.
* Japanese subtitles clip out the side because it doesn't
automatically linebreak them, since they have no whitespace. I think
fribidi might handle this sort of thing, but I'm not sure about that.
* This file asserts out: http://raspberryheaven.net/~adtrw/anime/
Makoto%20Shinkai%20-%20Other%20Worlds.mkv
ass_render.c:1200: failed assertion `frame_context.dmpi->stride[1] ==
frame_context.dmpi->chroma_width'
(The mistimed subtitles are my fault, not yours.)
More information about the MPlayer-dev-eng
mailing list