From 3cc0252732513dc7411093935821b1eb6416a9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Pietil=C3=A4?= Date: Sat, 13 Oct 2012 12:43:24 +0200 Subject: [PATCH] vp8dec: reset loopfilter delta values at keyframes 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 --- libavcodec/vp8.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 3f07b90b26..0bb5495b2c 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)); } ff_vp56_init_range_decoder(c, buf, header_size);