Mercurial > libavcodec.hg
comparison lcldec.c @ 9782:66922728d7f7 libavcodec
mszh decompression: add a special case for an all-0 mask, i.e. 32 uncompressed
bytes in a row.
About 15% faster mszh_decomp on an Atom N270 for
http://samples.mplayerhq.hu/V-codecs/mszh-zlib/avimzsh_sample.avi
author | reimar |
---|---|
date | Sun, 31 May 2009 18:17:33 +0000 |
parents | 05b6cba2c95b |
children | 21f3bbb20e42 |
comparison
equal
deleted
inserted
replaced
9781:05b6cba2c95b | 9782:66922728d7f7 |
---|---|
100 destptr += cnt; | 100 destptr += cnt; |
101 } | 101 } |
102 maskbit >>= 1; | 102 maskbit >>= 1; |
103 if (!maskbit) { | 103 if (!maskbit) { |
104 mask = *srcptr++; | 104 mask = *srcptr++; |
105 while (!mask) { | |
106 if (destptr_end - destptr < 32 || srcptr_end - srcptr < 32) break; | |
107 memcpy(destptr, srcptr, 32); | |
108 destptr += 32; | |
109 srcptr += 32; | |
110 mask = *srcptr++; | |
111 } | |
105 maskbit = 0x80; | 112 maskbit = 0x80; |
106 } | 113 } |
107 } | 114 } |
108 | 115 |
109 return destptr - destptr_bak; | 116 return destptr - destptr_bak; |