summaryrefslogtreecommitdiff
path: root/libavcodec/faandct.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-02-26 15:52:37 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-02-26 15:52:37 +0000
commitc3a3d34427498fe32eb81dd80319e401725a85e8 (patch)
treeb9bd594cd635a9ad118b1d72e6539a746152f3d6 /libavcodec/faandct.c
parent8af4d0fc8db6451e0c9200b71ef284e377c17683 (diff)
Alternative and faster (on gcc x86) plane rotation.
Originally committed as revision 12237 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/faandct.c')
-rw-r--r--libavcodec/faandct.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/faandct.c b/libavcodec/faandct.c
index 35969754db..014c2d7514 100644
--- a/libavcodec/faandct.c
+++ b/libavcodec/faandct.c
@@ -107,9 +107,14 @@ static av_always_inline void row_fdct(FLOAT temp[64], 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;
@@ -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;