rv10/20: tell decoder to use edge emulation
authorKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 17 Aug 2011 08:36:33 +0000 (10:36 +0200)
committerDiego Biurrun <diego@biurrun.de>
Wed, 17 Aug 2011 12:53:34 +0000 (14:53 +0200)
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@biurrun.de>
libavcodec/rv10.c

index 3939984..d789eff 100644 (file)
@@ -431,6 +431,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;