changeset 28782:37c47d68d586

Support a vsfilter special case: If PlayResX or Y is 1280/1024 respectively and the other PlayRes attribute isn't provided, use 1280/1024 for it.
author greg
date Thu, 05 Mar 2009 20:36:39 +0000
parents a0fc6ecab7ee
children 1cfc467bb77c
files libass/ass_render.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libass/ass_render.c	Thu Mar 05 20:36:35 2009 +0000
+++ b/libass/ass_render.c	Thu Mar 05 20:36:39 2009 +0000
@@ -224,9 +224,15 @@
 	} 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);