]> granicus.if.org Git - libass/commitdiff
Support a vsfilter special case:
authorgreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>
Thu, 5 Mar 2009 20:36:39 +0000 (20:36 +0000)
committergreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>
Thu, 5 Mar 2009 20:36:39 +0000 (20:36 +0000)
If PlayResX or Y is 1280/1024 respectively and the other
PlayRes attribute isn't provided, use 1280/1024 for it.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28817 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index 6b8ee70f3e64047c28cd06123b1590dab49d48db..c01bb749639acbfac2375a4aa99f3a36a1f86aa2 100644 (file)
@@ -224,9 +224,15 @@ static void ass_lazy_track_init(void)
        } else {
                double orig_aspect = (global_settings->aspect * frame_context.height * frame_context.orig_width) /
                        frame_context.orig_height / frame_context.width;
-               if (!track->PlayResY) {
+               if (!track->PlayResY && track->PlayResX == 1280) {
+                       track->PlayResY = 1024;
+                       mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_PlayResYUndefinedSettingY, track->PlayResY);
+               } else if (!track->PlayResY) {
                        track->PlayResY = track->PlayResX / orig_aspect + .5;
                        mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_PlayResYUndefinedSettingY, track->PlayResY);
+               } else if (!track->PlayResX && track->PlayResY == 1024) {
+                       track->PlayResX = 1280;
+                       mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_PlayResXUndefinedSettingX, track->PlayResX);
                } else if (!track->PlayResX) {
                        track->PlayResX = track->PlayResY * orig_aspect + .5;
                        mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_PlayResXUndefinedSettingX, track->PlayResX);