[FFmpeg-cvslog] r21340 - in trunk/libavcodec: h264_cavlc.c h264_loopfilter.c

michael subversion
Wed Jan 20 02:15:30 CET 2010


Author: michael
Date: Wed Jan 20 02:15:30 2010
New Revision: 21340

Log:
Merge multiple IS_* macro uses where possible.

Modified:
   trunk/libavcodec/h264_cavlc.c
   trunk/libavcodec/h264_loopfilter.c

Modified: trunk/libavcodec/h264_cavlc.c
==============================================================================
--- trunk/libavcodec/h264_cavlc.c	Wed Jan 20 01:44:03 2010	(r21339)
+++ trunk/libavcodec/h264_cavlc.c	Wed Jan 20 02:15:30 2010	(r21340)
@@ -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]] =

Modified: trunk/libavcodec/h264_loopfilter.c
==============================================================================
--- trunk/libavcodec/h264_loopfilter.c	Wed Jan 20 01:44:03 2010	(r21339)
+++ trunk/libavcodec/h264_loopfilter.c	Wed Jan 20 02:15:30 2010	(r21340)
@@ -444,8 +444,7 @@ static av_always_inline void filter_mb_d
 
 
     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_d
         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, 
             // 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



More information about the ffmpeg-cvslog mailing list