[vlc-devel] commit: wmafixed: optimize (Jean-Paul Saman )

git version control git at videolan.org
Sat Feb 7 16:33:40 CET 2009


vlc | branch: master | Jean-Paul Saman <jean-paul.saman at m2x.nl> | Sat Feb  7 16:29:41 2009 +0100| [67415a4c979fc38b6b604b6f87d5e7d4220ba33f] | committer: Jean-Paul Saman 

wmafixed: optimize

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=67415a4c979fc38b6b604b6f87d5e7d4220ba33f
---

 modules/codec/wmafixed/wmadeci.c  |    4 ++--
 modules/codec/wmafixed/wmafixed.c |   14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/modules/codec/wmafixed/wmadeci.c b/modules/codec/wmafixed/wmadeci.c
index 29a4e48..41ff8fb 100644
--- a/modules/codec/wmafixed/wmadeci.c
+++ b/modules/codec/wmafixed/wmadeci.c
@@ -238,7 +238,7 @@ static void wma_window(WMADecodeContext *s, int32_t *in, int32_t *out)
          /*previous block was smaller or the same size, so use it's size to set the window length*/
          block_len = 1 << s->prev_block_len_bits;
          /*find the middle of the two overlapped blocks, this will be the first overlapped sample*/
-         n = (s->block_len - block_len) / 2;
+         n = (s->block_len - block_len) >> 1;
          bsize = s->frame_len_bits - s->prev_block_len_bits;
 
          vector_fmul_add_add(out+n, in+n, s->windows[bsize],  block_len);
@@ -261,7 +261,7 @@ static void wma_window(WMADecodeContext *s, int32_t *in, int32_t *out)
 
      } else {
          block_len = 1 << s->next_block_len_bits;
-         n = (s->block_len - block_len) / 2;
+         n = (s->block_len - block_len) >> 1;
          bsize = s->frame_len_bits - s->next_block_len_bits;
 
          memcpy(out, in, n*sizeof(int32_t));
diff --git a/modules/codec/wmafixed/wmafixed.c b/modules/codec/wmafixed/wmafixed.c
index 0656c61..c178f44 100644
--- a/modules/codec/wmafixed/wmafixed.c
+++ b/modules/codec/wmafixed/wmafixed.c
@@ -122,7 +122,7 @@ int32_t fixsqrt32(int32_t x)
 
 #undef STEP
 
-    return (int32_t)(r << (PRECISION / 2));
+    return (int32_t)(r << (PRECISION >> 1));
 }
 
 /* Inverse gain of circular cordic rotation in s0.31 format. */
@@ -191,17 +191,17 @@ long fsincos(unsigned long phase, int32_t *cos)
     z = phase;
 
     /* The phase has to be somewhere between 0..pi for this to work right */
-    if (z < 0xffffffff / 4) {
+    if (z < 0xffffffff >> 2) {
         /* z in first quadrant, z += pi/2 to correct */
         x = -x;
-        z += 0xffffffff / 4;
-    } else if (z < 3 * (0xffffffff / 4)) {
+        z += 0xffffffff >> 2;
+    } else if (z < 3 * (0xffffffff >> 2)) {
         /* z in third quadrant, z -= pi/2 to correct */
-        z -= 0xffffffff / 4;
+        z -= 0xffffffff >> 2;
     } else {
         /* z in fourth quadrant, z -= 3pi/2 to correct */
         x = -x;
-        z -= 3 * (0xffffffff / 4);
+        z -= 3 * (0xffffffff >> 2);
     }
 
     /* Each iteration adds roughly 1-bit of extra precision */
@@ -211,7 +211,7 @@ long fsincos(unsigned long phase, int32_t *cos)
         z1 = atan_table[i];
 
         /* Decided which direction to rotate vector. Pivot point is pi/2 */
-        if (z >= 0xffffffff / 4) {
+        if (z >= 0xffffffff >> 2) {
             x -= y1;
             y += x1;
             z -= z1;




More information about the vlc-devel mailing list