From 87df989ee366852c5a84eba84daf093449c3c7da Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 20 Jan 2010 01:15:30 +0000 Subject: Merge multiple IS_* macro uses where possible. Originally committed as revision 21340 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264_cavlc.c | 3 +-- libavcodec/h264_loopfilter.c | 8 +++----- 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c index e71ded1e53..b662ee821f 100644 --- a/libavcodec/h264_cavlc.c +++ b/libavcodec/h264_cavlc.c @@ -682,8 +682,7 @@ decode_intra_mb: sub_partition_count[i]= b_sub_mb_type_info[ h->sub_mb_type[i] ].partition_count; h->sub_mb_type[i]= b_sub_mb_type_info[ h->sub_mb_type[i] ].type; } - if( IS_DIRECT(h->sub_mb_type[0]) || IS_DIRECT(h->sub_mb_type[1]) - || IS_DIRECT(h->sub_mb_type[2]) || IS_DIRECT(h->sub_mb_type[3])) { + if( IS_DIRECT(h->sub_mb_type[0]|h->sub_mb_type[1]|h->sub_mb_type[2]|h->sub_mb_type[3])) { ff_h264_pred_direct_motion(h, &mb_type); h->ref_cache[0][scan8[4]] = h->ref_cache[1][scan8[4]] = diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c index 500efb6339..5ee3ecaa6a 100644 --- a/libavcodec/h264_loopfilter.c +++ b/libavcodec/h264_loopfilter.c @@ -444,8 +444,7 @@ static av_always_inline void filter_mb_dir(H264Context *h, int mb_x, int mb_y, u if (FRAME_MBAFF && (dir == 1) && ((mb_y&1) == 0) && start == 0 - && !IS_INTERLACED(mb_type) - && IS_INTERLACED(mbm_type) + && IS_INTERLACED(mbm_type&~mb_type) ) { // This is a special case in the norm where the filtering must // be done twice (one each of the field) even if we are in a @@ -459,8 +458,7 @@ static av_always_inline void filter_mb_dir(H264Context *h, int mb_x, int mb_y, u int16_t bS[4]; for(j=0; j<2; j++, mbn_xy += s->mb_stride){ - if( IS_INTRA(mb_type) || - IS_INTRA(s->current_picture.mb_type[mbn_xy]) ) { + if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) { bS[0] = bS[1] = bS[2] = bS[3] = 3; } else { const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy]; @@ -626,7 +624,7 @@ void ff_h264_filter_mb( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint // left mb is in picture && h->slice_table[mb_xy-1] != 0xFFFF // and current and left pair do not have the same interlaced type - && (IS_INTERLACED(mb_type) != IS_INTERLACED(s->current_picture.mb_type[mb_xy-1])) + && IS_INTERLACED(mb_type^s->current_picture.mb_type[mb_xy-1]) // and left mb is in the same slice if deblocking_filter == 2 && (h->deblocking_filter!=2 || h->slice_table[mb_xy-1] == h->slice_num)) { /* First vertical edge is different in MBAFF frames -- cgit v1.2.3