From 62ef8925c5bbc7b74d3263838f31e8d02bdb9376 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 25 Mar 2007 13:41:14 +0000 Subject: simplify Originally committed as revision 8509 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/lzw.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'libavcodec/lzw.c') diff --git a/libavcodec/lzw.c b/libavcodec/lzw.c index 11a6bf0578..cb12eb8573 100644 --- a/libavcodec/lzw.c +++ b/libavcodec/lzw.c @@ -55,7 +55,7 @@ struct LZWState { int end_code; int newcodes; ///< First available code int top_slot; ///< Highest code for current size - int top_slot2; ///< Highest possible code for current size (<=top_slot) + int extra_slot; int slot; ///< Last read code int fc, oc; uint8_t *sp; @@ -158,10 +158,10 @@ int ff_lzw_decode_init(LZWState *p, int csize, uint8_t *buf, int buf_size, int m s->mode = mode; switch(s->mode){ case FF_LZW_GIF: - s->top_slot2 = s->top_slot; + s->extra_slot= 0; break; case FF_LZW_TIFF: - s->top_slot2 = s->top_slot - 1; + s->extra_slot= 1; break; default: return -1; @@ -208,9 +208,6 @@ int ff_lzw_decode(LZWState *p, uint8_t *buf, int len){ s->curmask = mask[s->cursize]; s->slot = s->newcodes; s->top_slot = 1 << s->cursize; - s->top_slot2 = s->top_slot; - if(s->mode == FF_LZW_TIFF) - s->top_slot2--; while ((c = lzw_get_code(s)) == s->clear_code); if (c == s->end_code) { s->end_code = -1; @@ -239,12 +236,9 @@ int ff_lzw_decode(LZWState *p, uint8_t *buf, int len){ s->prefix[s->slot++] = oc; oc = c; } - if (s->slot >= s->top_slot2) { + if (s->slot >= s->top_slot - s->extra_slot) { if (s->cursize < LZW_MAXBITS) { s->top_slot <<= 1; - s->top_slot2 = s->top_slot; - if(s->mode == FF_LZW_TIFF) - s->top_slot2--; s->curmask = mask[++s->cursize]; } } -- cgit v1.2.3