line |
true |
false |
branch |
126
|
2 |
0 |
if (attr_bit_count == 1) |
131
|
0 |
0 |
if (attr_bit_count == 8) |
174
|
400 |
400 |
val->rgba.a = (buf[1] & 0x80) ? 0 : 255; |
223
|
200 |
200 |
buf[1] |= val->rgba.a > 0x7f ? 0 : 0x80; |
264
|
86904 |
106495 |
while(i
|
265
|
29883 |
57021 |
if(memcmp(buf+i*bytepp, buf+(i+1)*bytepp, bytepp) == 0) { |
266
|
0 |
29883 |
if (i == length-2) return -1; |
267
|
25987 |
3896 |
if (memcmp(buf+(i+1)*bytepp, buf+(i+2)*bytepp,bytepp) == 0) |
294
|
438247 |
2422 |
while(i
|
295
|
23565 |
414682 |
if(memcmp(buf, buf+(i*bytepp), bytepp) != 0) return i; |
345
|
17 |
0 |
if (header.bitsperpixel != 8) |
351
|
24 |
0 |
if (header.bitsperpixel != 15 && header.bitsperpixel != 16 |
|
22 |
2 |
if (header.bitsperpixel != 15 && header.bitsperpixel != 16 |
352
|
7 |
15 |
&& header.bitsperpixel != 24 && header.bitsperpixel != 32) |
|
6 |
1 |
&& header.bitsperpixel != 24 && header.bitsperpixel != 32) |
362
|
0 |
0 |
if (header.datatypecode != 1 && header.datatypecode != 9) |
|
0 |
0 |
if (header.datatypecode != 1 && header.datatypecode != 9) |
368
|
0 |
18 |
switch (header.colourmapdepth) { |
435
|
900 |
107889 |
if (!s->compressed) { |
436
|
0 |
900 |
if (i_io_read(s->ig, buf, pixels*s->bytepp) != pixels*s->bytepp) return 0; |
440
|
263150 |
107889 |
while(cp < pixels) { |
442
|
131575 |
131575 |
if (s->len == 0) s->state = NoInit; |
445
|
0 |
131575 |
if (i_io_read(s->ig, &s->hdr, 1) != 1) return 0; |
448
|
21876 |
109699 |
s->state = (s->hdr & (1<<7)) ? Rle : Raw; |
455
|
21876 |
109699 |
if (s->state == Rle && i_io_read(s->ig, s->cval, s->bytepp) != s->bytepp) return 0; |
|
0 |
21876 |
if (s->state == Rle && i_io_read(s->ig, s->cval, s->bytepp) != s->bytepp) return 0; |
460
|
796713 |
295139 |
for(k=0; kbytepp; j++) |
|
295139 |
21876 |
for(k=0; kbytepp; j++) |
467
|
0 |
109699 |
if (i_io_read(s->ig, buf+cp*s->bytepp, ml*s->bytepp) != ml*s->bytepp) return 0; |
497
|
150 |
108917 |
if (!s->compressed) { |
498
|
0 |
150 |
if (i_io_write(s->ig, buf, pixels*s->bytepp) != pixels*s->bytepp) return 0; |
502
|
132482 |
2422 |
while(cp < pixels) { |
505
|
106495 |
25987 |
tlen = (nxtrip == -1) ? pixels-cp : nxtrip; |
506
|
113319 |
132482 |
while(tlen) { |
509
|
0 |
113319 |
if (i_io_write(s->ig, &clen, 1) != 1) return 0; |
511
|
0 |
113319 |
if (i_io_write(s->ig, buf+cp*s->bytepp, clen*s->bytepp) != clen*s->bytepp) return 0; |
515
|
106495 |
25987 |
if (cp >= pixels) break; |
517
|
0 |
25987 |
if (tlen <3) continue; |
518
|
26894 |
25987 |
while (tlen) { |
521
|
0 |
26894 |
if (i_io_write(s->ig, &clen, 1) != 1) return 0; |
523
|
0 |
26894 |
if (i_io_write(s->ig, buf+cp*s->bytepp, s->bytepp) != s->bytepp) return 0; |
561
|
1 |
3 |
if (i_io_read(ig, palbuf, palbsize) != palbsize) { |
568
|
230 |
3 |
for(i=0; i
|
570
|
230 |
0 |
i_addcolors(img, &val, 1); |
595
|
7 |
0 |
size_t palbsize = i_colorcount(img)*bytepp; |
598
|
1094 |
7 |
for(i=0; i
|
600
|
1094 |
0 |
i_getcolors(img, i, &val, 1); |
604
|
0 |
7 |
if (i_io_write(ig, palbuf, palbsize) != palbsize) { |
645
|
0 |
26 |
if (i_io_read(ig, &headbuf, 18) != 18) { |
665
|
3 |
23 |
if (header.idlength) { |
668
|
0 |
3 |
if (i_io_read(ig, idstring, header.idlength) != header.idlength) { |
683
|
0 |
0 |
if (idstring) myfree(idstring); |
690
|
0 |
4 |
if (header.bitsperpixel != 8) { |
692
|
0 |
0 |
if (idstring) myfree(idstring); |
699
|
22 |
0 |
if ((src.bytepp = bpp_to_bytes(header.bitsperpixel))) |
702
|
0 |
0 |
if (idstring) myfree(idstring); |
708
|
0 |
0 |
if (idstring) myfree(idstring); |
713
|
0 |
0 |
if (idstring) myfree(idstring); |
732
|
4 |
22 |
if ((channels = bpp_to_channels(mapped ? |
|
26 |
0 |
if ((channels = bpp_to_channels(mapped ? |
737
|
0 |
0 |
if (idstring) myfree(idstring); |
750
|
3 |
23 |
if (!i_int_check_image_file_limits(width, height, channels, |
757
|
4 |
19 |
i_img_pal_new(width, height, channels, 256) : |
760
|
0 |
23 |
if (!img) { |
761
|
0 |
0 |
if (idstring) |
766
|
3 |
20 |
if (idstring) { |
778
|
1 |
0 |
if (img) i_img_destroy(img); |
786
|
19 |
3 |
if (!mapped) linebuf = mymalloc(width*sizeof(i_color)); |
788
|
108789 |
22 |
for(y=0; y
|
789
|
0 |
108789 |
if (!tga_source_read(&src, databuf, width)) { |
791
|
0 |
0 |
if (linebuf) myfree(linebuf); |
793
|
0 |
0 |
if (img) i_img_destroy(img); |
796
|
450 |
108339 |
if (mapped && header.colourmaporigin) for(x=0; x
|
|
0 |
450 |
if (mapped && header.colourmaporigin) for(x=0; x
|
|
0 |
0 |
if (mapped && header.colourmaporigin) for(x=0; x
|
797
|
450 |
108339 |
if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf); |
|
450 |
0 |
if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf); |
|
0 |
450 |
if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf); |
799
|
483794 |
108339 |
for(x=0; x
|
800
|
0 |
108339 |
i_plin(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, linebuf); |
804
|
19 |
3 |
if (linebuf) myfree(linebuf); |
807
|
3 |
19 |
i_tags_addn(&img->tags, "tga_bitspp", 0, mapped?header.colourmapdepth:header.bitsperpixel); |
808
|
16 |
6 |
if (src.compressed) i_tags_addn(&img->tags, "compressed", 0, 1); |
853
|
25 |
1 |
if (img->xsize > TGA_MAX_DIM || img->ysize > TGA_MAX_DIM) { |
|
1 |
24 |
if (img->xsize > TGA_MAX_DIM || img->ysize > TGA_MAX_DIM) { |
861
|
0 |
0 |
if (wierdpack) { |
871
|
4 |
18 |
bitspp = wierdpack ? 15 : 24; |
874
|
1 |
0 |
bitspp = wierdpack ? 16 : 32; |
875
|
1 |
0 |
attr_bits = wierdpack ? 1 : 8; |
884
|
16 |
7 |
header.datatypecode = mapped ? 1 : img->channels == 1 ? 3 : 2; |
|
0 |
16 |
header.datatypecode = mapped ? 1 : img->channels == 1 ? 3 : 2; |
885
|
20 |
3 |
header.datatypecode += compress ? 8 : 0; |
888
|
7 |
16 |
header.colourmaplength = mapped ? i_colorcount(img) : 0; |
|
7 |
0 |
header.colourmaplength = mapped ? i_colorcount(img) : 0; |
889
|
7 |
16 |
header.colourmapdepth = mapped ? bitspp : 0; |
894
|
16 |
7 |
header.bitsperpixel = mapped ? 8 : bitspp; |
899
|
0 |
23 |
if (i_io_write(ig, &headbuf, sizeof(headbuf)) != sizeof(headbuf)) { |
904
|
2 |
21 |
if (idlen) { |
905
|
0 |
2 |
if (i_io_write(ig, idstring, idlen) != idlen) { |
913
|
16 |
7 |
dest.bytepp = mapped ? 1 : bpp_to_bytes(bitspp); |
919
|
7 |
16 |
if (img->type == i_palette_type) { |
920
|
7 |
0 |
if (!tga_palette_write(ig, img, bitspp, i_colorcount(img))) return 0; |
|
0 |
7 |
if (!tga_palette_write(ig, img, bitspp, i_colorcount(img))) return 0; |
922
|
7 |
0 |
if (!i_img_virtual(img) && !dest.compressed) { |
|
2 |
5 |
if (!i_img_virtual(img) && !dest.compressed) { |
923
|
0 |
2 |
if (i_io_write(ig, img->idata, img->bytes) != img->bytes) { |
930
|
750 |
5 |
for(y=0; yysize; y++) { |
931
|
750 |
0 |
i_gpal(img, 0, img->xsize, y, vals); |
938
|
13 |
3 |
size_t bytepp = wierdpack ? 2 : bpp_to_bytes(bitspp); |
943
|
108317 |
16 |
for(y=0; yysize; y++) { |
945
|
495990 |
108317 |
for(x=0; xxsize; x++) color_pack(buf+x*bytepp, bitspp, vals+x); |
952
|
1 |
22 |
if (i_io_close(ig)) |