[MPlayer-dev-eng] [PATCH] fix interlaced xvidix overlay for Rage 128 Pro

Tobias Diedrich td at informatik.uni-hannover.de
Sat May 18 13:56:03 CEST 2002


Someone should make sure this does not break Radeons in interlaced
mode before applying as I only have my Rage 128 Pro to test it with.

Note that I also need the previously posted ATI patch for my card to
work, so I attached that one too. (Minus the I420 part which I did not
verify). The first part (disabling fifo_wait and engine_idle) is needed
because otherwise it just hangs on init. If I apply only the first part,
I get a pink picture, so the disable color keying part is needed as well.

-- 
Tobias								PGP: 0x9AC7E0BC
-------------- next part --------------
Index: main/vidix/drivers/radeon_vid.c
===================================================================
RCS file: /cvsroot/mplayer/main/vidix/drivers/radeon_vid.c,v
retrieving revision 1.46
diff -u -r1.46 radeon_vid.c
--- main/vidix/drivers/radeon_vid.c	17 Mar 2002 16:08:39 -0000	1.46
+++ main/vidix/drivers/radeon_vid.c	18 May 2002 11:40:02 -0000
@@ -1125,11 +1132,10 @@
     dest_w = config->dest.w;
     dest_h = config->dest.h;
     if(radeon_is_dbl_scan()) dest_h *= 2;
-    else
-    if(radeon_is_interlace()) dest_h /= 2;
     besr.dest_bpp = radeon_vid_get_dbpp();
     besr.fourcc = config->fourcc;
     besr.v_inc = (src_h << 20) / dest_h;
+    if(radeon_is_interlace()) besr.v_inc *= 2;
     h_inc = (src_w << 12) / dest_w;
     step_by = 1;
     while(h_inc >= (2 << 12)) {
-------------- next part --------------
--- main/vidix/drivers/radeon_vid.c	Thu May  2 13:30:34 2002
+++ main/vidix/drivers/radeon_vid_1.46_working.c	Thu May  2 13:33:17 2002
@@ -295,6 +295,13 @@
 	}
 }
 
+#ifdef RAGE128
+
+#define radeon_engine_idle()
+#define radeon_fifo_wait(entries)
+
+#else
+
 static void _radeon_engine_idle(void);
 static void _radeon_fifo_wait(unsigned);
 #define radeon_engine_idle()		_radeon_engine_idle()
@@ -423,7 +430,7 @@
 	radeon_engine_restore();
     }
 }
-
+#endif
 
 
 #ifndef RAGE128
@@ -891,7 +898,7 @@
 		    VID_DEPTH_12BPP| VID_DEPTH_15BPP|
 		    VID_DEPTH_16BPP| VID_DEPTH_24BPP|
 		    VID_DEPTH_32BPP;
-	to->flags = VID_CAP_EXPAND | VID_CAP_SHRINK | VID_CAP_COLORKEY;
+	to->flags = VID_CAP_EXPAND | VID_CAP_SHRINK;/* | VID_CAP_COLORKEY;*/
 	return 0;
     }
     else  to->depth = to->flags = 0;


More information about the MPlayer-dev-eng mailing list