[Mplayer-cvslog] CVS: main/libvo vo_dga.c,1.12,1.13
Andreas Ackermann
acki2 at users.sourceforge.net
Tue Apr 17 22:52:00 CEST 2001
Update of /cvsroot/mplayer/main/libvo
In directory usw-pr-cvs1:/tmp/cvs-serv25395
Modified Files:
vo_dga.c
Log Message:
- query_format() now uses new return value concept
- now support for OSD :-))) for RGB modes
YV12 is flickering in quite an ugly fashion; have to fix this, but
will cost an extra copying of image data ... :-(((
Index: vo_dga.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_dga.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** vo_dga.c 2001/04/13 22:11:08 1.12
--- vo_dga.c 2001/04/17 20:51:58 1.13
***************
*** 24,27 ****
--- 24,33 ----
*
* $Log$
+ * Revision 1.13 2001/04/17 20:51:58 acki2
+ * - query_format() now uses new return value concept
+ * - now support for OSD :-))) for RGB modes
+ * YV12 is flickering in quite an ugly fashion; have to fix this, but
+ * will cost an extra copying of image data ... :-(((
+ *
* Revision 1.12 2001/04/13 22:11:08 acki2
* - fixed bug with depth and mpg when current bpp of XServer was != 32
***************
*** 102,105 ****
--- 108,114 ----
#define BYTESPP (vo_dga_modes[vo_dga_active_mode].vdm_bytespp)
+ #define HW_MODE (vo_dga_modes[vo_dga_active_mode])
+
+
struct vd_modes {
int vdm_mplayer_depth;
***************
*** 241,255 ****
#define VD_RES 1
-
void vd_printf( int level, const char *str, ...){
- // show resolution and DBG-messages only in verbose mode ...
-
#ifndef VO_DGA_DBG
if( !verbose && level)return;
#endif
-
vprintf( str, (&str)+1 );
-
}
--- 250,260 ----
#define VD_RES 1
void vd_printf( int level, const char *str, ...){
#ifndef VO_DGA_DBG
+ // show resolution and DBG-messages only in verbose mode ...
if( !verbose && level)return;
#endif
vprintf( str, (&str)+1 );
}
***************
*** 257,260 ****
--- 262,293 ----
+ static void draw_alpha( int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride ){
+
+ char *d;
+ unsigned int offset = (y0*vo_dga_width+x0);
+
+ d = (&((char *)vo_dga_base)[vo_dga_vp_offset + vo_dga_dbf_current * vo_dga_dbf_mem_offset]);
+
+
+ switch( HW_MODE.vdm_mplayer_depth ){
+ case 24:
+ vo_draw_alpha_rgb24(w,h,src,srca,stride, d+3*offset , 3*vo_dga_width);
+ break;
+ case 32:
+ vo_draw_alpha_rgb32(w,h,src,srca,stride, d+4*offset , 4*vo_dga_width);
+ break;
+ case 15:
+ vo_draw_alpha_rgb15(w,h,src,srca,stride, d+2*offset , 2*vo_dga_width);
+ break;
+ case 16:
+ vo_draw_alpha_rgb16(w,h,src,srca,stride, d+2*offset , 2*vo_dga_width);
+ break;
+ }
+ }
+
+
+ //---------------------------------------------------------
+
+
// I had tried to work with mmx/3dnow copy code but
***************
*** 312,315 ****
--- 345,349 ----
static void flip_page( void ){
+ vo_draw_text(vo_dga_src_width,vo_dga_src_height,draw_alpha);
if(vo_dga_dbf_mem_offset != 0){
***************
*** 431,435 ****
if( (format&IMGFMT_BGR_MASK) == IMGFMT_BGR &&
! vd_ModeValid(format&0xff)) return 1;
return 0;
--- 465,469 ----
if( (format&IMGFMT_BGR_MASK) == IMGFMT_BGR &&
! vd_ModeValid(format&0xff)) return 7;
return 0;
_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog
More information about the MPlayer-cvslog
mailing list