CVS: main/libvo vo_xv.c,1.11,1.12
Update of /cvsroot/mplayer/main/libvo In directory usw-pr-cvs1:/tmp/cvs-serv8789 Modified Files: vo_xv.c Log Message: - applied overlay patch by Jens H Index: vo_xv.c =================================================================== RCS file: /cvsroot/mplayer/main/libvo/vo_xv.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** vo_xv.c 2001/04/13 00:54:05 1.11 --- vo_xv.c 2001/04/14 17:51:18 1.12 *************** *** 266,273 **** int x,y; ! if (xv_format==IMGFMT_YV12) ! vo_draw_alpha_yv12(w,h,src,srca,stride,xvimage[0]->data+image_width*y0+x0,image_width); ! else ! vo_draw_alpha_yuy2(w,h,src,srca,stride,xvimage[0]->data+2*(image_width*y0+x0),2*image_width); } --- 266,281 ---- int x,y; ! switch (xv_format) { ! case IMGFMT_YV12: ! case IMGFMT_I420: ! case IMGFMT_IYUV: ! vo_draw_alpha_yv12(w,h,src,srca,stride,xvimage[0]->data+image_width*y0+x0,image_width); ! break; ! case IMGFMT_YUY2: ! case IMGFMT_UYVY: ! case IMGFMT_YVYU: ! vo_draw_alpha_yuy2(w,h,src,srca,stride,xvimage[0]->data+2*(image_width*y0+x0),2*image_width); ! break; ! } } *************** *** 333,361 **** int foo; ! if(xv_format==IMGFMT_YUY2) ! { ! // YUY2 packed, flipped #if 0 ! int i; ! unsigned short *s=(unsigned short *)src[0]; ! unsigned short *d=(unsigned short *)xvimage[0]->data; ! s+=image_width*image_height; ! for(i=0;i<image_height;i++) ! { ! s-=image_width; ! memcpy(d,s,image_width*2); ! d+=image_width; ! } #else ! memcpy(xvimage[0]->data,src[0],image_width*image_height*2); #endif ! } ! else ! { // YV12 planar memcpy(xvimage[0]->data,src[0],image_width*image_height); memcpy(xvimage[0]->data+image_width*image_height,src[2],image_width*image_height/4); memcpy(xvimage[0]->data+image_width*image_height*5/4,src[1],image_width*image_height/4); ! } return 0; --- 341,375 ---- int foo; ! switch (xv_format) { ! case IMGFMT_YUY2: ! case IMGFMT_UYVY: ! case IMGFMT_YVYU: ! ! // YUY2 packed, flipped #if 0 ! int i; ! unsigned short *s=(unsigned short *)src[0]; ! unsigned short *d=(unsigned short *)xvimage[0]->data; ! s+=image_width*image_height; ! for(i=0;i<image_height;i++) { ! s-=image_width; ! memcpy(d,s,image_width*2); ! d+=image_width; ! } #else ! memcpy(xvimage[0]->data,src[0],image_width*image_height*2); #endif ! break; ! ! case IMGFMT_YV12: ! case IMGFMT_I420: ! case IMGFMT_IYUV: ! // YV12 planar memcpy(xvimage[0]->data,src[0],image_width*image_height); memcpy(xvimage[0]->data+image_width*image_height,src[2],image_width*image_height/4); memcpy(xvimage[0]->data+image_width*image_height*5/4,src[1],image_width*image_height/4); ! break; ! } return 0; *************** *** 364,373 **** static uint32_t query_format(uint32_t format) { switch(format) { case IMGFMT_YV12: ! case IMGFMT_YUY2: return 1; } return 0; } --- 378,393 ---- static uint32_t query_format(uint32_t format) { + + // umm, this is a kludge, we need to ask the server.. (see init function above) + return 1; + /* switch(format) { case IMGFMT_YV12: ! case IMGFMT_YUY2: ! return 1; } return 0; + */ } _______________________________________________ Mplayer-cvslog mailing list Mplayer-cvslog@lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog
participants (1)
-
Felix Buenemann