On Wed, Aug 17, 2011 at 09:22:00AM -0700, Ronald S. Bultje wrote: > Hi, > > On Wed, Aug 17, 2011 at 1:36 AM, Kostya Shishkov > <kostya.shish...@gmail.com> wrote: > > 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 > > --- > > libavcodec/rv10.c | 1 + > > 1 files changed, 1 insertions(+), 0 deletions(-) > > > > diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c > > index 3939984..d789eff 100644 > > --- a/libavcodec/rv10.c > > +++ b/libavcodec/rv10.c > > @@ -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; > > Why not just ignore CODEC_FLAG_EMU_EDGE presence during MC? I don't > like us overwriting user settings in AVCodecContext randomly. Some > apps may not expect that.
If you want to delve into mpegvideo gut and fix it it would extremely good. Other decoders (including e.g. VC-1 and 4XM) use the same trick too. _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel