Skip to content
Snippets Groups Projects
Commit f21fb76b authored by Justin Ruggles's avatar Justin Ruggles
Browse files

ac3enc: remove a branch in asym_quant() by doing 2 shifts

parent 0e4dbe29
No related branches found
No related tags found
No related merge requests found
......@@ -1123,15 +1123,9 @@ static inline int sym_quant(int c, int e, int levels)
*/
static inline int asym_quant(int c, int e, int qbits)
{
int lshift, m, v;
int m, v;
lshift = e + qbits - 24;
if (lshift >= 0)
v = c << lshift;
else
v = c >> (-lshift);
/* rounding */
v = (v + 1) >> 1;
v = (((c << e) >> (24 - qbits)) + 1) >> 1;
m = (1 << (qbits-1));
if (v >= m)
v = m - 1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment