[SCM] libav/experimental: Reenable filter_mb_fast for I slices and progressive CABAC P slices.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:57:58 UTC 2013


The following commit has been merged in the experimental branch:
commit a8f49215955f100b9436c74c7b4faab368dfc795
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jan 18 16:16:22 2010 +0000

    Reenable filter_mb_fast for I slices and progressive CABAC P slices.
    
    Originally committed as revision 21288 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c
index 260372c..56b1c17 100644
--- a/libavcodec/h264_loopfilter.c
+++ b/libavcodec/h264_loopfilter.c
@@ -334,8 +334,10 @@ void ff_h264_filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t *img_y,
     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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list