Andreas Kling
|
796bc56a13
|
PNGLoader: Reduce unfiltering branchiness even more.
Use a dummy scanline for y=0 filled with all zeroes to avoid having to check
y on every iteration before grabbing color data from scanline[y - 1].
|
2019-03-21 16:55:31 +01:00 |
|
Andreas Kling
|
cd1afde48c
|
PNGLoader: Templatize the unfiltering functions to reduce branchiness.
This also allows us to dodge processing alpha values in non-alpha PNGs
without a branch.
|
2019-03-21 16:45:04 +01:00 |
|
Andreas Kling
|
cfc521d57e
|
PNGLoader: Reorganize the unfiltering code to make it easier to work with.
|
2019-03-21 16:19:11 +01:00 |
|
Andreas Kling
|
fe25f957e5
|
PNGLoader: Allocate enough space for the compressed data buffer up front.
This is a 2x speedup on wallpaper loading.
|
2019-03-21 14:08:14 +01:00 |
|
Andreas Kling
|
332b5a96f6
|
PNGLoader: Remove a bunch of unnecessary data copying.
Use ByteBuffer::wrap() to avoid copying buffers around a bit. This is about
a 10% speedup on loading a wallpaper-type PNG.
|
2019-03-21 13:58:40 +01:00 |
|
Andreas Kling
|
65348e7dc1
|
PNGLoader: Support for color type 2 (RGB triplets) and multiple IDAT chunks.
|
2019-03-21 05:25:54 +01:00 |
|
Andreas Kling
|
42755e98cf
|
SharedGraphics: Implement a simple PNG decoder.
This is extremely unoptimized, but it does successfully load "folder32.png"
so it must be at least somewhat correct. :^)
|
2019-03-21 03:57:42 +01:00 |
|