summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/lzwenc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libavcodec/lzwenc.c b/libavcodec/lzwenc.c
index 5b448953c8..6b9b8d47af 100644
--- a/libavcodec/lzwenc.c
+++ b/libavcodec/lzwenc.c
@@ -232,13 +232,12 @@ int ff_lzw_encode(LZWEncodeState * s, const uint8_t * inbuf, int insize)
for (i = 0; i < insize; i++) {
uint8_t c = *inbuf++;
int code = findCode(s, c, code_prefix);
- if (s->tab[code].hash_prefix != LZW_PREFIX_FREE) {
- code_prefix = s->tab[code].code;
- } else {
+ if (s->tab[code].hash_prefix == LZW_PREFIX_FREE) {
writeCode(s, code_prefix);
addCode(s, c, code_prefix, code);
- code_prefix = s->tab[hash(0, c)].code;
+ code= hash(0, c);
}
+ code_prefix = s->tab[code].code;
if (s->tabsize >= s->maxcode - 1) {
clearTable(s);
}