[MPlayer-dev-eng] Re: [PATCH] SSA/ASS subtitles support

Evgeniy Stepanov eugeni.stepanov at gmail.com
Sun Jun 4 14:01:19 CEST 2006


On Sunday 04 June 2006 14:02, Reimar Döffinger wrote:
> No, I think he understood me right. Though instead of using the global
> vo_ass variable I had thought about using a VF_CONTROL message. But I can't
> say which approach really is better. It would have some advantages with
> audio filters (inserting the filter when it is needed the first time, as
> done with -af volume when there is no hardware mixer available), but the
> video filter chain is much less flexible so it might not be worth it here.

I've tried to initialize the library when it is first needed (for example, 
user switched to the SSA track), but this takes some time (especially 
fontconfig initialization) and playback noticably lags. Does not look very 
good.

As for the filter, it can be fixed to have no performance penalty in case when 
there are no bitmaps to blend. Then it might be better to always add it to 
the chain.

> Hmm. As I understood the code, you can just leave vf_ass out and it
> should happen that way. Though I admit I didn't look closely at the
> auto-loading code - in the future it would probably have to check if teh
> vo already suuports the functionality and not load vf_ass then.

Exactly. I intend to add something like VFCAP_OSD and VFCTRL_DRAW_OSD.
But we might still need to load vf_ass if we are going to use video pts from 
the filter chain.

> Hmm... maybe I misunderstood, but I though vo_ass just contained the
> subtitles for the currently rendered frame... Well, I guess it might
> break a bit when using filters that introduce a delay, e.g. -vf tile or
> -vf ivtc or so.

You are correct, it contains bitmaps for a single frame. But now it seems it 
might be the wrong frame ;)

Btw, do I understand this right: the idea of VFCTRL_DRAW_OSD is to tell vf/vo 
that OSD has changed, and it should be redrawn ? And this is useful for some 
vo's that use overlays to put osd and therefore don't need to blend it into 
each frame ?



More information about the MPlayer-dev-eng mailing list