Commit 67415a4c authored by Jean-Paul Saman's avatar Jean-Paul Saman

wmafixed: optimize

parent 9bca33b9
......@@ -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));
......
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment