[FFmpeg-cvslog] rv10/20: tell decoder to use edge emulation

Kostya Shishkov git at videolan.org
Thu Sep 22 01:17:24 CEST 2011


ffmpeg | branch: release/0.8 | Kostya Shishkov <kostya.shishkov at gmail.com> | Wed Aug 17 10:36:33 2011 +0200| [303e48e6a24bbc34148457137cfffc53185fa7d3] | committer: Anton Khirnov

rv10/20: tell decoder to use edge emulation

This removes out-of-edge motion compensation artifacts (easily spotted green
blocks in avplay, gray blocks in transcoding), for example here:
http://samples.libav.org/samples/real/tv_watching_t1.rm

Signed-off-by: Diego Biurrun <diego at biurrun.de>
(cherry picked from commit 331971116d7d36743601bd2dc5384c5211d3bb48)

Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=303e48e6a24bbc34148457137cfffc53185fa7d3
---

 libavcodec/rv10.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index 6227dc6..78f97b1 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -438,6 +438,7 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx)
     s->avctx= avctx;
     s->out_format = FMT_H263;
     s->codec_id= avctx->codec_id;
+    avctx->flags |= CODEC_FLAG_EMU_EDGE;
 
     s->orig_width = s->width  = avctx->coded_width;
     s->orig_height= s->height = avctx->coded_height;



More information about the ffmpeg-cvslog mailing list