[FFmpeg-cvslog] r21288 - trunk/libavcodec/h264_loopfilter.c
michael
subversion
Mon Jan 18 17:16:22 CET 2010
Author: michael
Date: Mon Jan 18 17:16:22 2010
New Revision: 21288
Log:
Reenable filter_mb_fast for I slices and progressive CABAC P slices.
Modified:
trunk/libavcodec/h264_loopfilter.c
Modified: trunk/libavcodec/h264_loopfilter.c
==============================================================================
--- trunk/libavcodec/h264_loopfilter.c Mon Jan 18 17:11:13 2010 (r21287)
+++ trunk/libavcodec/h264_loopfilter.c Mon Jan 18 17:16:22 2010 (r21288)
@@ -334,8 +334,10 @@ void ff_h264_filter_mb_fast( H264Context
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;
More information about the ffmpeg-cvslog
mailing list