[Mplayer-cvslog] CVS: main/libvo vo_x11.c,1.18,1.19

GEREOFFY arpi_esp at users.sourceforge.net
Sat May 12 03:54:07 CEST 2001


Update of /cvsroot/mplayer/main/libvo
In directory usw-pr-cvs1:/tmp/cvs-serv6716

Modified Files:
	vo_x11.c 
Log Message:
flip implemented for converted modes, soem cleanup, fixed indent

Index: vo_x11.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_x11.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** vo_x11.c	2001/05/11 14:41:47	1.18
--- vo_x11.c	2001/05/12 01:54:05	1.19
***************
*** 432,444 ****
  void rgb15to16_mmx( char* s0,char* d0,int count );
  
! #if 1
! static uint32_t draw_frame( uint8_t *src[] )
! {
!  if( image_format==IMGFMT_YV12 )
!   {
!    yuv2rgb( ImageData,src[0],src[1],src[2],image_width,image_height,image_width*( bpp/8 ),image_width,image_width/2 );
!   }
!   else
!    {
      int i;
      int sbpp=( ( image_format&0xFF )+7 )/8;
--- 432,436 ----
  void rgb15to16_mmx( char* s0,char* d0,int count );
  
! static uint32_t draw_frame( uint8_t *src[] ){
      int i;
      int sbpp=( ( image_format&0xFF )+7 )/8;
***************
*** 447,481 ****
      char *s=src[0];
      //printf( "sbpp=%d  dbpp=%d  depth=%d  bpp=%d\n",sbpp,dbpp,depth,bpp );
! #if 0
      // flipped BGR
      int i;
      //printf( "Rendering flipped BGR frame  bpp=%d  src=%d  dst=%d\n",bpp,sbpp,dbpp );
      s+=sbpp*image_width*image_height;
!     for( i=0;i<image_height;i++ )
!      {
        s-=sbpp*image_width;
!       if( sbpp==dbpp ) memcpy( d,s,sbpp*image_width );
!        else
!         {
           char *s2=s;
           char *d2=d;
           char *e=s2+sbpp*image_width;
!          while( s2<e )
!           {
             d2[0]=s2[0];
             d2[1]=s2[1];
             d2[2]=s2[2];
             s2+=sbpp;d2+=dbpp;
!           }
!         }
        d+=dbpp*image_width;
!      }
! #else
! //   memcpy( ImageData,src[0],image_width*image_height*bpp );
!      if( sbpp==dbpp )
!       {
!        //Display_Image( myximage,s );return 0;
! #if 1
!        if( depth==16 && image_format==( IMGFMT_BGR|15 ) ){
         // do 15bpp->16bpp
  #ifdef HAVE_MMX
--- 439,489 ----
      char *s=src[0];
      //printf( "sbpp=%d  dbpp=%d  depth=%d  bpp=%d\n",sbpp,dbpp,depth,bpp );
! 
!   if( Flip_Flag ){
      // flipped BGR
      int i;
      //printf( "Rendering flipped BGR frame  bpp=%d  src=%d  dst=%d\n",bpp,sbpp,dbpp );
      s+=sbpp*image_width*image_height;
!     for( i=0;i<image_height;i++ ) {
        s-=sbpp*image_width;
!       if( sbpp==dbpp ) {
!         if( depth==16 && image_format==( IMGFMT_BGR|15 ) ){
! 
!        // do 15bpp->16bpp
! #ifdef HAVE_MMX
!        rgb15to16_mmx( s,d,2*image_width );
! #else
!        unsigned short *s1=( unsigned short * )s;
!        unsigned short *d1=( unsigned short * )d;
!        unsigned short *e=s1+image_width;
!        while( s1<e ){
!          register int x=*( s1++ );
!          // rrrrrggggggbbbbb
!          // 0rrrrrgggggbbbbb
!          // 0111 1111 1110 0000=0x7FE0
!          // 00000000000001 1111=0x001F
!          *( d1++ )=( x&0x001F )|( ( x&0x7FE0 )<<1 );
!        }
! #endif
! 
!         } else
!           memcpy( d,s,sbpp*image_width );
!       } else {
!          // sbpp!=dbpp
           char *s2=s;
           char *d2=d;
           char *e=s2+sbpp*image_width;
!          while( s2<e ) {
             d2[0]=s2[0];
             d2[1]=s2[1];
             d2[2]=s2[2];
             s2+=sbpp;d2+=dbpp;
!          }
!       }
        d+=dbpp*image_width;
!     }
!   } else {
!     if( sbpp==dbpp ) {
!       if( depth==16 && image_format==( IMGFMT_BGR|15 ) ){
         // do 15bpp->16bpp
  #ifdef HAVE_MMX
***************
*** 485,490 ****
         unsigned short *d1=( unsigned short * )d;
         unsigned short *e=s1+image_width*image_height;
!        while( s1<e )
!         {
           register int x=*( s1++ );
           // rrrrrggggggbbbbb
--- 493,497 ----
         unsigned short *d1=( unsigned short * )d;
         unsigned short *e=s1+image_width*image_height;
!        while( s1<e ){
           register int x=*( s1++ );
           // rrrrrggggggbbbbb
***************
*** 493,533 ****
           // 00000000000001 1111=0x001F
           *( d1++ )=( x&0x001F )|( ( x&0x7FE0 )<<1 );
-         }
- #endif
-       }
-       else
- #endif
-        {
-         if( Flip_Flag )
-          {
-           s+=sbpp*image_width*image_height;
- 	  for( i=0;i < image_height;i++ )
-            {
- 	    s-=sbpp*image_width;
- 	    memcpy( d,s,sbpp*image_width );
- 	    d+=sbpp*image_width;
- 	   }
-          }
-         else memcpy( d,s,sbpp*image_width*image_height );
         }
-    }
-    else
-     {
-      char *e=s+sbpp*image_width*image_height;
-      //printf( "libvo: using C 24->32bpp conversion\n" );
-      while( s<e )
-       {
-        d[0]=s[0];
-        d[1]=s[1];
-        d[2]=s[2];
-        s+=sbpp;d+=dbpp;
-       }
-    }
  #endif
    }
!  //Display_Image( myximage,ImageData );
!  return 0;
  }
- #endif
  
  static uint32_t query_format( uint32_t format )
--- 500,521 ----
           // 00000000000001 1111=0x001F
           *( d1++ )=( x&0x001F )|( ( x&0x7FE0 )<<1 );
         }
  #endif
+       } else
+         memcpy( d,s,sbpp*image_width*image_height );
+     } else {
+         // sbpp!=dbpp
+       char *e=s+sbpp*image_width*image_height;
+       //printf( "libvo: using C 24->32bpp conversion\n" );
+       while( s<e ){
+         d[0]=s[0];
+         d[1]=s[1];
+         d[2]=s[2];
+         s+=sbpp;d+=dbpp;
+       }
+     }
    }
!   return 0;
  }
  
  static uint32_t query_format( uint32_t format )


_______________________________________________
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