From 22f7942fe7d7349e3562ac68fa101d9efec522df Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Thu, 25 Oct 2012 15:42:08 +0200 Subject: ffv1: set the range coder state in decode_slice_header --- libavcodec/ffv1dec.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavcodec/ffv1dec.c') diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index f5f7a8f2f5..c5329b42ad 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -273,7 +273,12 @@ static int decode_slice_header(FFV1Context *f, FFV1Context *fs) unsigned ps, i, context_count; memset(state, 128, sizeof(state)); - av_assert0(f->version > 2); + if (fs->ac > 1) { + for (i = 1; i < 256; i++) { + fs->c.one_state[i] = f->state_transition[i]; + fs->c.zero_state[256 - i] = 256 - fs->c.one_state[i]; + } + } fs->slice_x = get_symbol(c, state, 0) * f->width; fs->slice_y = get_symbol(c, state, 0) * f->height; -- cgit v1.2.3