# HG changeset patch # User michael # Date 1263831382 0 # Node ID f36f33e673b411c59bcd2e2067448d2c124bb563 # Parent 895df334c326fadbb501b90ef36726f95e6699ab Reenable filter_mb_fast for I slices and progressive CABAC P slices. diff -r 895df334c326 -r f36f33e673b4 h264_loopfilter.c --- a/h264_loopfilter.c Mon Jan 18 16:11:13 2010 +0000 +++ b/h264_loopfilter.c Mon Jan 18 16:16:22 2010 +0000 @@ -334,8 +334,10 @@ mb_xy = h->mb_xy; if(mb_x==0 || mb_y==mb_y_firstrow || !s->dsp.h264_loop_filter_strength || h->pps.chroma_qp_diff || - !(s->flags2 & CODEC_FLAG2_FAST) || //FIXME filter_mb_fast is broken, thus hasto be, but should not under CODEC_FLAG2_FAST - (h->deblocking_filter == 2 && (h->slice_table[mb_xy] != h->slice_table[h->top_mb_xy] || + !(h->slice_type_nos == FF_I_TYPE || + (CABAC && h->slice_type_nos == FF_P_TYPE && !FIELD_PICTURE) || + (s->flags2 & CODEC_FLAG2_FAST)) || + (h->deblocking_filter == 2 && (h->slice_table[mb_xy] != h->slice_table[h->top_mb_xy] || //use slice_num h->slice_table[mb_xy] != h->slice_table[mb_xy - 1]))) { ff_h264_filter_mb(h, mb_x, mb_y, img_y, img_cb, img_cr, linesize, uvlinesize); return;