Factorize READ_FLIP_SIGN() optimization out
Originally committed as revision 23098 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
0c0d88aed5
commit
4b070a7a61
@ -1407,6 +1407,22 @@ static void switch_buffer(MPADecodeContext *s, int *pos, int *end_pos, int *end_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Following is a optimized code for
|
||||||
|
INTFLOAT v = *src
|
||||||
|
if(get_bits1(&s->gb))
|
||||||
|
v = -v;
|
||||||
|
*dst = v;
|
||||||
|
*/
|
||||||
|
#if CONFIG_FLOAT
|
||||||
|
#define READ_FLIP_SIGN(dst,src)\
|
||||||
|
v = AV_RN32A(src) ^ (get_bits1(&s->gb)<<31);\
|
||||||
|
AV_WN32A(dst, v);
|
||||||
|
#else
|
||||||
|
#define READ_FLIP_SIGN(dst,src)\
|
||||||
|
v= -get_bits1(&s->gb);\
|
||||||
|
*(dst) = (*(src) ^ v) - v;
|
||||||
|
#endif
|
||||||
|
|
||||||
static int huffman_decode(MPADecodeContext *s, GranuleDef *g,
|
static int huffman_decode(MPADecodeContext *s, GranuleDef *g,
|
||||||
int16_t *exponents, int end_pos2)
|
int16_t *exponents, int end_pos2)
|
||||||
{
|
{
|
||||||
@ -1538,19 +1554,7 @@ static int huffman_decode(MPADecodeContext *s, GranuleDef *g,
|
|||||||
int v;
|
int v;
|
||||||
int pos= s_index+idxtab[code];
|
int pos= s_index+idxtab[code];
|
||||||
code ^= 8>>idxtab[code];
|
code ^= 8>>idxtab[code];
|
||||||
/* Following is a optimized code for
|
READ_FLIP_SIGN(g->sb_hybrid+pos, RENAME(exp_table)+exponents[pos])
|
||||||
INTFLOAT v = RENAME(exp_table)[ exponents[pos] ];
|
|
||||||
if(get_bits1(&s->gb))
|
|
||||||
v = -v;
|
|
||||||
g->sb_hybrid[pos] = v;
|
|
||||||
*/
|
|
||||||
#if CONFIG_FLOAT
|
|
||||||
v = AV_RN32A(RENAME(exp_table)+exponents[pos]) ^ (get_bits1(&s->gb)<<31);
|
|
||||||
AV_WN32A(g->sb_hybrid+pos, v);
|
|
||||||
#else
|
|
||||||
v= -get_bits1(&s->gb);
|
|
||||||
g->sb_hybrid[pos] = (RENAME(exp_table)[ exponents[pos] ] ^ v) - v;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
s_index+=4;
|
s_index+=4;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user