changeset 10946:5a23fa01dec1 libavcodec

Merge multiple IS_* macro uses where possible.
author michael
date Wed, 20 Jan 2010 01:15:30 +0000
parents 0d93bbc17950
children df6bda2aa59a
files h264_cavlc.c h264_loopfilter.c
diffstat 2 files changed, 4 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/h264_cavlc.c	Wed Jan 20 00:44:03 2010 +0000
+++ b/h264_cavlc.c	Wed Jan 20 01:15:30 2010 +0000
@@ -682,8 +682,7 @@
                 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]] =
--- a/h264_loopfilter.c	Wed Jan 20 00:44:03 2010 +0000
+++ b/h264_loopfilter.c	Wed Jan 20 01:15:30 2010 +0000
@@ -444,8 +444,7 @@
 
 
     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 @@
         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 @@
             // 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