summaryrefslogtreecommitdiffstats
path: root/liba52
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-19 18:42:36 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-19 18:42:36 +0000
commit2df107904356d6ceae8b9ff9ba137f48878bd4bb (patch)
tree891ee42d14020f026c072d09ea3d10a6eb5b85d7 /liba52
parente0b82bd7537cd449fc42aa2563662354d956a076 (diff)
downloadmpv-2df107904356d6ceae8b9ff9ba137f48878bd4bb.tar.bz2
mpv-2df107904356d6ceae8b9ff9ba137f48878bd4bb.tar.xz
adding some comments
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3624 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'liba52')
-rw-r--r--liba52/imdct.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/liba52/imdct.c b/liba52/imdct.c
index fdd804360b..c01b218e87 100644
--- a/liba52/imdct.c
+++ b/liba52/imdct.c
@@ -230,7 +230,7 @@ imdct_do_512(sample_t data[],sample_t delay[], sample_t bias)
}
}
*/
-
+ /* 1. iteration */
for(i = 0; i < 128; i += 2) {
tmp_a_r = buf[i].real;
tmp_a_i = buf[i].imag;
@@ -242,6 +242,7 @@ imdct_do_512(sample_t data[],sample_t delay[], sample_t bias)
buf[i+1].imag = tmp_a_i - tmp_b_i;
}
+ /* 2. iteration */
// Note w[1]={{1,0}, {0,-1}}
for(i = 0; i < 128; i += 4) {
tmp_a_r = buf[i].real;
@@ -262,6 +263,7 @@ imdct_do_512(sample_t data[],sample_t delay[], sample_t bias)
buf[i+3].imag = tmp_a_i + tmp_b_i;
}
+ /* 3. iteration */
for(i = 0; i < 128; i += 8) {
tmp_a_r = buf[i].real;
tmp_a_i = buf[i].imag;
@@ -297,6 +299,7 @@ imdct_do_512(sample_t data[],sample_t delay[], sample_t bias)
buf[i+7].imag = tmp_a_i - tmp_b_i;
}
+ /* 4-7. iterations */
for (m=3; m < 7; m++) {
two_m = (1 << m);
@@ -376,7 +379,8 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
sample_t *window_ptr;
/* 512 IMDCT with source and dest data in 'data' */
-
+ /* see the c version (dct_do_512()), its allmost identical, just in C */
+
/* Pre IFFT complex multiply plus IFFT cmplx conjugate */
/* Bit reversed shuffling */
asm volatile(
@@ -437,6 +441,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
}
*/
+ /* 1. iteration */
// Note w[0][0]={1,0}
asm volatile(
"xorps %%xmm1, %%xmm1 \n\t"
@@ -458,6 +463,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
: "%esi"
);
+ /* 2. iteration */
// Note w[1]={{1,0}, {0,-1}}
asm volatile(
"movaps ps111_1, %%xmm7 \n\t" // 1,1,1,-1
@@ -480,6 +486,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
: "%esi"
);
+ /* 3. iteration */
/*
Note sseW2+0={1,1,sqrt(2),sqrt(2))
Note sseW2+16={0,0,sqrt(2),-sqrt(2))
@@ -525,6 +532,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
: "%esi"
);
+ /* 4-7. iterations */
for (m=3; m < 7; m++) {
two_m = (1 << m);
two_m_plus_one = two_m<<1;
@@ -559,6 +567,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
);
}
+ /* Post IFFT complex multiply plus IFFT complex conjugate*/
asm volatile(
"movl $-1024, %%esi \n\t"
".balign 16 \n\t"