[Ffmpeg-devel] [PATCH] simple internal lzo decoder
Michael Niedermayer
michaelni
Sat Jan 14 18:07:04 CET 2006
Hi
On Sat, Jan 14, 2006 at 04:21:44PM +0100, Reimar D?ffinger wrote:
[...]
> - do {
> - *c->out++ = c->out[-back];
> - } while (--cnt);
> + if (back == 1)
> + memset(c->out, c->out[-1], cnt);
> + else {
> + int blocklen = (cnt > back) ? back : cnt;
> + uint8_t *start = &c->out[-back];
> + while (cnt > blocklen) {
> + memcpy(c->out, start, blocklen);
> + c->out += blocklen;
> + cnt -= blocklen;
> + blocklen <<= 1;
> + }
> + memcpy(c->out, start, cnt);
> + }
> + c->out += cnt;
is that faster then memmove()?
--
Michael
More information about the ffmpeg-devel
mailing list