mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2025-02-18 19:10:21 +00:00
remove code_prefix variable, no speed change
Originally committed as revision 8700 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
adf6640c8c
commit
0ddfb84d6d
@ -220,29 +220,27 @@ void ff_lzw_encode_init(LZWEncodeState * s, uint8_t * outbuf, int outsize, int m
|
|||||||
int ff_lzw_encode(LZWEncodeState * s, const uint8_t * inbuf, int insize)
|
int ff_lzw_encode(LZWEncodeState * s, const uint8_t * inbuf, int insize)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int code_prefix = s->last_code;
|
|
||||||
|
|
||||||
if(insize * 3 > (s->bufsize - s->output_bytes) * 2){
|
if(insize * 3 > (s->bufsize - s->output_bytes) * 2){
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (code_prefix == LZW_PREFIX_EMPTY)
|
if (s->last_code == LZW_PREFIX_EMPTY)
|
||||||
clearTable(s);
|
clearTable(s);
|
||||||
|
|
||||||
for (i = 0; i < insize; i++) {
|
for (i = 0; i < insize; i++) {
|
||||||
uint8_t c = *inbuf++;
|
uint8_t c = *inbuf++;
|
||||||
int code = findCode(s, c, code_prefix);
|
int code = findCode(s, c, s->last_code);
|
||||||
if (s->tab[code].hash_prefix == LZW_PREFIX_FREE) {
|
if (s->tab[code].hash_prefix == LZW_PREFIX_FREE) {
|
||||||
writeCode(s, code_prefix);
|
writeCode(s, s->last_code);
|
||||||
addCode(s, c, code_prefix, code);
|
addCode(s, c, s->last_code, code);
|
||||||
code= hash(0, c);
|
code= hash(0, c);
|
||||||
}
|
}
|
||||||
code_prefix = s->tab[code].code;
|
s->last_code = s->tab[code].code;
|
||||||
if (s->tabsize >= s->maxcode - 1) {
|
if (s->tabsize >= s->maxcode - 1) {
|
||||||
clearTable(s);
|
clearTable(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s->last_code = code_prefix;
|
|
||||||
|
|
||||||
return writtenBytes(s);
|
return writtenBytes(s);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user