From 8da4de706f07803f3292520e6ea93218c500f836 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Sun, 10 Jul 2011 11:52:04 -0700 Subject: [PATCH 1/2] add bitmap tests --- cunit/test_bitmap.c | 161 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 160 insertions(+), 1 deletion(-) diff --git a/cunit/test_bitmap.c b/cunit/test_bitmap.c index 504a5a6df..8a78d0358 100644 --- a/cunit/test_bitmap.c +++ b/cunit/test_bitmap.c @@ -23,6 +23,140 @@ #include "test_bitmap.h" +uint8 compressed_16x1x8[] = +{ +0x10 +}; + +uint8 decompressed_16x1x8[] = +{ +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +uint8 compressed_32x32x8[] = +{ +0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, +0xec, 0x6c, 0x0e, 0x0e, 0x44, 0x0e, 0x0e, 0x0e, 0x13, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, +0xed, 0x06, 0x06, 0x06, 0x00, 0x00, 0xe4, 0x04, 0x06, 0x8e, 0x60, 0x0e, 0x60, 0x8c, 0xb4, 0xb5, +0xdc, 0xdc, 0xbb, 0xb4, 0x8c, 0x66, 0x0b, 0x6c, 0xe4, 0x04, 0x06, 0x02, 0x8b, 0x06, 0x06, 0xed, +0x06, 0xed, 0x06, 0xf8, 0x0e, 0x66, 0xb4, 0xdc, 0x68, 0xe2, 0x97, 0xdd, 0xb4, 0xa7, 0x16, 0x06, +0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0x00, 0x00, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x0b, 0xae, +0xdc, 0xe9, 0x6a, 0xdc, 0x96, 0xe9, 0xe9, 0xb4, 0x0e, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x00, +0x00, 0x06, 0x06, 0xed, 0x06, 0x06, 0x0e, 0xae, 0xdc, 0xdb, 0xdb, 0xd0, 0x09, 0x07, 0xcf, 0x03, +0x95, 0xdb, 0xdb, 0xdc, 0xb4, 0x66, 0x6c, 0xed, 0x06, 0x06, 0x06, 0x00, 0x00, 0x04, 0x06, 0x04, +0x06, 0x0b, 0xae, 0xdb, 0xd4, 0xd5, 0x6c, 0xdb, 0x80, 0xaf, 0xd5, 0xd4, 0xdb, 0xb4, 0x66, 0x04, +0x06, 0x04, 0x06, 0x00, 0x00, 0xed, 0x06, 0xed, 0x66, 0xae, 0xd5, 0xad, 0xd4, 0xd4, 0xd5, 0xd5, +0xd5, 0xdb, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xd5, 0xd5, 0xd5, 0xd4, 0xd4, 0xad, 0xd5, 0xb4, 0x0e, +0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x06, 0x60, 0xa7, 0xb4, 0xad, 0xad, 0xad, 0xb3, 0xb3, 0xd4, +0xd4, 0xb3, 0x8c, 0xb6, 0x07, 0xb6, 0x8c, 0xb3, 0xd4, 0xb3, 0xb3, 0xad, 0xad, 0xad, 0xb4, 0xad, +0x66, 0x00, 0x06, 0x00, 0x00, 0x06, 0x06, 0x66, 0xae, 0xad, 0x8b, 0xad, 0xad, 0xad, 0xad, 0xad, +0xb3, 0xad, 0xb5, 0x07, 0x07, 0x07, 0xf0, 0x8b, 0xad, 0xad, 0xad, 0xad, 0xad, 0x8b, 0xa7, 0xae, +0xa7, 0x6c, 0x06, 0x00, 0x00, 0x04, 0x6c, 0xa7, 0xad, 0xa7, 0xa7, 0x8b, 0xad, 0xad, 0xad, 0xad, +0xad, 0xad, 0xb5, 0xbd, 0xbd, 0xbd, 0xbd, 0xf0, 0x8b, 0x8b, 0xad, 0x8b, 0x8b, 0xa7, 0xa7, 0xc8, +0xc8, 0x60, 0x06, 0x00, 0x00, 0x06, 0x66, 0xc8, 0xa7, 0x66, 0xa7, 0xa7, 0x8b, 0x8b, 0x8b, 0x8b, +0xad, 0x8b, 0x92, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0x07, 0xa7, 0xa7, 0x8b, 0xa7, 0xa7, 0x66, 0x66, +0xc8, 0x66, 0x06, 0x00, 0x00, 0x00, 0x60, 0xa7, 0x66, 0x66, 0x66, 0xa7, 0xa7, 0xa7, 0xa7, 0x8b, +0x8b, 0x8b, 0xa7, 0xb6, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0x07, 0x66, 0xa7, 0xa7, 0x66, 0x66, 0x66, +0xa7, 0xa7, 0x6c, 0x00, 0x00, 0x6c, 0x04, 0xa7, 0x60, 0x6b, 0x66, 0x99, 0xb6, 0xf5, 0xf5, 0xf5, +0xf5, 0xf5, 0xef, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xa7, 0x66, 0x00, 0x00, 0x60, 0xa7, 0x66, +0x60, 0x66, 0x66, 0x8c, 0xf1, 0x6e, 0xff, 0x85, 0xbd, 0x66, 0x66, 0x66, 0x60, 0x05, 0x87, 0x13, +0x04, 0x66, 0x66, 0x66, 0x66, 0xf4, 0x70, 0xff, 0x84, 0xbd, 0x66, 0x66, 0x66, 0x05, 0x85, 0x0b, +0xa7, 0xb5, 0xae, 0x8c, 0xd0, 0x13, 0xc1, 0x01, 0x00, 0x08, 0x8e, 0x8c, 0xae, 0xb5, 0xae, 0x66, +0x00, 0x00, 0x6c, 0xae, 0xbc, 0xb5, 0xb5, 0xae, 0xb5, 0xd0, 0x0e, 0x0c, 0x01, 0x00, 0x90, 0xf2, +0xae, 0xae, 0xb5, 0xb5, 0xbc, 0xb5, 0x66, 0x00, 0x00, 0x04, 0xae, 0x0a, 0xb5, 0xb5, 0xb5, 0x68, +0xae, 0x82, 0x8c, 0x0a, 0x05, 0x8c, 0xf2, 0xae, 0xae, 0xb5, 0xb5, 0xb5, 0xbc, 0xb5, 0x6c, 0x00, +0x00, 0x06, 0x05, 0x81, 0xd0, 0x06, 0x9a, 0x8c, 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, +0xae, 0xd0, 0xb5, 0xb5, 0xb5, 0x0a, 0xb5, 0x6c, 0x00, 0x00, 0x00, 0x8b, 0x0a, 0xbc, 0xb5, 0xb5, +0xb5, 0x06, 0x9b, 0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xae, 0xb5, 0xb5, 0xb5, +0xb6, 0x0a, 0x8c, 0x06, 0x00, 0x00, 0x06, 0x6c, 0xb5, 0x0a, 0xb6, 0xb5, 0xb5, 0xb5, 0x05, 0x80, +0x7d, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xae, 0xb5, 0xb5, 0xb5, 0xb6, 0x0a, 0x0a, +0x8b, 0x06, 0x00, 0x00, 0x04, 0x06, 0x87, 0x0a, 0xbc, 0xb6, 0xb5, 0xb5, 0xb5, 0xd0, 0xae, 0xae, +0xae, 0xb6, 0xff, 0xff, 0xff, 0xf2, 0xd0, 0xae, 0xd0, 0xb5, 0xb5, 0xb5, 0xb6, 0xbc, 0x1a, 0xb5, +0x04, 0x06, 0x00, 0x00, 0xed, 0x06, 0x6e, 0xb5, 0x0a, 0xbc, 0xb6, 0xb5, 0xb5, 0xb5, 0xd0, 0xd0, +0xd0, 0xb5, 0xf4, 0xff, 0xf2, 0xd0, 0xd0, 0xd0, 0xb5, 0xb5, 0xb5, 0xb6, 0xbc, 0x0a, 0x0a, 0x8b, +0x06, 0x06, 0x00, 0x00, 0x00, 0x06, 0x04, 0x8b, 0xbc, 0x1a, 0x0a, 0xb6, 0xb6, 0xb5, 0xb5, 0xb5, +0xb5, 0xb5, 0xd0, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb6, 0xb6, 0x0a, 0xde, 0x0a, 0xa7, 0x06, +0x00, 0x06, 0x00, 0x00, 0x06, 0x06, 0xed, 0x06, 0x8b, 0xbc, 0xf2, 0x0a, 0xb6, 0xb6, 0xb6, 0xb6, +0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb6, 0xb6, 0xb6, 0xb6, 0x0a, 0xf2, 0x1a, 0x8c, 0xec, 0x06, +0x06, 0x06, 0x00, 0x00, 0x04, 0x06, 0x04, 0x06, 0x04, 0xa7, 0xbc, 0x1a, 0x0a, 0x0a, 0x6a, 0xb6, +0x96, 0x0a, 0x0a, 0xf2, 0x0a, 0x87, 0x06, 0x04, 0x06, 0x04, 0x06, 0x00, 0x00, 0x06, 0x06, 0xed, +0x06, 0xed, 0x06, 0x8c, 0xb6, 0xf4, 0xf2, 0xd0, 0x09, 0xbc, 0x87, 0x03, 0x80, 0x2c, 0xde, 0xf4, +0x0a, 0x8b, 0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0x00, 0x00, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, +0x04, 0x6c, 0x87, 0x0a, 0xf4, 0xf4, 0xf2, 0xde, 0xbd, 0xbd, 0xde, 0xf2, 0xf4, 0xf4, 0x0a, 0xd0, +0x04, 0x06, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x00, 0x00, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, +0xed, 0x06, 0x06, 0x6c, 0x8c, 0xb5, 0xbc, 0x0a, 0xde, 0xf2, 0xbd, 0x0a, 0xb5, 0x8c, 0x6c, 0x06, +0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0x00, 0x00, 0xe6, 0x04, 0x06, 0x86, 0x04, 0x6c, +0x04, 0x8b, 0x04, 0x6c, 0xe6, 0x04, 0x06, 0x82, 0x00, 0x00 +}; + +uint8 decompressed_32x32x8[] = +{ +0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x6c, 0x04, 0x8b, +0x04, 0x6c, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x6c, 0x8c, 0xb5, 0xbc, 0x0a, 0xde, 0xf2, +0xbd, 0x0a, 0xb5, 0x8c, 0x6c, 0x06, 0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0x00, 0x00, +0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x04, 0x6c, 0x87, 0x0a, 0xf4, 0xf4, 0xf2, 0xde, 0xbd, 0xbd, +0xde, 0xf2, 0xf4, 0xf4, 0x0a, 0xd0, 0x04, 0x06, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0x8c, 0xb6, 0xf4, 0xf2, 0x0a, 0x0a, 0x0a, 0xb6, 0xb6, 0xb6, +0xb6, 0x0a, 0x0a, 0x0a, 0xde, 0xf4, 0x0a, 0x8b, 0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0x00, 0x00, +0x04, 0x06, 0x04, 0x06, 0x04, 0xa7, 0xbc, 0x1a, 0x0a, 0x0a, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, +0xb6, 0xb6, 0xb6, 0xb6, 0x0a, 0x0a, 0xf2, 0x0a, 0x87, 0x06, 0x04, 0x06, 0x04, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0x8b, 0xbc, 0xf2, 0x0a, 0xb6, 0xb6, 0xb6, 0xb6, 0xb5, 0xb5, 0xb5, 0xb5, +0xb5, 0xb5, 0xb6, 0xb6, 0xb6, 0xb6, 0x0a, 0xf2, 0x1a, 0x8c, 0xec, 0x06, 0x06, 0x06, 0x00, 0x00, +0x00, 0x06, 0x04, 0x8b, 0xbc, 0x1a, 0x0a, 0xb6, 0xb6, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xd0, 0xb5, +0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb6, 0xb6, 0x0a, 0xde, 0x0a, 0xa7, 0x06, 0x00, 0x06, 0x00, 0x00, +0xed, 0x06, 0x6e, 0xb5, 0x0a, 0xbc, 0xb6, 0xb5, 0xb5, 0xb5, 0xd0, 0xd0, 0xd0, 0xb5, 0xf4, 0xff, +0xf2, 0xd0, 0xd0, 0xd0, 0xb5, 0xb5, 0xb5, 0xb6, 0xbc, 0x0a, 0x0a, 0x8b, 0x06, 0x06, 0x00, 0x00, +0x04, 0x06, 0x87, 0x0a, 0xbc, 0xb6, 0xb5, 0xb5, 0xb5, 0xd0, 0xae, 0xae, 0xae, 0xb6, 0xff, 0xff, +0xff, 0xf2, 0xd0, 0xae, 0xd0, 0xb5, 0xb5, 0xb5, 0xb6, 0xbc, 0x1a, 0xb5, 0x04, 0x06, 0x00, 0x00, +0x06, 0x6c, 0xb5, 0x0a, 0xb6, 0xb5, 0xb5, 0xb5, 0xae, 0xae, 0xae, 0xae, 0xae, 0xbc, 0xff, 0xff, +0xff, 0xff, 0xf2, 0xae, 0xae, 0xae, 0xb5, 0xb5, 0xb5, 0xb6, 0x0a, 0x0a, 0x8b, 0x06, 0x00, 0x00, +0x00, 0x8b, 0x0a, 0xbc, 0xb5, 0xb5, 0xb5, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xb6, 0xff, 0xff, +0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xae, 0xb5, 0xb5, 0xb5, 0xb6, 0x0a, 0x8c, 0x06, 0x00, 0x00, +0x06, 0xae, 0x0a, 0xb5, 0xb5, 0xb5, 0xd0, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0x8c, 0x0a, 0xff, +0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xd0, 0xb5, 0xb5, 0xb5, 0x0a, 0xb5, 0x6c, 0x00, 0x00, +0x04, 0xae, 0x0a, 0xb5, 0xb5, 0xb5, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0x8c, 0x0a, +0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xb5, 0xb5, 0xb5, 0xbc, 0xb5, 0x6c, 0x00, 0x00, +0x6c, 0xae, 0xbc, 0xb5, 0xb5, 0xae, 0xb5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xae, 0xae, 0xb5, 0xb5, 0xbc, 0xb5, 0x66, 0x00, 0x00, +0x0b, 0xa7, 0xb5, 0xae, 0x8c, 0xa7, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xa7, 0x8c, 0xae, 0xb5, 0xae, 0x66, 0x00, 0x00, +0x13, 0x04, 0x66, 0x66, 0x66, 0x66, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0x66, 0x66, 0x66, 0x66, 0xa7, 0x66, 0x00, 0x00, +0x60, 0xa7, 0x66, 0x60, 0x66, 0x66, 0x8c, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, +0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0x66, 0x66, 0x66, 0x60, 0x66, 0xa7, 0x66, 0x00, 0x00, +0x6c, 0x04, 0xa7, 0x60, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xb6, +0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xef, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xa7, 0x66, 0x00, 0x00, +0x00, 0x60, 0xa7, 0x66, 0x66, 0x66, 0xa7, 0xa7, 0xa7, 0xa7, 0x8b, 0x8b, 0x8b, 0xa7, 0xb6, 0xf3, +0xf3, 0xf3, 0xf3, 0xf3, 0x07, 0x66, 0xa7, 0xa7, 0x66, 0x66, 0x66, 0xa7, 0xa7, 0x6c, 0x00, 0x00, +0x06, 0x66, 0xc8, 0xa7, 0x66, 0xa7, 0xa7, 0x8b, 0x8b, 0x8b, 0x8b, 0xad, 0x8b, 0x92, 0xf1, 0xf1, +0xf1, 0xf1, 0xf2, 0x07, 0xa7, 0xa7, 0x8b, 0xa7, 0xa7, 0x66, 0x66, 0xc8, 0x66, 0x06, 0x00, 0x00, +0x04, 0x6c, 0xa7, 0xad, 0xa7, 0xa7, 0x8b, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xb5, 0xbd, 0xbd, +0xbd, 0xbd, 0xf0, 0x8b, 0x8b, 0xad, 0x8b, 0x8b, 0xa7, 0xa7, 0xc8, 0xc8, 0x60, 0x06, 0x00, 0x00, +0x06, 0x06, 0x66, 0xae, 0xad, 0x8b, 0xad, 0xad, 0xad, 0xad, 0xad, 0xb3, 0xad, 0xb5, 0x07, 0x07, +0x07, 0xf0, 0x8b, 0xad, 0xad, 0xad, 0xad, 0xad, 0x8b, 0xa7, 0xae, 0xa7, 0x6c, 0x06, 0x00, 0x00, +0x00, 0x06, 0x60, 0xa7, 0xb4, 0xad, 0xad, 0xad, 0xb3, 0xb3, 0xd4, 0xd4, 0xb3, 0x8c, 0xb6, 0x07, +0xb6, 0x8c, 0xb3, 0xd4, 0xb3, 0xb3, 0xad, 0xad, 0xad, 0xb4, 0xad, 0x66, 0x00, 0x06, 0x00, 0x00, +0xed, 0x06, 0xed, 0x66, 0xae, 0xd5, 0xad, 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xdb, 0xb4, 0xb4, 0xb4, +0xb4, 0xb4, 0xd5, 0xd5, 0xd5, 0xd4, 0xd4, 0xad, 0xd5, 0xb4, 0x0e, 0x06, 0x06, 0x06, 0x00, 0x00, +0x04, 0x06, 0x04, 0x06, 0x0b, 0xae, 0xdb, 0xd4, 0xd5, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, +0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xd5, 0xd4, 0xdb, 0xb4, 0x66, 0x04, 0x06, 0x04, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0x06, 0x0e, 0xae, 0xdc, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, +0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xb4, 0x66, 0x6c, 0xed, 0x06, 0x06, 0x06, 0x00, 0x00, +0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x0b, 0xae, 0xdc, 0xe9, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, +0xdc, 0xdc, 0xdc, 0xdc, 0xe9, 0xe9, 0xb4, 0x0e, 0x00, 0x06, 0x04, 0x06, 0x00, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0xf8, 0x0e, 0x66, 0xb4, 0xdc, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, +0xe2, 0xe2, 0xe2, 0xdd, 0xb4, 0xa7, 0x16, 0x06, 0x06, 0x06, 0xed, 0x06, 0xed, 0x06, 0x00, 0x00, +0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x60, 0x0e, 0x60, 0x8c, 0xb4, 0xb5, 0xdc, 0xdc, +0xbb, 0xb4, 0x8c, 0x66, 0x0b, 0x6c, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x00, 0x00, +0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0xec, 0x6c, 0x0e, 0x0e, 0x44, 0x0e, +0x0e, 0x0e, 0x13, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0xed, 0x06, 0x06, 0x06, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + int init_bitmap_suite(void) { return 0; @@ -44,6 +178,31 @@ int add_bitmap_suite(void) void test_bitmap(void) { + uint8 ldecompressed_16x1x8[16 * 1 * 1]; + uint8 ldecompressed_32x32x8[32 * 32 * 1]; + int width; + int height; + int comp_size; + int decomp_size; + int bpp; + width = 16; + height = 1; + bpp = 8; + comp_size = sizeof(compressed_16x1x8); + decomp_size = sizeof(decompressed_16x1x8); + CU_ASSERT(bitmap_decompress(0, ldecompressed_16x1x8, width, height, + compressed_16x1x8, comp_size, bpp, bpp) == 0); + CU_ASSERT(memcmp(ldecompressed_16x1x8, decompressed_16x1x8, + decomp_size) == 0); + + width = 32; + height = 32; + bpp = 8; + comp_size = sizeof(compressed_32x32x8); + decomp_size = sizeof(decompressed_32x32x8); + CU_ASSERT(bitmap_decompress(0, ldecompressed_32x32x8, width, height, + compressed_32x32x8, comp_size, bpp, bpp) == 0); + CU_ASSERT(memcmp(ldecompressed_32x32x8, decompressed_32x32x8, + decomp_size) == 0); } - From eb6fa4df245c30c769ce91e4a201f9f6eb2cea4c Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Sun, 10 Jul 2011 11:52:55 -0700 Subject: [PATCH 2/2] fix error caught by cunit test --- libfreerdp-core/bitmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libfreerdp-core/bitmap.c b/libfreerdp-core/bitmap.c index 2f77386fd..c15c01cf8 100644 --- a/libfreerdp-core/bitmap.c +++ b/libfreerdp-core/bitmap.c @@ -428,21 +428,21 @@ int bitmap_decompress(void* inst, uint8* output, int width, int height, else if (in_bpp == 15 && out_bpp == 15) { data = (uint8*)xmalloc(width * height * 2); - RleDecompress16to16(input, size, output, width * 2, width, height); + RleDecompress16to16(input, size, data, width * 2, width, height); bitmap_flip(data, output, width * 2, height); xfree(data); } else if (in_bpp == 8 && out_bpp == 8) { data = (uint8*)xmalloc(width * height); - RleDecompress8to8(input, size, output, width, width, height); + RleDecompress8to8(input, size, data, width, width, height); bitmap_flip(data, output, width, height); xfree(data); } else if (in_bpp == 24 && out_bpp == 24) { data = (uint8*)xmalloc(width * height * 3); - RleDecompress24to24(input, size, output, width * 3, width, height); + RleDecompress24to24(input, size, data, width * 3, width, height); bitmap_flip(data, output, width * 3, height); xfree(data); }