[FFmpeg-cvslog] r21459 - trunk/libavcodec/h264_loopfilter.c

michael subversion
Tue Jan 26 15:57:53 CET 2010


Author: michael
Date: Tue Jan 26 15:57:53 2010
New Revision: 21459

Log:
Use left_mb_xy from fill_caches instead of recalculating it.

Modified:
   trunk/libavcodec/h264_loopfilter.c

Modified: trunk/libavcodec/h264_loopfilter.c
==============================================================================
--- trunk/libavcodec/h264_loopfilter.c	Tue Jan 26 15:55:19 2010	(r21458)
+++ trunk/libavcodec/h264_loopfilter.c	Tue Jan 26 15:57:53 2010	(r21459)
@@ -622,8 +622,6 @@ void ff_h264_filter_mb( H264Context *h, 
         /* First vertical edge is different in MBAFF frames
          * There are 8 different bS to compute and 2 different Qp
          */
-        const int pair_xy = mb_x + (mb_y&~1)*s->mb_stride;
-        const int left_mb_xy[2] = { pair_xy-1, pair_xy-1+s->mb_stride };
         DECLARE_ALIGNED_8(int16_t, bS)[8];
         int qp[2];
         int bqp[2];
@@ -637,7 +635,7 @@ void ff_h264_filter_mb( H264Context *h, 
             *(uint64_t*)&bS[4]= 0x0004000400040004ULL;
         else {
             for( i = 0; i < 8; i++ ) {
-                int mbn_xy = MB_FIELD ? left_mb_xy[i>>2] : left_mb_xy[i&1];
+                int mbn_xy = MB_FIELD ? h->left_mb_xy[i>>2] : h->left_mb_xy[i&1];
 
                 if( IS_INTRA( s->current_picture.mb_type[mbn_xy] ) )
                     bS[i] = 4;
@@ -653,8 +651,8 @@ void ff_h264_filter_mb( H264Context *h, 
         }
 
         mb_qp = s->current_picture.qscale_table[mb_xy];
-        mbn0_qp = s->current_picture.qscale_table[left_mb_xy[0]];
-        mbn1_qp = s->current_picture.qscale_table[left_mb_xy[1]];
+        mbn0_qp = s->current_picture.qscale_table[h->left_mb_xy[0]];
+        mbn1_qp = s->current_picture.qscale_table[h->left_mb_xy[1]];
         qp[0] = ( mb_qp + mbn0_qp + 1 ) >> 1;
         bqp[0] = ( get_chroma_qp( h, 0, mb_qp ) +
                    get_chroma_qp( h, 0, mbn0_qp ) + 1 ) >> 1;



More information about the ffmpeg-cvslog mailing list