[FFmpeg-devel] Fix for FFMPEG vp8dec loopfilter delta values reset at keyframes

Sami Pietilä samipietila at google.com
Mon Oct 15 08:03:34 CEST 2012


Hi,

please find attached a stream for reproducing this issue. It's CIF
resolution 8 frames high QP, with pics=5 and 7 having multiple occurences
of the issue.

Br, Sami


On Fri, Oct 12, 2012 at 5:20 PM, Ronald Bultje <rbultje at google.com> wrote:

> Hi Sami,
>
> On Fri, Oct 12, 2012 at 3:42 AM, Sami Pietilä <samipietila at google.com>
> wrote:
> >
> > Hi all,
> >
> > while testing a VP8 encoder I found a mismatch between FFMPEG and libvpx
> VP8
> > decoders. The reason for this mismatch is that FFMPEG doesn't reset
> > loopfilter delta values at keyframes. Patch that fixes the issue is
> below.
> > I've verified that the output of ffmpeg after this patch matches libvpx.
> If
> > you need I can send you a stream that shows the issue.
> >
> > Br,
> > Sami Pietila
> >
> >
> > diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
> > index 3f07b90..0bb5495 100644
> > --- a/libavcodec/vp8.c
> > +++ b/libavcodec/vp8.c
> > @@ -353,6 +353,7 @@ static int decode_frame_header(VP8Context *s, const
> > uint8_t *buf, int
> > buf_size)
> >          memcpy(s->prob->pred8x8c , vp8_pred8x8c_prob_inter ,
> > sizeof(s->prob->pred8x8c));
> >          memcpy(s->prob->mvc      , vp8_mv_default_prob     ,
> > sizeof(s->prob->mvc));
> >          memset(&s->segmentation, 0, sizeof(s->segmentation));
> > +        memset(&s->lf_delta, 0, sizeof(s->lf_delta));
> >      }
>
> Nice catch, thanks for noticing. I've applied it upstream (will flow
> to ffmpeg-devel in a few hours), and I'll update Chrome's tree ASAP.
> As Luca said on libav-devel, a test vector would be nice for
> archiving/regression testing purposes if it's not too much of a
> hassle.
>
> Ronald
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lf_delta_keyframe_reset.ivf
Type: application/octet-stream
Size: 9390 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20121015/ce688b18/attachment.obj>


More information about the ffmpeg-devel mailing list