comparison cabac.h @ 3996:c4ff7d570f19 libavcodec

moving lps state transition code a little up in the branched asm code (1% faster on P3)
author michael
date Wed, 11 Oct 2006 16:39:50 +0000
parents b00c06477dff
children 6cbad3675632
comparison
equal deleted inserted replaced
3995:b00c06477dff 3996:c4ff7d570f19
403 "1: \n\t" 403 "1: \n\t"
404 //eax:state ebx:low, edx:range, esi:RangeLPS 404 //eax:state ebx:low, edx:range, esi:RangeLPS
405 "subl %%edx, %%ebx \n\t" 405 "subl %%edx, %%ebx \n\t"
406 "movl %%esi, %%edx \n\t" 406 "movl %%esi, %%edx \n\t"
407 "shr $19, %%esi \n\t" 407 "shr $19, %%esi \n\t"
408 "movzbl "MANGLE(ff_h264_lps_state)"(%%eax), %%ecx \n\t"
409 "movb %%cl, (%1) \n\t"
408 "movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx \n\t" 410 "movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx \n\t"
409 "shll %%cl, %%ebx \n\t" 411 "shll %%cl, %%ebx \n\t"
410 "shll %%cl, %%edx \n\t" 412 "shll %%cl, %%edx \n\t"
411 "movzbl "MANGLE(ff_h264_lps_state)"(%%eax), %%ecx \n\t"
412 "movb %%cl, (%1) \n\t"
413 "addl $1, %%eax \n\t" 413 "addl $1, %%eax \n\t"
414 "test %%bx, %%bx \n\t" 414 "test %%bx, %%bx \n\t"
415 " jnz 2f \n\t" 415 " jnz 2f \n\t"
416 416
417 "movl "BYTE "(%2), %%ecx \n\t" 417 "movl "BYTE "(%2), %%ecx \n\t"