Skip to content
Snippets Groups Projects
Commit b99f3cab authored by Michael Niedermayer's avatar Michael Niedermayer
Browse files

write cabac low and range variables as early as possible to prevent stalls...

write cabac low and range variables as early as possible to prevent stalls from reading them before they where written, the P4 is said to disslike that alot, on P3 its 2% faster (START/STOP_TIMER over decode_residual)

Originally committed as revision 6657 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent d17faef0
No related branches found
No related tags found
No related merge requests found
......@@ -478,8 +478,10 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
"shr $19, %%esi \n\t"
"movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx \n\t"
"shll %%cl, %%ebx \n\t"
"shll %%cl, %%edx \n\t"
"movl %%edx, "RANGE "(%2) \n\t"
"shll %%cl, %%ebx \n\t"
"movl %%ebx, "LOW "(%2) \n\t"
"test %%bx, %%bx \n\t"
" jnz 1f \n\t"
......@@ -500,9 +502,8 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
"shll %%cl , %%esi \n\t"
"addl %%esi, %%ebx \n\t"
"1: \n\t"
"movl %%edx, "RANGE "(%2) \n\t"
"movl %%ebx, "LOW "(%2) \n\t"
"1: \n\t"
:"=&a"(bit)
:"r"(state), "r"(c)
: "%ecx", "%ebx", "%edx", "%esi"
......
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