33 0x47, 0x49, 0x46, 0x38, 0x37, 0x61, 0x03, 0x00, 0x03, 0x00, 0xe3, 0x08,
34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00,
35 0xff, 0x80, 0x80, 0x80, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
36 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38 0xff, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x04,
39 0x07, 0x50, 0x1c, 0x43, 0x40, 0x41, 0x23, 0x44, 0x00, 0x3b
44 0x47, 0x49, 0x46, 0x38, 0x39, 0x61,
46 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
48 0x21, 0xf9, 0x04, 0x01, 0x0a, 0x00, 0x01, 0x00,
50 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
52 0x02, 0x02, 0x4c, 0x01, 0x00,
58 0x47, 0x49, 0x46, 0x38, 0x37, 0x61, 0x09, 0x00, 0x09, 0x00, 0xe3, 0x08, 0x00,
59 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x80,
60 0x80, 0x80, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff,
61 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
62 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2c, 0x00, 0x00, 0x00,
63 0x00, 0x09, 0x00, 0x09, 0x00, 0x40, 0x04, 0x1b, 0x50, 0x1c, 0x23, 0xe9, 0x44,
64 0x23, 0x60, 0x9d, 0x09, 0x28, 0x1e, 0xf8, 0x6d, 0x64, 0x56, 0x9d, 0x53, 0xa8,
65 0x7e, 0xa8, 0x65, 0x94, 0x5c, 0xb0, 0x8a, 0x45, 0x04, 0x00, 0x3b
467 const char* path =
"images/gif-transparent-index.gif";
470 ERRORF(r,
"failed to find %s", path);
476 ERRORF(r,
"Could not create codec from %s", path);
481 if ((
info.width() != 4) || (
info.height() != 2) || (codec->getFrameInfo().size() != 2)) {
482 ERRORF(r,
"Unexpected image info");
486 for (
bool use565 : {
false,
true }) {
490 for (
int i = 0; i < 2; i++) {
498 SkColor expectedPixels[2][4] = {
499 { 0xFF800000, 0xFF900000, 0xFFA00000, 0xFFB00000 },
500 { 0xFFC00000, 0xFFD00000, 0xFFE00000, 0xFFF00000 },
505 expectedPixels[0][0] = 0xFF840000;
506 expectedPixels[0][1] = 0xFF940000;
507 expectedPixels[0][2] = 0xFFA50000;
508 expectedPixels[0][3] = 0xFFB50000;
509 expectedPixels[1][0] = 0xFFC60000;
510 expectedPixels[1][1] = 0xFFD60000;
511 expectedPixels[1][2] = 0xFFE70000;
512 expectedPixels[1][3] = 0xFFF70000;
520 expectedPixels[1][1] = use565 ? 0xFF0000FF : 0xFF0000FF;
521 expectedPixels[1][3] = use565 ? 0xFF000052 : 0xFF000055;
524 for (
int y = 0;
y < 2;
y++) {
525 for (
int x = 0;
x < 4;
x++) {
526 auto expected = expectedPixels[
y][
x];
529 "use565 %i, frame %i, pixel (%i,%i) "
530 "mismatch! expected: %x actual: %x",
531 (
int)use565, i,
x,
y, expected, actual);