[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