stb_image: Fast path for matches with dist=1 (runs) in stbi__parse_huffman_block.

pull/57/head
Fabian Giesen 2014-12-13 18:07:00 -08:00
parent 92b9e262b7
commit cdc230598e
1 changed files with 6 additions and 2 deletions

View File

@ -2210,8 +2210,12 @@ static int stbi__parse_huffman_block(stbi__zbuf *a)
zout = a->zout;
}
p = (stbi_uc *) (zout - dist);
while (len--)
*zout++ = *p++;
if (dist == 1) { // run of one byte; common in images.
stbi_uc v = *p;
do *zout++ = v; while (--len);
} else {
do *zout++ = *p++; while (--len);
}
}
}
}