batyrmastyr Возможно, поздновато, но я тут случайно выяснил следующее:
Оказывается, VSFilter не имеет отдельного парсера для ASS, SRT, SMIL и прочего. Парсер один, но распознаёт сразу всё. Иными словами, можно написать файл SRT и внедрить туда синтаксис всех распознаваемых VSFilter'ом форматов в любых разумных и неразумных сочетаниях. Под разумными сочетаниями я понимаю внедрение <B>, <U> и <I> в обычный SRT (это почти стандарт, libass и VLC держат), под неразумными я понимаю внедрение некоторых ASS-овских {\...} в обычный SRT (изредка встречал абсолютное позиционирование в SRT, корректно понимает только VSFilter, остальные вываливают всё на экран), ну и, собственно, в терминальном случае имеем так называемый "SRTv2.0" (хотел бы я посмотреть в глаза человеку, который это придумал).
Единственное, что остаётся непонятным, так это зачем вообще нужно было изобретать вундервафлю, когда есть (относительно) прямой, удобный, и (почти) без проблем поддерживаемый всеми существующими реализациями ASS?