[Mplayer-cvslog] CVS: main/libvo vo_aa.c,1.21,1.22

Alex Beregszaszi alex at mplayer.dev.hu
Tue Feb 12 18:10:24 CET 2002


Update of /cvsroot/mplayer/main/libvo
In directory mplayer:/var/tmp.root/cvs-serv17154

Modified Files:
	vo_aa.c 
Log Message:
rgb/bgr 32bpp and IYUV/I420 support

Index: vo_aa.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_aa.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- vo_aa.c	9 Feb 2002 01:21:48 -0000	1.21
+++ vo_aa.c	12 Feb 2002 17:10:21 -0000	1.22
@@ -227,6 +227,14 @@
 	case IMGFMT_RGB24:
 	    bpp = 24;
 	    break;     
+	case IMGFMT_BGR32:
+	    bpp = 32;
+	    break;     
+	case IMGFMT_RGB32:
+	    bpp = 32;
+	    break;     
+	case IMGFMT_IYUV:
+	case IMGFMT_I420:
 	case IMGFMT_YV12:
 	    bpp = 24;
 	    /* YUV ? then initialize what we will need */
@@ -366,6 +374,8 @@
 	case IMGFMT_YV12:
 	case IMGFMT_RGB|24:
 	case IMGFMT_BGR|24:
+	case IMGFMT_RGB|32:
+	case IMGFMT_BGR|32:
 	    return 1;
     }
     return 0;
@@ -483,6 +493,16 @@
     uint8_t *dst;
 
     dst = convertbuf+(image_width * y + x) * 3;
+    if ((image_format == IMGFMT_IYUV) || (image_format == IMGFMT_I420))
+    {
+	uint8_t *src_i420[3];
+	
+	src_i420[0] = src[0];
+	src_i420[1] = src[2];
+	src_i420[2] = src[1];
+	src = src_i420;
+    }
+
     yuv2rgb(dst,src[0],src[1],src[2],w,h,image_width*3,stride[0],stride[1]);
 
     return 0;
@@ -493,7 +513,7 @@
     /*
      * wow! another ready Image, so draw it !
      */
-    if(image_format == IMGFMT_YV12)
+    if(image_format == IMGFMT_YV12 || image_format == IMGFMT_IYUV || image_format == IMGFMT_I420)
       show_image(convertbuf);
 }
 




More information about the MPlayer-cvslog mailing list