[Mplayer-cvslog] CVS: main/libac3/mmx imdct_3dnow.c,1.6,1.7

Felix Buenemann atmosfear at users.sourceforge.net
Wed Jun 13 17:17:12 CEST 2001


Update of /cvsroot/mplayer/main/libac3/mmx
In directory usw-pr-cvs1:/tmp/cvs-serv31888/mmx

Modified Files:
	imdct_3dnow.c 
Log Message:
Added possibly missing loop as suggested by Jürgen Keil, please verify.


Index: imdct_3dnow.c
===================================================================
RCS file: /cvsroot/mplayer/main/libac3/mmx/imdct_3dnow.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** imdct_3dnow.c	2001/06/09 08:50:48	1.6
--- imdct_3dnow.c	2001/06/13 15:17:10	1.7
***************
*** 251,270 ****
         /* Window and convert to real valued signal, no overlap here*/
          for(i=0; i< 64; i++) {
!                *data_ptr++   = -buf[64+i].im   * *window_ptr++;
!                *data_ptr++   = buf[64-i-1].re * *window_ptr++;
          }
  
          /* The trailing edge of the window goes into the delay line */
  
!    delay_ptr = delay;
  
          for(i=0; i< 64; i++) {
!                *delay_ptr++  = -buf[64+i].re   * *--window_ptr;
!                *delay_ptr++  =  buf[64-i-1].im * *--window_ptr;
          }
  
          for(i=0; i<64; i++) {
!                *delay_ptr++  =  buf[i].im       * *--window_ptr;
!                *delay_ptr++  = -buf[128-i-1].re * *--window_ptr;
          }
  }
--- 251,275 ----
         /* Window and convert to real valued signal, no overlap here*/
          for(i=0; i< 64; i++) {
! 		*data_ptr++   = -buf[64+i].im   * *window_ptr++;
! 		*data_ptr++   =  buf[64-i-1].re * *window_ptr++;
          }
  
+ 	for(i=0; i< 64; i++) {
+ 		*data_ptr++  = -buf[i].re       * *window_ptr++;
+ 		*data_ptr++  =  buf[128-i-1].im * *window_ptr++;
+ 	}
+ 
          /* The trailing edge of the window goes into the delay line */
  
! 	delay_ptr = delay;
  
          for(i=0; i< 64; i++) {
! 		*delay_ptr++  = -buf[64+i].re   * *--window_ptr;
! 		*delay_ptr++  =  buf[64-i-1].im * *--window_ptr;
          }
  
          for(i=0; i<64; i++) {
! 		*delay_ptr++  =  buf[i].im       * *--window_ptr;
! 		*delay_ptr++  = -buf[128-i-1].re * *--window_ptr;
          }
  }
***************
*** 346,355 ****
  	for(i=0; i< 64; i++) { 
  		*data_ptr++  = -buf1[i].im      * *window_ptr++ + *delay_ptr++;
! 		*data_ptr++  = buf1[64-i-1].re * *window_ptr++ + *delay_ptr++;
  	}
  
  	for(i=0; i< 64; i++) {
  		*data_ptr++  = -buf1[i].re      * *window_ptr++ + *delay_ptr++;
! 		*data_ptr++  = buf1[64-i-1].im * *window_ptr++ + *delay_ptr++;
  	}
  	
--- 351,360 ----
  	for(i=0; i< 64; i++) { 
  		*data_ptr++  = -buf1[i].im      * *window_ptr++ + *delay_ptr++;
! 		*data_ptr++  =  buf1[64-i-1].re * *window_ptr++ + *delay_ptr++;
  	}
  
  	for(i=0; i< 64; i++) {
  		*data_ptr++  = -buf1[i].re      * *window_ptr++ + *delay_ptr++;
! 		*data_ptr++  =  buf1[64-i-1].im * *window_ptr++ + *delay_ptr++;
  	}
  	
***************
*** 444,453 ****
         for(i=0; i< 64; i++) {
                 *data_ptr++  = -buf1[i].im      * *window_ptr++;
!                *data_ptr++  = buf1[64-i-1].re * *window_ptr++;
         }
  
         for(i=0; i< 64; i++) {
                 *data_ptr++  = -buf1[i].re      * *window_ptr++ + *delay_ptr++;
!                *data_ptr++  = buf1[64-i-1].im * *window_ptr++ + *delay_ptr++;
         }
  
--- 449,458 ----
         for(i=0; i< 64; i++) {
                 *data_ptr++  = -buf1[i].im      * *window_ptr++;
!                *data_ptr++  =  buf1[64-i-1].re * *window_ptr++;
         }
  
         for(i=0; i< 64; i++) {
                 *data_ptr++  = -buf1[i].re      * *window_ptr++ + *delay_ptr++;
!                *data_ptr++  =  buf1[64-i-1].im * *window_ptr++ + *delay_ptr++;
         }
  


_______________________________________________
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