Commit 291b6ab1 authored by Fiona Glaser's avatar Fiona Glaser

Shave one instruction off CABAC encode_decision

range_lps>>6 ranges from 4-7, so (range_lps>>6)-4 == (range_lps>>6) & 3
parent a937afbe
......@@ -861,7 +861,7 @@ static inline void x264_cabac_encode_renorm( x264_cabac_t *cb )
void x264_cabac_encode_decision_c( x264_cabac_t *cb, int i_ctx, int b )
{
int i_state = cb->state[i_ctx];
int i_range_lps = x264_cabac_range_lps[i_state][(cb->i_range>>6)&0x03];
int i_range_lps = x264_cabac_range_lps[i_state][(cb->i_range>>6)-4];
cb->i_range -= i_range_lps;
if( b != (i_state >> 6) )
{
......
......@@ -76,8 +76,7 @@ cglobal x264_cabac_encode_decision_asm, 0,7
movzx t3d, byte [t0+cb.state+t1]
mov t4d, t5d
shr t5d, 6
and t5d, 3
LOAD_GLOBAL t5d, x264_cabac_range_lps, t5, t3*4
LOAD_GLOBAL t5d, x264_cabac_range_lps-4, t5, t3*4
sub t4d, t5d
mov t6d, t3d
shr t6d, 6
......
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