[Mplayer-cvslog] CVS: main/xa rle8.c,1.1,1.2

Arpi of Ize arpi at mplayer.dev.hu
Mon Sep 24 23:06:47 CEST 2001


Update of /cvsroot/mplayer/main/xa
In directory mplayer:/var/tmp.root/cvs-serv11663

Modified Files:
	rle8.c 
Log Message:
24bpp support

Index: rle8.c
===================================================================
RCS file: /cvsroot/mplayer/main/xa/rle8.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- rle8.c	24 Sep 2001 20:19:46 -0000	1.1
+++ rle8.c	24 Sep 2001 21:06:45 -0000	1.2
@@ -83,6 +83,19 @@
               *iptr++ = (xaUSHORT)map[*dptr++];  x++;
 	    }
 	  }
+	  else if (x11_bytes_pixel==3)
+          { xaUBYTE *iptr = (xaUBYTE *)(image + ((y * imagex + x)*3) );
+            while(cnt--)
+	    { if (x >= imagex) { max_x = imagex; min_x = 0;
+		 x -= imagex; y--; iptr = (xaUBYTE *)(image+y*imagex+x); }
+	      { xaUBYTE* m=((xaUBYTE*)&map[*dptr]);
+                *iptr++ = m[0];
+                *iptr++ = m[1];
+                *iptr++ = m[2];
+	      }
+	      dptr++; x++;
+	    }
+	  }
 	  else /* if (x11_bytes_pixel==4) */
           { xaULONG *iptr = (xaULONG *)(image + ((y * imagex + x)<<2) );
             while(cnt--) 
@@ -129,6 +142,20 @@
 	{ if (x >= imagex)  { max_x = imagex; min_x = 0;
 		x -=imagex; y--; iptr = (xaUSHORT *)(image+y*imagex+x); }
 	  *iptr++ = clr; x++;
+	}
+      }
+      else if (x11_bytes_pixel==3)
+      { xaUBYTE *iptr = (xaUBYTE *)(image + ((y * imagex + x)*3) );
+	xaUBYTE clr0 = color&255;
+	xaUBYTE clr1 = (color>>8)&255;
+	xaUBYTE clr2 = (color>>16)&255;
+	while(cnt--) 
+	{ if (x >= imagex) { max_x = imagex; min_x = 0;
+		x -=imagex; y--; iptr = (xaUBYTE *)(image+y*imagex+x); }
+	  *iptr++ = clr0;
+	  *iptr++ = clr1;
+	  *iptr++ = clr2;
+	  x++;
 	}
       }
       else /* if (x11_bytes_pixel==4) */




More information about the MPlayer-cvslog mailing list