vp8dec: reset loopfilter delta values at keyframes
authorSami Pietilä <samipietila@google.com>
Sat, 13 Oct 2012 10:43:24 +0000 (12:43 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 13 Oct 2012 10:43:24 +0000 (12:43 +0200)
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.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/vp8.c

index 3f07b90..0bb5495 100644 (file)
@@ -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));
     }
 
     ff_vp56_init_range_decoder(c, buf, header_size);