[FFmpeg-cvslog] r12237 - trunk/libavcodec/faandct.c

michael subversion
Tue Feb 26 16:52:37 CET 2008


Author: michael
Date: Tue Feb 26 16:52:37 2008
New Revision: 12237

Log:
Alternative and faster (on gcc x86) plane rotation.


Modified:
   trunk/libavcodec/faandct.c

Modified: trunk/libavcodec/faandct.c
==============================================================================
--- trunk/libavcodec/faandct.c	(original)
+++ trunk/libavcodec/faandct.c	Tue Feb 26 16:52:37 2008
@@ -107,9 +107,14 @@ static av_always_inline void row_fdct(FL
         tmp5 += tmp6;
         tmp6 += tmp7;
 
+#if 0
         z5= (tmp4 - tmp6) * A5;
         z2= tmp4*A2 + z5;
         z4= tmp6*A4 + z5;
+#else
+        z2= tmp4*(A2+A5) - tmp6*A5;
+        z4= tmp6*(A4-A5) + tmp4*A5;
+#endif
         tmp5*=A1;
 
         z11= tmp7 + tmp5;
@@ -161,9 +166,14 @@ void ff_faandct(DCTELEM * data)
         tmp5 += tmp6;
         tmp6 += tmp7;
 
+#if 0
         z5= (tmp4 - tmp6) * A5;
         z2= tmp4*A2 + z5;
         z4= tmp6*A4 + z5;
+#else
+        z2= tmp4*(A2+A5) - tmp6*A5;
+        z4= tmp6*(A4-A5) + tmp4*A5;
+#endif
         tmp5*=A1;
 
         z11= tmp7 + tmp5;




More information about the ffmpeg-cvslog mailing list