[FFmpeg-cvslog] r19068 - trunk/libavcodec/lcldec.c
reimar
subversion
Sun May 31 20:17:33 CEST 2009
Author: reimar
Date: Sun May 31 20:17:33 2009
New Revision: 19068
Log:
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
Modified:
trunk/libavcodec/lcldec.c
Modified: trunk/libavcodec/lcldec.c
==============================================================================
--- trunk/libavcodec/lcldec.c Sun May 31 19:44:35 2009 (r19067)
+++ trunk/libavcodec/lcldec.c Sun May 31 20:17:33 2009 (r19068)
@@ -102,6 +102,13 @@ static unsigned int mszh_decomp(const un
maskbit >>= 1;
if (!maskbit) {
mask = *srcptr++;
+ while (!mask) {
+ if (destptr_end - destptr < 32 || srcptr_end - srcptr < 32) break;
+ memcpy(destptr, srcptr, 32);
+ destptr += 32;
+ srcptr += 32;
+ mask = *srcptr++;
+ }
maskbit = 0x80;
}
}
More information about the ffmpeg-cvslog
mailing list