Тема начиналась тут: www.linux.org.ru/view-message.jsp?msgid=3520055
Полностью разобравшись что к чему, пришел к выводу, что таки font_scale_x остался излишеством в коде. Далее по коду в модуле ass_render.c видно единственное упоминание этого параметра:
ass_font_set_transform(render_context.font,
render_context.scale_x * frame_context.font_scale_x,
render_context.scale_y,
&shift );
Но в render_context.scale_x уже хранится правильное значение для рендера субтитров, соответственно font_scale_x только сбивает все. В общем собрал патч. Но т.к. увлекся занятием, решил кое-чего добавить. Довольно часто приходится смотреть широкоформатное видео, а т.к. монитор у меня с соотношением сторон 5/4(1280х1024), то охота сместить субтитры на черные полосы. Не всегда конечно, но когда субтитры довольно велики, или просто плохо контрастируют с видеорядом, это будет не лишним. В SMPlayer'е есть подобие нужного мне функционала, но там все делается обычным expand'ом, а с ним сбиваются координаты субтитров, для которых указан \pos. В самом mplayer'е есть -ass-top/bottom-marign, но для каждого видео вычислять нужные отступы - та еще морока :) Патч же добавляет опцию -ass-auto-margins, и при его использовании с -ass-use-margins, mplayer будет автоматически вычислять размер черных полос, которые следует добавить в соответствии с соотношением сторон вашего монитора. Что интересно - при -vo gl, черные полосы будут задействованы только в полноэкранном режиме(если конечно не использовать -vf-add ass). Правда пока так и не разобрался, почему эта неплохая особенность не действует в случаи с SMPlayer'ом... поэтому приходится в его настройках указывать «Сохранять субтитры на снимках экрана».
В общем, думаю кому-то будет полезно :)
ЗЫ: реакция разработчиков на баг пока не последовала... то ли суток мало, то ли выходные.