diff options
Diffstat (limited to 'libavcodec/ansi.c')
-rw-r--r-- | libavcodec/ansi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c index 6afd17c3dd..35725005e7 100644 --- a/libavcodec/ansi.c +++ b/libavcodec/ansi.c @@ -58,6 +58,7 @@ typedef struct { int attributes; /**< attribute flags */ int fg; /**< foreground color */ int bg; /**< background color */ + int first_frame; /* ansi parser state machine */ enum { @@ -353,6 +354,10 @@ static int decode_frame(AVCodecContext *avctx, s->frame.pict_type = AV_PICTURE_TYPE_I; s->frame.palette_has_changed = 1; set_palette((uint32_t *)s->frame.data[1]); + if (!s->first_frame) { + erase_screen(avctx); + s->first_frame = 1; + } while(buf < buf_end) { switch(s->state) { |