Mercurial > libavcodec.hg
comparison cabac.h @ 3971:e8a6d5c1ab0b libavcodec
drop failed attempt to optimize *state= c->mps_state[s];
author | michael |
---|---|
date | Mon, 09 Oct 2006 15:52:17 +0000 |
parents | 508d759b6906 |
children | f5f1c9af095d |
comparison
equal
deleted
inserted
replaced
3970:508d759b6906 | 3971:e8a6d5c1ab0b |
---|---|
454 | 454 |
455 c->range -= RangeLPS; | 455 c->range -= RangeLPS; |
456 #if 1 | 456 #if 1 |
457 if(c->low < c->range){ | 457 if(c->low < c->range){ |
458 bit= s&1; | 458 bit= s&1; |
459 #ifdef ARCH_X86 | 459 *state= c->mps_state[s]; |
460 //P3:627 | |
461 asm( | |
462 "addb $2, %b0 \n\t" | |
463 " js 1f \n\t" | |
464 "movb %b0, %1 \n\t" | |
465 "1: \n\t" | |
466 : "+q"(s), "=m"(*state) | |
467 ); | |
468 #else | |
469 *state= c->mps_state[s]; //P3:655 | |
470 /* if(s<126) //P3:657 | |
471 *state= s+2;*/ | |
472 s+=2; //P3:631 | |
473 if(s<128) | |
474 *state= s; | |
475 #endif | |
476 renorm_cabac_decoder_once(c); | 460 renorm_cabac_decoder_once(c); |
477 }else{ | 461 }else{ |
478 bit= ff_h264_norm_shift[RangeLPS>>19]; | 462 bit= ff_h264_norm_shift[RangeLPS>>19]; |
479 c->low -= c->range; | 463 c->low -= c->range; |
480 *state= c->lps_state[s]; | 464 *state= c->lps_state[s]; |