diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2008-11-29 06:22:31 +0000 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2008-11-29 06:22:31 +0000 |
commit | de8cac167d52557aa0aced5c013c98f44ade98cf (patch) | |
tree | 8bb987a58e5fcb1b0659c909f4699c2a30796001 /libavcodec/rv34.c | |
parent | 10ac361827dc1f9a2a355f037d40a2912203acd4 (diff) | |
download | ffmpeg-streaming-de8cac167d52557aa0aced5c013c98f44ade98cf.zip ffmpeg-streaming-de8cac167d52557aa0aced5c013c98f44ade98cf.tar.gz |
Invoke future RV30/40 loop filter for already decoded rows instead of
the whole frame at once.
Originally committed as revision 15949 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/rv34.c')
-rw-r--r-- | libavcodec/rv34.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index 9f84c4d..bd0dfff 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -1285,6 +1285,9 @@ static int rv34_decode_slice(RV34DecContext *r, int end, uint8_t* buf, int buf_s memmove(r->intra_types_hist, r->intra_types, s->b4_stride * 4 * sizeof(*r->intra_types_hist)); memset(r->intra_types, -1, s->b4_stride * 4 * sizeof(*r->intra_types_hist)); + + if(r->loop_filter && s->mb_y >= 2) + r->loop_filter(r, s->mb_y - 2); } if(s->mb_x == s->resync_mb_x) s->first_slice_line=0; @@ -1405,7 +1408,7 @@ int ff_rv34_decode_frame(AVCodecContext *avctx, if(last){ if(r->loop_filter) - r->loop_filter(r); + r->loop_filter(r, s->mb_height - 1); ff_er_frame_end(s); MPV_frame_end(s); if (s->pict_type == FF_B_TYPE || s->low_delay) { |