[FFmpeg-cvslog] r23346 - trunk/libavcodec/vp3.c
conrad
subversion
Thu May 27 06:39:13 CEST 2010
Author: conrad
Date: Thu May 27 06:39:12 2010
New Revision: 23346
Log:
vp3: Skip the loop filter when strength is 0 or when requested
Modified:
trunk/libavcodec/vp3.c
Modified: trunk/libavcodec/vp3.c
==============================================================================
--- trunk/libavcodec/vp3.c Thu May 27 06:25:50 2010 (r23345)
+++ trunk/libavcodec/vp3.c Thu May 27 06:39:12 2010 (r23346)
@@ -136,6 +136,7 @@ typedef struct Vp3DecodeContext {
DSPContext dsp;
int flipped_image;
int last_slice_end;
+ int skip_loop_filter;
int qps[3];
int nqps;
@@ -1494,7 +1495,8 @@ static void render_slice(Vp3DecodeContex
}
// Filter up to the last row in the superblock row
- apply_loop_filter(s, plane, 4*sb_y - !!sb_y, FFMIN(4*sb_y+3, fragment_height-1));
+ if (!s->skip_loop_filter)
+ apply_loop_filter(s, plane, 4*sb_y - !!sb_y, FFMIN(4*sb_y+3, fragment_height-1));
}
}
@@ -1749,6 +1751,9 @@ static int vp3_decode_frame(AVCodecConte
s->keyframe?"key":"", counter, s->qps[0]);
counter++;
+ s->skip_loop_filter = !s->filter_limit_values[s->qps[0]] ||
+ avctx->skip_loop_filter >= (s->keyframe ? AVDISCARD_ALL : AVDISCARD_NONKEY);
+
if (s->qps[0] != s->last_qps[0])
init_loop_filter(s);
More information about the ffmpeg-cvslog
mailing list