diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index 8b2ef119211aaea43fb74a95d835036b16e9d12f..e705da6281158ea65cd91962a0bd7e1e18352ece 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -353,6 +353,12 @@ static int decode_frame(AVCodecContext *avctx,
         av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
         return ret;
     }
+    if (!avctx->frame_number) {
+        for (i=0; i<avctx->height; i++)
+            memset(s->frame.data[0]+ i*s->frame.linesize[0], 0, avctx->width);
+        memset(s->frame.data[1], 0, AVPALETTE_SIZE);
+    }
+
     s->frame.pict_type           = AV_PICTURE_TYPE_I;
     s->frame.palette_has_changed = 1;
     set_palette((uint32_t *)s->frame.data[1]);
diff --git a/libavcodec/wnv1.c b/libavcodec/wnv1.c
index 5dffde1fec229d10ec70586e04b85fe883d58d05..c59ceb7f1d5d971a0ada8545e5b48e04fb203cd4 100644
--- a/libavcodec/wnv1.c
+++ b/libavcodec/wnv1.c
@@ -30,7 +30,7 @@
 #include "mathops.h"
 
 
-typedef struct WNV1Context{
+typedef struct WNV1Context {
     AVCodecContext *avctx;
     AVFrame pic;
 
@@ -38,10 +38,10 @@ typedef struct WNV1Context{
     GetBitContext gb;
 } WNV1Context;
 
-static const uint16_t code_tab[16][2]={
-{0x1FD,9}, {0xFD,8}, {0x7D,7}, {0x3D,6}, {0x1D,5}, {0x0D,4}, {0x005,3},
-{0x000,1},
-{0x004,3}, {0x0C,4}, {0x1C,5}, {0x3C,6}, {0x7C,7}, {0xFC,8}, {0x1FC,9}, {0xFF,8}
+static const uint16_t code_tab[16][2] = {
+    { 0x1FD, 9 }, { 0xFD, 8 }, { 0x7D, 7 }, { 0x3D, 6 }, { 0x1D, 5 }, { 0x0D, 4 }, { 0x005, 3 },
+    { 0x000, 1 },
+    { 0x004, 3 }, { 0x0C, 4 }, { 0x1C, 5 }, { 0x3C, 6 }, { 0x7C, 7 }, { 0xFC, 8 }, { 0x1FC, 9 }, { 0xFF, 8 }
 };
 
 #define CODE_VLC_BITS 9
@@ -52,20 +52,20 @@ static inline int wnv1_get_code(WNV1Context *w, int base_value)
 {
     int v = get_vlc2(&w->gb, code_vlc.table, CODE_VLC_BITS, 1);
 
-    if(v==15)
-        return ff_reverse[ get_bits(&w->gb, 8 - w->shift) ];
+    if (v == 15)
+        return ff_reverse[get_bits(&w->gb, 8 - w->shift)];
     else
-        return base_value + ((v - 7)<<w->shift);
+        return base_value + ((v - 7) << w->shift);
 }
 
 static int decode_frame(AVCodecContext *avctx,
                         void *data, int *got_frame,
                         AVPacket *avpkt)
 {
-    const uint8_t *buf = avpkt->data;
-    int buf_size = avpkt->size;
     WNV1Context * const l = avctx->priv_data;
-    AVFrame * const p = &l->pic;
+    const uint8_t *buf    = avpkt->data;
+    int buf_size          = avpkt->size;
+    AVFrame * const p     = &l->pic;
     unsigned char *Y,*U,*V;
     int i, j, ret;
     int prev_y = 0, prev_u = 0, prev_v = 0;
@@ -77,12 +77,12 @@ static int decode_frame(AVCodecContext *avctx,
     }
 
     rbuf = av_malloc(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);
-    if(!rbuf){
+    if (!rbuf) {
         av_log(avctx, AV_LOG_ERROR, "Cannot allocate temporary buffer\n");
         return AVERROR(ENOMEM);
     }
 
-    if(p->data[0])
+    if (p->data[0])
         avctx->release_buffer(avctx, p);
 
     p->reference = 0;
@@ -93,9 +93,9 @@ static int decode_frame(AVCodecContext *avctx,
     }
     p->key_frame = 1;
 
-    for(i=8; i<buf_size; i++)
-        rbuf[i]= ff_reverse[ buf[i] ];
-    init_get_bits(&l->gb, rbuf+8, (buf_size-8)*8);
+    for (i = 8; i < buf_size; i++)
+        rbuf[i] = ff_reverse[buf[i]];
+    init_get_bits(&l->gb, rbuf + 8, (buf_size - 8) * 8);
 
     if (buf[2] >> 4 == 6)
         l->shift = 2;
@@ -136,15 +136,16 @@ static int decode_frame(AVCodecContext *avctx,
     return buf_size;
 }
 
-static av_cold int decode_init(AVCodecContext *avctx){
+static av_cold int decode_init(AVCodecContext *avctx)
+{
     WNV1Context * const l = avctx->priv_data;
     static VLC_TYPE code_table[1 << CODE_VLC_BITS][2];
 
-    l->avctx = avctx;
+    l->avctx       = avctx;
     avctx->pix_fmt = AV_PIX_FMT_YUV422P;
     avcodec_get_frame_defaults(&l->pic);
 
-    code_vlc.table = code_table;
+    code_vlc.table           = code_table;
     code_vlc.table_allocated = 1 << CODE_VLC_BITS;
     init_vlc(&code_vlc, CODE_VLC_BITS, 16,
              &code_tab[0][1], 4, 2,
@@ -153,7 +154,8 @@ static av_cold int decode_init(AVCodecContext *avctx){
     return 0;
 }
 
-static av_cold int decode_end(AVCodecContext *avctx){
+static av_cold int decode_end(AVCodecContext *avctx)
+{
     WNV1Context * const l = avctx->priv_data;
     AVFrame *pic = &l->pic;
 
diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index 2aa420e5083bd0c484e00a55497aa1bc6a768ef2..899c1f1d2213377ba63d65cebe397e78a0a0994f 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -518,66 +518,65 @@ static int xan_decode_frame(AVCodecContext *avctx,
     const uint8_t *buf = avpkt->data;
     int ret, buf_size = avpkt->size;
     XanContext *s = avctx->priv_data;
-
-    if (avctx->codec->id == AV_CODEC_ID_XAN_WC3) {
-        const uint8_t *buf_end = buf + buf_size;
-        int tag = 0;
-        while (buf_end - buf > 8 && tag != VGA__TAG) {
-            unsigned *tmpptr;
-            uint32_t new_pal;
-            int size;
-            int i;
-            tag  = bytestream_get_le32(&buf);
-            size = bytestream_get_be32(&buf);
-            if(size < 0) {
-                av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size);
+    const uint8_t *buf_end = buf + buf_size;
+    int tag = 0;
+
+    while (buf_end - buf > 8 && tag != VGA__TAG) {
+        unsigned *tmpptr;
+        uint32_t new_pal;
+        int size;
+        int i;
+        tag  = bytestream_get_le32(&buf);
+        size = bytestream_get_be32(&buf);
+        if(size < 0) {
+            av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size);
+            return AVERROR_INVALIDDATA;
+        }
+        size = FFMIN(size, buf_end - buf);
+        switch (tag) {
+        case PALT_TAG:
+            if (size < PALETTE_SIZE)
                 return AVERROR_INVALIDDATA;
-            }
-            size = FFMIN(size, buf_end - buf);
-            switch (tag) {
-            case PALT_TAG:
-                if (size < PALETTE_SIZE)
-                    return AVERROR_INVALIDDATA;
-                if (s->palettes_count >= PALETTES_MAX)
-                    return AVERROR_INVALIDDATA;
-                tmpptr = av_realloc(s->palettes,
-                                    (s->palettes_count + 1) * AVPALETTE_SIZE);
-                if (!tmpptr)
-                    return AVERROR(ENOMEM);
-                s->palettes = tmpptr;
-                tmpptr += s->palettes_count * AVPALETTE_COUNT;
-                for (i = 0; i < PALETTE_COUNT; i++) {
+            if (s->palettes_count >= PALETTES_MAX)
+                return AVERROR_INVALIDDATA;
+            tmpptr = av_realloc(s->palettes,
+                                (s->palettes_count + 1) * AVPALETTE_SIZE);
+            if (!tmpptr)
+                return AVERROR(ENOMEM);
+            s->palettes = tmpptr;
+            tmpptr += s->palettes_count * AVPALETTE_COUNT;
+            for (i = 0; i < PALETTE_COUNT; i++) {
 #if RUNTIME_GAMMA
-                    int r = gamma_corr(*buf++);
-                    int g = gamma_corr(*buf++);
-                    int b = gamma_corr(*buf++);
+                int r = gamma_corr(*buf++);
+                int g = gamma_corr(*buf++);
+                int b = gamma_corr(*buf++);
 #else
-                    int r = gamma_lookup[*buf++];
-                    int g = gamma_lookup[*buf++];
-                    int b = gamma_lookup[*buf++];
+                int r = gamma_lookup[*buf++];
+                int g = gamma_lookup[*buf++];
+                int b = gamma_lookup[*buf++];
 #endif
-                    *tmpptr++ = (0xFFU << 24) | (r << 16) | (g << 8) | b;
-                }
-                s->palettes_count++;
-                break;
-            case SHOT_TAG:
-                if (size < 4)
-                    return AVERROR_INVALIDDATA;
-                new_pal = bytestream_get_le32(&buf);
-                if (new_pal < s->palettes_count) {
-                    s->cur_palette = new_pal;
-                } else
-                    av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n");
-                break;
-            case VGA__TAG:
-                break;
-            default:
-                buf += size;
-                break;
+                *tmpptr++ = (0xFFU << 24) | (r << 16) | (g << 8) | b;
             }
+            s->palettes_count++;
+            break;
+        case SHOT_TAG:
+            if (size < 4)
+                return AVERROR_INVALIDDATA;
+            new_pal = bytestream_get_le32(&buf);
+            if (new_pal < s->palettes_count) {
+                s->cur_palette = new_pal;
+            } else
+                av_log(avctx, AV_LOG_ERROR, "Invalid palette selected\n");
+            break;
+        case VGA__TAG:
+            break;
+        default:
+            buf += size;
+            break;
         }
-        buf_size = buf_end - buf;
     }
+    buf_size = buf_end - buf;
+
     if (s->palettes_count <= 0) {
         av_log(s->avctx, AV_LOG_ERROR, "No palette found\n");
         return AVERROR_INVALIDDATA;
diff --git a/libavcodec/zerocodec.c b/libavcodec/zerocodec.c
index cba3198473e718ed4586f2216394105bcbb39f11..8122cca3b2745bd53b76cd69e7eade93a6045b63 100644
--- a/libavcodec/zerocodec.c
+++ b/libavcodec/zerocodec.c
@@ -25,7 +25,6 @@
 typedef struct {
     AVFrame  previous_frame;
     z_stream zstream;
-    int      size;
 } ZeroCodecContext;
 
 static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
@@ -136,9 +135,6 @@ static av_cold int zerocodec_decode_init(AVCodecContext *avctx)
     avctx->pix_fmt             = AV_PIX_FMT_UYVY422;
     avctx->bits_per_raw_sample = 8;
 
-    zc->size = avpicture_get_size(avctx->pix_fmt,
-                                  avctx->width, avctx->height);
-
     zstream->zalloc = Z_NULL;
     zstream->zfree  = Z_NULL;
     zstream->opaque = Z_NULL;
diff --git a/libavcodec/zmbv.c b/libavcodec/zmbv.c
index 167f6f8826fc889ea1144049b26f5f4e2f98f325..83743c52a2022792d0038a63628c807ff7e28963 100644
--- a/libavcodec/zmbv.c
+++ b/libavcodec/zmbv.c
@@ -608,13 +608,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac
     return buf_size;
 }
 
-
-
-/*
- *
- * Init zmbv decoder
- *
- */
 static av_cold int decode_init(AVCodecContext *avctx)
 {
     ZmbvContext * const c = avctx->priv_data;
@@ -655,13 +648,6 @@ static av_cold int decode_init(AVCodecContext *avctx)
     return 0;
 }
 
-
-
-/*
- *
- * Uninit zmbv decoder
- *
- */
 static av_cold int decode_end(AVCodecContext *avctx)
 {
     ZmbvContext * const c = avctx->priv_data;