[MPlayer-users] BUG: panscan + OSD: some more BUGs

Filip Kalinski filon at pld.org.pl
Sun Jan 5 19:33:51 CET 2003


On Sun, Jan 05, 2003 at 03:30:56PM +0100, Filip Kalinski wrote:

...

> 1.
> One more thing. When using truetype fonts (autoscaling) font size doesn't
> scale when changing panscan, so it grows a bit (with smaller resoulution
> movies is is easy to see, and a bit annoying).

I have made a patch for this. I am almost sure that it doesn't break
anything (I mean, changing "&&" to "||" in vo_update_osd), but maybe I
missed something...?

There is also an issue that reloading the font file every time when
panscan is changed may take a bit time. Do you think, that it should be
an option, or default behavior? (I think, that default because it
preserves font scale, which should be preserved)

> 2.
> And more, when using -vo x11 -fs -zoom font scale is computed according
> to display resolution, and when -vo xv -fs -- to movie resolution.
> It makes subfont size different in those outputs and reneders
> "subfont-{text,osd}-scale" options unpredictable.
> 

-- 
Filip Kalinski <filon at pld.org.pl>
-------------- next part --------------
--- main.old/libvo/sub.c	2003-01-05 14:54:53.000000000 +0100
+++ main.work/libvo/sub.c	2003-01-05 19:18:03.000000000 +0100
@@ -534,7 +534,7 @@
 
 #ifdef HAVE_FREETYPE    
     // here is the right place to get screen dimensions
-    if (!vo_font && force_load_font) {
+    if (!vo_font || force_load_font) {
 	force_load_font = 0;
 	load_font_ft(dxs, dys);
     }
--- main.old/libvo/vo_xv.c	2003-01-05 14:54:53.000000000 +0100
+++ main.work/libvo/vo_xv.c	2003-01-05 19:24:53.000000000 +0100
@@ -805,8 +805,14 @@
    if ( ( vo_fs && ( vo_panscan != vo_panscan_amount ) ) || ( !vo_fs && vo_panscan_amount ) )
      {
       int old_y = vo_panscan_y;
-      panscan_calc();
       
+      panscan_calc();
+#ifdef HAVE_FREETYPE
+      if (subtitle_autoscale == 2)
+        // force scaling font to movie width
+        force_load_font = 1;
+#endif
+
       if(old_y != vo_panscan_y)
        {
         XClearWindow(mDisplay, vo_window);


More information about the MPlayer-users mailing list