# HG changeset patch # User michael # Date 1264512442 0 # Node ID 3d842612394795ea07e8ab24c46ea3e109fd05c4 # Parent ec192d9ebac59b4e2f061082ed0a1559eda7cca2 Fix qp_thres loop filter check for MBAFF. diff -r ec192d9ebac5 -r 3d8426123947 h264.h --- a/h264.h Tue Jan 26 10:35:36 2010 +0000 +++ b/h264.h Tue Jan 26 13:27:22 2010 +0000 @@ -799,9 +799,12 @@ 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;