[FFmpeg-cvslog] r21453 - trunk/libavcodec/h264.h

michael subversion
Tue Jan 26 14:27:22 CET 2010


Author: michael
Date: Tue Jan 26 14:27:22 2010
New Revision: 21453

Log:
Fix qp_thres loop filter check for MBAFF.

Modified:
   trunk/libavcodec/h264.h

Modified: trunk/libavcodec/h264.h
==============================================================================
--- trunk/libavcodec/h264.h	Tue Jan 26 11:35:36 2010	(r21452)
+++ trunk/libavcodec/h264.h	Tue Jan 26 14:27:22 2010	(r21453)
@@ -799,9 +799,12 @@ static av_always_inline int fill_caches(
         int qp = s->current_picture.qscale_table[mb_xy];
         if(qp <= qp_thresh
            && (left_xy[0]<0 || ((qp + s->current_picture.qscale_table[left_xy[0]] + 1)>>1) <= qp_thresh)
-           && (left_xy[1]<0 || ((qp + s->current_picture.qscale_table[left_xy[1]] + 1)>>1) <= qp_thresh)
            && (top_xy   < 0 || ((qp + s->current_picture.qscale_table[top_xy ] + 1)>>1) <= qp_thresh)){
-            return 1;
+            if(!FRAME_MBAFF)
+                return 1;
+            if(   (left_xy[0]< 0            || ((qp + s->current_picture.qscale_table[left_xy[0]+s->mb_stride] + 1)>>1) <= qp_thresh)
+               && (top_xy    < s->mb_stride || ((qp + s->current_picture.qscale_table[top_xy    -s->mb_stride] + 1)>>1) <= qp_thresh))
+                return 1;
         }
         if(IS_INTRA(mb_type))
             return 0;



More information about the ffmpeg-cvslog mailing list