aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Strange <astrange@ithinksw.com>2010-03-26 05:04:03 +0000
committerAlexander Strange <astrange@ithinksw.com>2010-03-26 05:04:03 +0000
commit767738f7a31d0cc1d27a61d45ce9628e92d2bd6d (patch)
tree472f06e4f69e6a35acd362fc5f0d2997c9f0948b
parente644db613a8fe008c996ca642800f8ccd90e613f (diff)
downloadffmpeg-767738f7a31d0cc1d27a61d45ce9628e92d2bd6d.tar.gz
h264: Use + instead of | in some places
6 insns less on x86-64/gcc 4.2. Originally committed as revision 22692 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/h264_cabac.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c
index b0c2e3ae51..755fb48be8 100644
--- a/libavcodec/h264_cabac.c
+++ b/libavcodec/h264_cabac.c
@@ -827,13 +827,13 @@ static int decode_cabac_mb_cbp_luma( H264Context *h) {
cbp_b = h->top_cbp;
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);
- 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);
- 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);
- 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;
}
static int decode_cabac_mb_cbp_chroma( H264Context *h) {
@@ -1244,9 +1244,9 @@ int ff_h264_decode_mb_cabac(H264Context *h) {
}else{
int bits;
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] ) << 1;
- bits|= get_cabac_noinline( &h->cabac, &h->cabac_state[27+5] );
+ 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] );
if( bits < 8 ){
mb_type= bits + 3; /* B_Bi_16x16 through B_L1_L0_16x8 */
}else if( bits == 13 ){
@@ -1257,7 +1257,7 @@ int ff_h264_decode_mb_cabac(H264Context *h) {
}else if( bits == 15 ){
mb_type= 22; /* B_8x8 */
}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_* */
}
}