Commit 5cfb6673 authored by astrange's avatar astrange

h264: Use + instead of | in some places

6 insns less on x86-64/gcc 4.2.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@22692 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 94178464
...@@ -827,13 +827,13 @@ static int decode_cabac_mb_cbp_luma( H264Context *h) { ...@@ -827,13 +827,13 @@ static int decode_cabac_mb_cbp_luma( H264Context *h) {
cbp_b = h->top_cbp; cbp_b = h->top_cbp;
ctx = !(cbp_a & 0x02) + 2 * !(cbp_b & 0x04); ctx = !(cbp_a & 0x02) + 2 * !(cbp_b & 0x04);
cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]); cbp += get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]);
ctx = !(cbp & 0x01) + 2 * !(cbp_b & 0x08); ctx = !(cbp & 0x01) + 2 * !(cbp_b & 0x08);
cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 1; cbp += get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 1;
ctx = !(cbp_a & 0x08) + 2 * !(cbp & 0x01); ctx = !(cbp_a & 0x08) + 2 * !(cbp & 0x01);
cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 2; cbp += get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 2;
ctx = !(cbp & 0x04) + 2 * !(cbp & 0x02); ctx = !(cbp & 0x04) + 2 * !(cbp & 0x02);
cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 3; cbp += get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 3;
return cbp; return cbp;
} }
static int decode_cabac_mb_cbp_chroma( H264Context *h) { static int decode_cabac_mb_cbp_chroma( H264Context *h) {
...@@ -1244,9 +1244,9 @@ int ff_h264_decode_mb_cabac(H264Context *h) { ...@@ -1244,9 +1244,9 @@ int ff_h264_decode_mb_cabac(H264Context *h) {
}else{ }else{
int bits; int bits;
bits = get_cabac_noinline( &h->cabac, &h->cabac_state[27+4] ) << 3; bits = get_cabac_noinline( &h->cabac, &h->cabac_state[27+4] ) << 3;
bits|= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ) << 2; bits+= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ) << 2;
bits|= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ) << 1; bits+= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ) << 1;
bits|= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ); bits+= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] );
if( bits < 8 ){ if( bits < 8 ){
mb_type= bits + 3; /* B_Bi_16x16 through B_L1_L0_16x8 */ mb_type= bits + 3; /* B_Bi_16x16 through B_L1_L0_16x8 */
}else if( bits == 13 ){ }else if( bits == 13 ){
...@@ -1257,7 +1257,7 @@ int ff_h264_decode_mb_cabac(H264Context *h) { ...@@ -1257,7 +1257,7 @@ int ff_h264_decode_mb_cabac(H264Context *h) {
}else if( bits == 15 ){ }else if( bits == 15 ){
mb_type= 22; /* B_8x8 */ mb_type= 22; /* B_8x8 */
}else{ }else{
bits= ( bits<<1 ) | get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] ); bits= ( bits<<1 ) + get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] );
mb_type= bits - 4; /* B_L0_Bi_* through B_Bi_Bi_* */ mb_type= bits - 4; /* B_L0_Bi_* through B_Bi_Bi_* */
} }
} }
......
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